韓志平
(民航華北地區(qū)空中交通管理局,北京 100621)
Java是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,由于其跨平臺(tái)的優(yōu)點(diǎn),使得Java的發(fā)展特別迅速,尤其是在網(wǎng)絡(luò)方面的發(fā)展[1]。
進(jìn)入21世紀(jì),計(jì)算機(jī)技術(shù)迅速向著網(wǎng)絡(luò)化、集成化方向發(fā)展。傳統(tǒng)的單機(jī)版應(yīng)用軟件正在逐漸退出舞臺(tái),取而代之的是支持網(wǎng)絡(luò)、支持多種數(shù)據(jù)信息(多媒體)的新一代網(wǎng)絡(luò)版應(yīng)用軟件。本文所采用的是稱為瀏覽器-服務(wù)器的B/S結(jié)構(gòu)應(yīng)用系統(tǒng),它的特點(diǎn)是在客戶端采用了功能強(qiáng)大的瀏覽器軟件作為界面,其優(yōu)點(diǎn)在于軟件開發(fā)效率高,客戶端不受操作平臺(tái)的限制,也不受地域的限制,網(wǎng)絡(luò)傳輸量少,適用于局域網(wǎng)。B/S結(jié)構(gòu)下,利用成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語(yǔ)言技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。
氣象雷達(dá)崗位值班日志記錄的完整性、及時(shí)性對(duì)電子值班日志的設(shè)計(jì)提出了新的需求,設(shè)備運(yùn)行情況、零備件管理等電子化、簡(jiǎn)便化也是大勢(shì)所趨。開發(fā)一套氣象雷達(dá)崗位電子化信息管理系統(tǒng),作為設(shè)備運(yùn)行中一個(gè)補(bǔ)充應(yīng)用系統(tǒng),大大減輕了值班人員的壓力,便于設(shè)備管理,提升服務(wù)質(zhì)量。系統(tǒng)使用了Web、J2EE技術(shù),采用MVC框架的設(shè)計(jì)模式,程序在業(yè)務(wù)邏輯、控制邏輯和表現(xiàn)邏輯上實(shí)現(xiàn)了分離。系統(tǒng)結(jié)構(gòu)清晰,具有良好的可讀性、可擴(kuò)展性和可維護(hù)性。
MyEclipse是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML、Struts2、Spring、CSS、JavaScript、Hibernate等技術(shù)[2]。MyEclipse支持代碼編寫、配置、測(cè)試以及排錯(cuò),并大大提高了JavaEE的開發(fā)效率。鑒于MyEclipse有眾多優(yōu)點(diǎn),本系統(tǒng)選用MyEclipse2014作為集成開發(fā)環(huán)境,Java運(yùn)行環(huán)境為Jdk1.7和Jre7。搭建SSH框架時(shí),SSH框架的版本分別是Struts2.3、Spring 4.2、hibernate 5.5,以上的順序也是整合時(shí)添加的順序。這樣配置,hibernate的配置文件也會(huì)整合到Spring的配置文件中。在整合SSH框架時(shí)需要添加必要的依賴庫(kù)文件,調(diào)試時(shí)使用日志組件log4能方便地記錄調(diào)試日志信息。在Web應(yīng)用方面,MySQL是最流行、最好的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用軟件之一,所以本文選用MySQL作為系統(tǒng)數(shù)據(jù)庫(kù),其版本為MySQL 5.6。
Tomcat是免費(fèi)的、開源的Web應(yīng)用服務(wù)器,屬于輕量級(jí)Web服務(wù)器[3]。Tomcat性能穩(wěn)定,目前已經(jīng)成為流行的Java Web應(yīng)用服務(wù)器。Tomcat服務(wù)器不但支持Servlet和JSP運(yùn)行規(guī)范,還具備了Web服務(wù)器的特有功能。Tomcat運(yùn)行時(shí)占用的系統(tǒng)資源小、擴(kuò)展性好,本文中的信息管理系統(tǒng)服務(wù)器在部署應(yīng)用的過程中選用了Tomcat8.5作為Web服務(wù)器。
本氣象雷達(dá)電子化信息管理系統(tǒng)包括系統(tǒng)前臺(tái)界面展示和后臺(tái)數(shù)據(jù)處理系統(tǒng)2個(gè)子系統(tǒng)。目前前臺(tái)展示系統(tǒng)完成了4個(gè)模塊,分別為用戶管理模塊、值班日志管理模塊、設(shè)備運(yùn)行檔案管理模塊和零備件管理模塊。用戶管理模塊是對(duì)用戶控制的操作,包括登錄、安全退出;值班日志管理模塊是對(duì)值班日志的操作,包括填寫新的值班日志、值班日志查詢等操作;設(shè)備運(yùn)行檔案管理模塊是設(shè)備重大設(shè)備故障歸納、整理操作;零備件出入庫(kù)管理模塊是對(duì)零備件的管理,包括零備件分頁(yè)顯示列表、零備件入庫(kù)、零備件出庫(kù)等。本系統(tǒng)在數(shù)據(jù)庫(kù)的設(shè)計(jì)的過程中,創(chuàng)建了radarpro數(shù)據(jù)庫(kù),目前創(chuàng)建了5張表,分別是用戶表radar_user、設(shè)備檔案表radar_file、運(yùn)行檔案表radar_status、值班日志表radar_monitor、零備件表radar_spare。
系統(tǒng)的主要功能結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)主要功能結(jié)構(gòu)圖
本系統(tǒng)的控制層使用了Struts2的框架來完成,在Web.xml中配置Struts2的前端控制器。當(dāng)用戶通過瀏覽器發(fā)送一個(gè)請(qǐng)求,服務(wù)器接收到這個(gè)請(qǐng)求以后先通過過濾器檢查,請(qǐng)求就會(huì)被傳遞到Struts2的Action,看用戶請(qǐng)求的是哪個(gè)Action類,進(jìn)而交給相應(yīng)的Action類去處理。Struts2與Spring整合,使用注解配置JavaBean。在Struts2中Action的配置屬性Class需要指向Spring中相對(duì)應(yīng)Bean的ID屬性。Spring中HibernateTransactionManager來管理事務(wù),通過事務(wù)管理實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的操作,最后將得到的數(shù)據(jù)處理結(jié)果交給一個(gè)JSP視圖,并給用戶一個(gè)響應(yīng)。
Struts2、Hibernate5和Spring4的整合開發(fā),在Spring的配置文件ApplicationContext.xml中配置Hibernate對(duì)SessionFactory的設(shè)置、配置數(shù)據(jù)庫(kù)連接信息。
從底層開發(fā),先開發(fā)模型對(duì)象User、Status、Spare等,即一些實(shí)體類,這些模型對(duì)象會(huì)在各層之間進(jìn)行傳遞,利用Hibernate做好模型對(duì)象和數(shù)據(jù)庫(kù)表的映射關(guān)系。用戶使用User實(shí)體,封裝用戶名、密碼等屬性。系統(tǒng)的Web.xml配置文件中部署了Web相關(guān)的配置文件,配置Spring框架監(jiān)聽器,初始化ApplicationContext對(duì)象,配置好Struts2過濾器。
JSP頁(yè)面是系統(tǒng)前臺(tái)展示的重要組件,整個(gè)頁(yè)面分成了3個(gè)重要的區(qū)域:Heade區(qū)是整個(gè)頁(yè)面的頂部工作區(qū),包含了系統(tǒng)標(biāo)題、導(dǎo)航欄、用戶登錄狀態(tài)區(qū);Content區(qū)是不同頁(yè)面內(nèi)容的展示區(qū);Footer區(qū)是頁(yè)面的底部公共區(qū),包含系統(tǒng)的維護(hù)聯(lián)系方式。系統(tǒng)配置了單獨(dú)的登錄頁(yè)面Login.jsp負(fù)責(zé)用戶的登錄提交驗(yàn)證。
在DAO的開發(fā)中,每個(gè)DAO組件定義持久層操作的標(biāo)準(zhǔn)方法,其中定義的方法針對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)的操作,包括添加用戶、刪除用戶、修改密碼等。UserDao接口定義訪問操作User實(shí)體的方法,DaoImpl的實(shí)現(xiàn)類對(duì)應(yīng)了操作radar_user這個(gè)數(shù)據(jù)庫(kù)表的操作。零備件表radar_spare字段分配如表1所示。
表1 零備件數(shù)據(jù)庫(kù)表
表1(續(xù))
Service層的開發(fā)主要是具體業(yè)務(wù)組件開發(fā),主要用于處理各類業(yè)務(wù)邏輯,并且能隔離事務(wù)和對(duì)其他資源調(diào)度。UserService接口和實(shí)現(xiàn)類可以驗(yàn)證用戶是否存在,用戶密碼驗(yàn)證等邏輯,然后調(diào)用DAO將數(shù)據(jù)存入數(shù)據(jù)庫(kù)或者將數(shù)據(jù)刪除等。
Action層開發(fā)主要是處理Web請(qǐng)求,由Spring進(jìn)行管理。Struts2配置Action,其中name屬性就是頁(yè)面訪問的URL的一部分。
在系統(tǒng)中默認(rèn)的管理員登錄用戶為radar,密碼也為radar,管理員登錄系統(tǒng)后可以添加新的用戶。用戶的密碼采用了md5加密,管理員可以重置其他用戶的密碼為6個(gè)0。用戶登錄時(shí)在登錄頁(yè)面中輸入用戶名和密碼,點(diǎn)擊登錄按鈕,js驗(yàn)證和ajax驗(yàn)證成功后進(jìn)入到系統(tǒng)后臺(tái)值班管理頁(yè)面,默認(rèn)值班管理頁(yè)面為第一頁(yè)面。通過頂部的導(dǎo)航欄切換圖標(biāo)按鈕,能夠切換到其他頁(yè)面。用戶可以根據(jù)需要選擇填寫值班記錄,按照時(shí)間點(diǎn)巡視檢查設(shè)備狀況提交記錄。用戶也可以查詢?cè)O(shè)備運(yùn)行檔案、填寫設(shè)備運(yùn)行檔案、備件出入庫(kù)等操作。每個(gè)導(dǎo)航頁(yè)面包含的功能由頁(yè)面的交互功能所決定,設(shè)備運(yùn)行檔案軟件界面展示如圖2所示,零備件存儲(chǔ)相應(yīng)的界面如圖3所示。
圖2 設(shè)備運(yùn)行檔案
圖3 零備件存儲(chǔ)
隨著數(shù)字生活的不斷拓寬和深入、計(jì)算機(jī)軟硬件的不斷升級(jí)、各種信息技術(shù)的日益完善,電子化管理越來越實(shí)用。本文設(shè)計(jì)了Web氣象雷達(dá)崗位電子化信息管理系統(tǒng),系統(tǒng)功能實(shí)用、界面美觀、操作簡(jiǎn)單,在氣象雷達(dá)崗位運(yùn)行穩(wěn)定,能夠滿足用戶基本需求,得到了崗位人員的一致認(rèn)可。筆者后期將拓展信息管理系統(tǒng)中固定資產(chǎn)管理、監(jiān)控管理、文件管理等功能,完善整個(gè)系統(tǒng),為用戶提供簡(jiǎn)潔、高效的服務(wù)。