国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SSH框架的縣鄉(xiāng)公路養(yǎng)護(hù)管理系統(tǒng)實現(xiàn)技術(shù)

2019-08-10 06:36夏繼禹
電腦知識與技術(shù) 2019年17期

夏繼禹

摘要:該文運用了基于struts2、Spring、Hibernate 框架的相關(guān)理論和方法,根據(jù)縣鄉(xiāng)公路養(yǎng)護(hù)管理功能設(shè)計,應(yīng)用J2EE技術(shù)和MVC設(shè)計模式,從表示層、業(yè)務(wù)層、數(shù)據(jù)層幾個方面,著重研究系統(tǒng)實現(xiàn)的技術(shù)方法和步驟。

關(guān)鍵詞:公路養(yǎng)護(hù)管理系統(tǒng);三層架構(gòu);J2EE平臺;SSH框架技術(shù)

中圖分類號: TP3? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)17-0097-02

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

縣鄉(xiāng)公路養(yǎng)護(hù)管理系統(tǒng)的開發(fā)語言主要是java,采用Oracle數(shù)據(jù)庫技術(shù),在開源的MyEclipse集成開發(fā)環(huán)境下,選用比較穩(wěn)定、靈活的J2EE作為技術(shù)框架支撐的三層架構(gòu),基于Web開發(fā)技術(shù)的工程設(shè)計思想,結(jié)合MVC架構(gòu)設(shè)計理念,整合開源框架Struts2、Spring、Hibernate(SSH)技術(shù),實現(xiàn)一套數(shù)據(jù)與視圖相互隔離、互不影響的管理系統(tǒng)。

1 關(guān)鍵技術(shù)

1.1 開發(fā)環(huán)境

1)開發(fā)語言

Java語言面向接口編程,其Java2平臺的企業(yè)版J2EE,提供了多層次分布式的應(yīng)用模型、組件再用、一致化的安全模型以及靈活的事務(wù)控制功能。其組件主要包括:客戶層組件、Web層組件、業(yè)務(wù)邏輯層組件和企業(yè)信息系統(tǒng)層軟件。各種組件、技術(shù)以及服務(wù)架構(gòu)在標(biāo)準(zhǔn)和規(guī)格上達(dá)到一致,優(yōu)勢是利于高效開發(fā)、支持異構(gòu)環(huán)境、可伸縮性強、穩(wěn)定性強、支持長期的可用性。

2)Oracle數(shù)據(jù)庫

本系統(tǒng)使用Oracle10g,通過Oracle數(shù)據(jù)庫技術(shù)能夠在縣鄉(xiāng)公路養(yǎng)護(hù)管理系統(tǒng)中全面地儲存、管理數(shù)據(jù)信息。Oracle數(shù)據(jù)庫技術(shù)非常適合于大型網(wǎng)絡(luò)的信息處理,無論是在聯(lián)機事務(wù)處理技術(shù),傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,或在分布式處理技術(shù)方面,其高性能、數(shù)據(jù)并行處理機制,數(shù)據(jù)安全措施都很完善。Oracle數(shù)據(jù)庫對縣鄉(xiāng)公路養(yǎng)護(hù)管理系統(tǒng)有以下優(yōu)勢:第一,支持上千個用戶的大量多媒體數(shù)據(jù)和大規(guī)模的事務(wù)處理,可以滿足用戶多、數(shù)據(jù)量大的工作負(fù)荷;第二,Oracle數(shù)據(jù)庫技術(shù)有較好的數(shù)據(jù)安全性、完整性檢查和一致性,系統(tǒng)對非法入侵的用戶進(jìn)行嚴(yán)格的驗證機制及服務(wù)體系,對不同的用戶系統(tǒng)采用不同管理權(quán)限進(jìn)行控制,以保障數(shù)據(jù)的絕對安全;第三,Oracle數(shù)據(jù)庫技術(shù)提供的數(shù)據(jù)庫操作接口,如接口軟件PRO系列,利于使用高級語言、應(yīng)用程序及外部軟件完成對Oracle數(shù)據(jù)庫進(jìn)行存取;第四,支持分布式數(shù)據(jù)處理,不同區(qū)域的硬件、信息資源可以通過計算機網(wǎng)絡(luò)系統(tǒng)實現(xiàn)共享[1],如網(wǎng)絡(luò)讀寫遠(yuǎn)端數(shù)據(jù)庫的數(shù)據(jù),并有對稱復(fù)制技術(shù)。

