劉昊承
(北京郵電大學計算機學院 北京 100876)
隨著移動互聯網融入到各行各業中,對應用程序的需求量不斷增加。傳統的應用程序開發模式主要采用 C/S模式、B/S模式,C/S模式是采用客戶端到服務端模式主要應用到客戶端要求較高的程序,該模式存在缺陷是維護成本高、系統兼容性難解決問題;B/S模式是一種瀏覽器到服務端的模式,由于具有較高的兼容性,被廣泛應用到應用程序開發中,調查數據表明由于瀏覽器前端技術的不斷更新,目前開發陣營由傳統的C/S模式轉向B/S模式,B/S模式中MVC框架為開發提供了更有效的工具。
當前有關MVC模型應用研究較多,針對傳統的雷達管理系統采用C/S模式,存在靈活性差、開放受限制、數據識別度不高問題,使用MVC模式結合Java編程語言進行了移動端雷達管理系統設計。所設計的系統能夠進行雷達頻信號采集、存儲、移動終端查看。系統關鍵技術為基于強回波定位算法以及百度天氣API,實現了數據識別中核心環節數據采集。針對大面積水產養殖環環境監測指標多,而現有的監測設備不能滿足多指標遠距離監測問題。提出基于LoRa無線通信的水產養殖監測系統。該系統運行于Linux系統上,系統開發使用Java編程語言利用SpringMVC框架,使用HiBernate數據庫進行數據存儲,最終解決了動態監測中數據傳輸長的問題?,F有系統中利用MVC框架大大提高了軟件開發效率,然而有關如何應用MVC模式進行Web應用程序開發相關報道文件較少,本文針對這一問題進行詳細研究。
MVC是“Model-View-Controller”簡稱,中文為“模型—視圖—控制器”,是由模型、視圖、控制器組成。MVC封裝了核心流程、業務流程,將復雜的功能轉換為界面層、業務邏輯層、數據層,這樣方便了界面的輸入輸出。視圖層是用戶能夠使用的界面,向用戶展示數據、用戶添加數據等操作,該過程中不接受更深層業務數據分析。按照模型層的構建,可知相同的信息可對應多個視圖層??刂破髦胸撠熡脩舻男袨椋钦{用用戶數據與視圖之間的中間層。界面中每個用戶有多個請求,第一步完成控制器接收并進行模型處理,接著根據業務邏輯請求進行數據返回,最終控制根據用戶業務邏輯需求進行控制。圖1為MVC模式結構。

圖1:MVC模式結構圖
由圖1可知MVC模式中模型、控制器、視圖之間相互分離、相互關聯,一個模型可對應多個視圖。在開發過程中如果某個功能發生變化視圖的控制器出現了更改,會導致視圖層發生變化。
MVC優點:MVC能夠實現一個模型構建多個視圖,這樣提高了代碼重復利用效率。在開發過程中用戶功能需要調整時,只需調成模型層中功能模塊,即可完成視圖層相關功能開發,大大提高了開發效率。模型層、控制器、視圖層之間層次分明、結構清晰,這樣讓開發者專注特定的功能,為系統開發擴展性、維護性提供了便利。MVC中控制器可進行業務對象請求控制,這樣提高了應用程序靈活性。
MVC缺點:使用MVC進行應用程序開發,增加了系統的難度、復雜性。業務功能簡單的應用程序使用該模式后增加了系統結構復雜性,過多的頁面交互降低了運行效率。MVC理論上實現了視圖層和控制器分離,但實際開發中很難做到這點。視圖層與控制器即分離也相互關聯,如果視圖層沒有控制器則所開發的應用受到限制,實際中受到模型層接口設計影響,導致頻繁調用視圖層才可實現界面顯示。MVC設計面比較廣,入學者需要花費大量的時間才能獨立設計,增加了學習成本。
Java編程語言是面向對象編程語言,是由sun公司1995年設計的一款編程語言,具有簡單、分布式、安全性高、跨平臺等優點,可用于桌面應用程序、Web程序、嵌入式程序等開發。與C++編程語言相比,他具有簡單、垃圾回收機制、安全性等優點。目前最新的Java版本是Java8.0,Java的編程環境為JDK,是Java核心模塊。此外JavaAPI類庫中還提供了JRE,該模塊是一個運行環境,使用該模塊后無需安裝JDK。Java編程常見的開發工具有Eclipse(開源平臺)、netbeans(開源平臺,進行客戶機和Web程序開發)、MyEclipse(主流Java應用程序開發環境)。

圖2:設備管理類

表1:為設備管理系統數據表結構
Java開發中主要是以.jsp腳本進行運行,該腳本語言能夠跨平臺運行,相比Asp.net、Asp、PHP腳本語言具有更廣的應用領域。MVC技術在jsp設計中的應用包括系統功能需求分析、模型組件設計、視圖層設計以及控制器設計。系統應用需求分析可采用UML建模技術進行Web應用程序功能需求分析,包括功能需求分析和非功能需求分析;模型組件設計主要是進行業務層、數據層封裝管理,該層中提供了內核數據管理以及接口管理,按照Java類設計要求進行類封裝實現多次利用管理。視圖設計是向用戶展示界面,從系統數據庫中獲取數據后,顯示在前端界面。根據Java開發者編寫的后端管理.jsp頁面進行界面顯示。控制器的設計作用是接收相應的請求并進行數據反饋。根據Java編程語言提供的.java將設計的控制方法存入到該文件中,這樣實現控制管理。為了控制管理提高程序自由度,在jsp文件中每個.jsp頁面都有.java文件相對應這樣滿足了控制層的要求。
基于Java來發的Web應用程序MVC操作流程可歸納為,用戶在瀏覽器中瀏覽Query.jsp并將查詢結果提交至服務器端進行servlet-Query-servlet查詢,查詢結果存儲到緩沖池中,緩沖池中能夠進行智能判斷,如果緩沖池合理,則將控制器轉移到bufferedlist.jsp中,取出Queryresultbean內容返回到瀏覽器。
Web應用程序開發中數據庫設計是核心功能,本文詳細分析MVC在數據層設計應用。Web程序業務邏輯可歸納為數據添加、數據查看、數據刪除、數據修改。按照MVC設計思路可將數據庫層獨立分析這樣并提供相應的接口這樣方便二次開發。
設備管理系統是生產廠商、應用商家比進行使用的管理系統。本文使用UML建模技術結合MVC框架進行基于Java編程語言開發的設備管理系統。圖2為設備管理系統類圖。
根據MVC模式進行了設備管理系統設計,從圖2中可知設備管理中包含類有:device_management、device_managementBLL、device_managementMoble、device_managementDALL分別用于設備界面管理、設備業務邏輯管理、設備數據集管理、設備數據管理。各個類中包含的方法為device_managemen中包含 device_managemen_insert()、device_managemen_select()、device_managemen_delete()、device_managemen_update()分別用于設備信息添加界面管理、設備信息查詢界面管理、設備信息刪除界面管理、設備信息修改界面管理。device_managemen類對應MVC層中的視圖層、device_managementBLL對應MVC層中的業務邏輯管理、device_managementDALL對應MVC層中的數據管理。
為詳細存儲設備管理,需要對設備管理進行數據庫設計,部分信息表見表1所示。
本文所設計的基于Java的Web應用層頁面使用復合視圖形式,每個設備管理系統頁面是由多個子視圖組成。根據Java提供的控件進行視圖層編輯。每個網站都提供了母版頁,采用html樣式進行管理。系統中相關驗證使用正則表達式進行管理。為豐富視圖層界面,采用jQuery進行前端開發。
在開發設備管理系統時,控制層的設計使用分散控制,每個.jsp文件都對應后臺.java文件,達到頁面控制目的。所設計的頁面中每個空間都對應了相應事件以及數據交互關系。下面對設備管理中設備信息添加管理進行講解,在設備信息添加模塊中有Device_addition.jsp文件,可通過control控制設備信息添加成功。
使用MVC模式進行JavaWeb應用程序開發能夠提高開發者開發效率,為開發者提供了標準接口管理,從而提高了開發效率、降低了程序維護成本。本文以設備管理系統開發進行分析,使用MVC模式后,代碼編寫規范、易操作等,非常適合大型項目開發。隨著移動APP技術不斷發展,后期MVC模式將不斷拓展應用領域。