1.2 MVC設(shè)計模式

程序設(shè)計應(yīng)用MVC分層設(shè)計模式,可以有效地把應(yīng)用程序的輸入、處理和輸出分開進(jìn)行,通過MVC模式的模型(Model)、視圖(View)、控制器(Control)三層架構(gòu),分別擔(dān)負(fù)不同的任務(wù),視圖層向用戶顯示相關(guān)數(shù)據(jù),并接受用戶的輸入信息;模型層呈現(xiàn)業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)處理,可為多個視圖提供數(shù)據(jù);控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。

1.3 實現(xiàn)MVC模式的框架技術(shù)

縣鄉(xiāng)公路養(yǎng)護(hù)管理系統(tǒng)采用Struts2+Spring+Hibernate(SSH)框架,架構(gòu)的層次比較分明,邏輯清晰,代碼比較簡潔,可讀性好,移植性強。

1)Struts2框架

Struts2的基本組件有核心控制器FilterDispatcher、業(yè)務(wù)控制器Action和用戶實現(xiàn)的企業(yè)業(yè)務(wù)邏輯組件,包括Action、Actions、Config、Util、Taglib和Validator等。在項目中主要負(fù)責(zé)視圖層、控制層,在視圖層提供了大量的標(biāo)簽庫,利于提高視圖層的開發(fā)速度。

2)Spring框架

Spring是一個全方位的整合框架,由AOP模塊、O/R映射模塊、Web Cibtext及Utility模塊、JDBC及DAO模塊、Application Context模塊、MVC框架、核心容器和支持工具七個模塊組成。Spring的作用是將Web層、Service層、DAO層及PO無縫連接整合,主要是在項目中對hibernate和struts進(jìn)行整合,解決層與層之間的耦合問題。使用Spring框架,利于編寫更干凈、更可管理、并且更易于測試的代碼。

3)Hibernate框架

Hibernate提供共6個核心類和接口,包括Session、SessionFactory、Transaction、Query、Criteria和Configuration,不僅可以對持久化對象進(jìn)行存取,而且能夠進(jìn)行有效的事務(wù)控制,更改數(shù)據(jù)庫不需要更改代碼,可以自動生成SQL語句,自動執(zhí)行,實現(xiàn)對JDBC的進(jìn)行輕量級封裝。利于使用對象編程思維來操縱數(shù)據(jù)庫,移植性好,支持各種數(shù)據(jù)庫,簡化數(shù)據(jù)訪問層煩瑣的重復(fù)性代碼,提高開發(fā)速度。

2 系統(tǒng)總體設(shè)計

2.1 系統(tǒng)功能

縣鄉(xiāng)公路養(yǎng)護(hù)管理系統(tǒng)由用戶管理模塊和業(yè)務(wù)管理模塊構(gòu)成。功能主要包括:基礎(chǔ)業(yè)務(wù)信息管理、路橋養(yǎng)護(hù)計劃管理、日常維護(hù)管理、小修保養(yǎng)管理、路橋隧大中修管理、養(yǎng)護(hù)經(jīng)費管理。

2.2 系統(tǒng)三層架構(gòu)

將系統(tǒng)劃分為數(shù)據(jù)層、業(yè)務(wù)層、表示層三層架構(gòu)來設(shè)計。

1)數(shù)據(jù)層

該層提供數(shù)據(jù)集中服務(wù),通過分布式數(shù)據(jù)存儲策略,全面負(fù)責(zé)對數(shù)據(jù)庫的操作,完成對數(shù)據(jù)表的增添、刪除、修改、查找和更新等功能操作。將多功能檢測車、公路能見度儀等前端感知設(shè)備采集的路面檢測數(shù)據(jù)、橋梁檢測數(shù)據(jù)、通道涵洞數(shù)據(jù)及各種病害檢測數(shù)據(jù),以及數(shù)字化的各類屬性數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)存放在數(shù)據(jù)庫系統(tǒng)中。

2)業(yè)務(wù)層

該層主要針對具體業(yè)務(wù)問題的操作,通過對數(shù)據(jù)層的操作以及數(shù)據(jù)業(yè)務(wù)邏輯的處理,實現(xiàn)各業(yè)務(wù)功能模塊的功能。任務(wù)主要集中在對業(yè)務(wù)規(guī)則制定、業(yè)務(wù)流程實現(xiàn)等與業(yè)務(wù)需求相關(guān)的系統(tǒng)設(shè)計上。包括:用戶權(quán)限管理、業(yè)務(wù)流程管理、業(yè)務(wù)基礎(chǔ)數(shù)據(jù)管理、路橋養(yǎng)護(hù)計劃管理、養(yǎng)護(hù)項目管理、日常巡查管理、小修保養(yǎng)、大中修項目管理、養(yǎng)護(hù)考核管理、安全生產(chǎn)管理、路橋監(jiān)控管理、應(yīng)急搶險管理、路橋檢測信息管理、病害分析及預(yù)警、機械設(shè)備管理、可視化應(yīng)用及移動終端管理等。

3)表示層

該層通過一種交互式操作的界面,為用戶顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù)。主要用戶單位是交通局、養(yǎng)護(hù)站(所)等。提供的服務(wù)是通過圖表查詢、決策分析、統(tǒng)計報表、多維分析、可視化展示等方式進(jìn)行數(shù)據(jù)提取和展現(xiàn)。

在設(shè)計中,系統(tǒng)的三層架構(gòu)與MVC三層架構(gòu)的對應(yīng)關(guān)系并不是一一對應(yīng)的,他們的關(guān)系是控制器和視圖構(gòu)成表現(xiàn)層,而模型又劃分為業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。

3 系統(tǒng)實現(xiàn)技術(shù)

3.1 系統(tǒng)框架關(guān)鍵配置

縣鄉(xiāng)公路管理系統(tǒng)由Struts2、Spring、Hibernate三個開源框架集成搭建的。關(guān)鍵配置包括數(shù)據(jù)庫連接、Hibernate持久化配置、Spring事務(wù)管理配置、Struts2中通過Spring管理Action,和與Action控制轉(zhuǎn)向的配置。

3.2 用戶管理模塊的實現(xiàn)

實現(xiàn)巡路、養(yǎng)護(hù)、驗收、管理人員四種權(quán)限的登錄和注冊功能。

實現(xiàn)登錄的步驟:1)提交表單信息,由Struts2過濾器攔截,

通過Struts.xml配置文件交給相應(yīng)的Action執(zhí)行;2)在Action層驗證表單信息的合法性,驗證成功由Service層進(jìn)行數(shù)據(jù)封裝處理轉(zhuǎn)交給Dao層;3)在Dao層執(zhí)行與數(shù)據(jù)庫的交互,驗證成功后再把登錄者的個人信息,由Dao層到Service層,再到Action層;4)由Action層對信息的判斷返回相應(yīng)的Action的Result值,由配置文件Struts.xml找到相應(yīng)的Jsp模板跳轉(zhuǎn)使用。

3.3 各業(yè)務(wù)管理模塊的實現(xiàn)

3.3.1 表示層的實現(xiàn)

該層基于struts2技術(shù)來實現(xiàn)MVC的架構(gòu)模式,負(fù)責(zé)頁面數(shù)據(jù)提取,頁面動作響應(yīng)。主要由JSP頁面、ActionForm、Action、Action Servlet和Struts.xml共同實現(xiàn)。

實現(xiàn)步驟:1)配置web.xml,由FilterDispatcher接收客戶端瀏覽器發(fā)出的HTTP請求;2)配置struts2.xml,找到要調(diào)用的Action類和方法,通過Ioc控制反轉(zhuǎn)方式,由Di將依賴的值注入給Aciton;3)處理業(yè)務(wù)邏輯由Action調(diào)用業(yè)務(wù)邏輯組件來進(jìn)行,包含表單的驗證;4)根據(jù)Struts2.xml的配置找到對應(yīng)的返回結(jié)果,并生成相應(yīng)頁面;5)經(jīng)過過濾器向客戶端展示出響應(yīng)的結(jié)果。

3.3.2 業(yè)務(wù)層的實現(xiàn)

業(yè)務(wù)層是系統(tǒng)平臺的重要功能模塊,由Spring框架支持,在程序中起承上啟下的作用。首先,在對業(yè)務(wù)對象建模的基礎(chǔ)上,構(gòu)建每個功能模塊相應(yīng)的管理類,從而管理和維護(hù)其業(yè)務(wù)邏輯;其次,按照功能模塊將Spring配置文件分開,可選用基于xml配置、基于注解配置或基于類配置的方式,將管理類對應(yīng)Bean進(jìn)行注冊配置,以實現(xiàn)使用AOP模式對事務(wù)進(jìn)行控制。業(yè)務(wù)邏輯由一些會話Bean與實體Bean組成,采用EJB來實現(xiàn)模型,完成客戶端跟服務(wù)器端的讀寫等操作。

3.3.3 數(shù)據(jù)層的實現(xiàn)

用hibernate實現(xiàn)與oracle數(shù)據(jù)庫的連接,配置文件是xml格式,也可以是Java屬性文件格式。

實現(xiàn)步驟:1)先創(chuàng)建持久化類;2)創(chuàng)建Hibernate.cfg.xml配置文件;3)讀取并解析xml配置文件;4)讀取并解析映射信息;5)創(chuàng)建工廠類SessionFactory;6)打開Sesssion接口;7)創(chuàng)建事務(wù)JTATransation;8)persistent operate持久化操作;9)提交事務(wù);10)關(guān)閉Session和SesstionFactory。

基于SSH框架技術(shù)能夠顯著地提高應(yīng)用系統(tǒng)的開發(fā)效率,并能使應(yīng)用系統(tǒng)有較高的復(fù)用性和可擴展性。但使用SSH連接Oracle數(shù)據(jù)庫的實現(xiàn)技術(shù)較為復(fù)雜,還需進(jìn)一步研究和實踐。

參考文獻(xiàn):

[1] 王鳴. 數(shù)字校園下高??蒲泄芾硇畔⑾到y(tǒng)的優(yōu)化[J]. 太原城市職業(yè)技術(shù)學(xué)院學(xué)報, 2013(5):137-139.

[2] 劉祺彬. 基于開源技術(shù)的MVC框架的構(gòu)建[J]. 信息技術(shù), 2013(8):125-129.

[3] 呂安濤等. 基于GIS的農(nóng)村公路養(yǎng)護(hù)管理系統(tǒng)設(shè)計與開發(fā)[J]. 山東交通科技, 2011(3):12-15.

[4] 黃鳳苗. 農(nóng)村公路養(yǎng)護(hù)管理信息系統(tǒng)的設(shè)計研究[J]. 交通世界, 2015(3):32-33.

[5] 李興華, 王月清. Java Web開發(fā)實戰(zhàn)經(jīng)典[M]. 北京: 清華大學(xué)出版社, 2010.

[6] 李剛. struts2權(quán)威指南[M]. 北京: 電子工業(yè)出版社, 2007.

【通聯(lián)編輯:張薇】