• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Struts 2和Hibernate實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2018-10-21 15:07袁宏杰石爽康彥叢劉也暢
      科技風(fēng) 2018年22期
      關(guān)鍵詞:頁(yè)面架構(gòu)邏輯

      袁宏杰 石爽 康彥叢 劉也暢

      摘要:Struts 2是一個(gè)用來快速生成Model 2 應(yīng)用程序的框架,而Model 2 是基于MVC 模式的。用Struts 可簡(jiǎn)化Web 應(yīng)用的開發(fā),增加了軟件重用率,解決了信息系統(tǒng)中開發(fā)效率、降低成本、可擴(kuò)展性、靈活性等問題。

      關(guān)鍵詞: Struts2; MVC; Hibernate信息系統(tǒng)

      基于Struts框架開發(fā)出來的Web 應(yīng)用,越來越成熟,系統(tǒng)更靈活,并利用后期維護(hù)和管理。Struts2開發(fā)更適合于團(tuán)隊(duì)協(xié)作開發(fā),開發(fā)成員可以按層開發(fā),分工更加合理。

      1 實(shí)驗(yàn)室管理信息系統(tǒng)的總體需求

      實(shí)驗(yàn)室管理信息系統(tǒng)的總體需求,能夠?qū)崿F(xiàn)排課管理、實(shí)驗(yàn)室日常運(yùn)行管理、實(shí)驗(yàn)室設(shè)備管理、實(shí)驗(yàn)室人員管理、實(shí)驗(yàn)室耗材管理。整體功能結(jié)構(gòu)圖如下:

      2 實(shí)驗(yàn)室管理信息系統(tǒng)的技術(shù)架構(gòu)

      實(shí)驗(yàn)室管理信息系統(tǒng)系統(tǒng)基于Struts2和Hibernate提供了開發(fā)基于 MVC 應(yīng)用模式的開源框架進(jìn)行設(shè)計(jì),Struts實(shí)現(xiàn)了 MVC 的各項(xiàng)特性,并將其應(yīng)用于 Web 應(yīng)用開發(fā)中。 Struts 提供的組件由 3 個(gè)部分,包括模型層、視圖層和控制器,在模型層與Hibernate框架耦合,實(shí)現(xiàn)對(duì)數(shù)據(jù)的松耦合和持久化訪問。實(shí)驗(yàn)室管理信息系統(tǒng)的技術(shù)架構(gòu)如下圖所示

      3 實(shí)驗(yàn)室管理信息系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)

      數(shù)據(jù)庫(kù)設(shè)計(jì)是指根據(jù)用戶的需求,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,最終設(shè)計(jì)出數(shù)據(jù)庫(kù)的結(jié)構(gòu)和建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的過程。根據(jù)功能模塊的劃分,系統(tǒng)功能設(shè)計(jì)的要求,本系統(tǒng)采用 My SQL 設(shè)計(jì)。

      4 實(shí)驗(yàn)室管理信息系統(tǒng)技術(shù)實(shí)現(xiàn)

      系統(tǒng)設(shè)計(jì)成四架構(gòu)模式,表示層(Viewer),控制層(Controller), 服 務(wù) 層(DAO) 和 數(shù) 據(jù) 持 久 層(DataPersistence)。下面分別介紹它們的實(shí)現(xiàn)方式。

      4.1 表示層技術(shù)實(shí)現(xiàn)

      表示層主要采用Ajax(Asynchronous JavascriptAnd XML,異步 JavaScript 和 XML)和標(biāo)簽庫(kù)。首先客戶端初始化請(qǐng)求參數(shù)后轉(zhuǎn)發(fā)給業(yè)務(wù)邏輯層,最后將處理結(jié)果返回至客戶端。系統(tǒng)采用 Struts2 標(biāo)簽庫(kù)(Strutstags)和 ONGL 表達(dá)式來實(shí)現(xiàn)表示層的開發(fā),在 JSP 文件中通過 <%@ taglibprefix=“s” uri=“/Struts=tags”%> 引入標(biāo)簽庫(kù)。

      4.2 控制層的實(shí)現(xiàn)

      控 制 層 是 Struts2 框 架 的 核 心 組 件, 主 要由 Action 類 文 件 組 成。Struts2 控 制 器 有 兩 部 分,StrutsPrepareAndExecuteFilter 和業(yè)務(wù)控制器 Action。

      排課模塊控制類為PaikeAction.java。實(shí)驗(yàn)室管理員點(diǎn)擊JSP視圖頁(yè)面的排課請(qǐng)求后,系統(tǒng)首先通過 Request 對(duì)象到達(dá)系統(tǒng)的業(yè)務(wù)邏輯層,最終轉(zhuǎn)交給在 Struts.xml 文件中配置的paike.Action,一旦返回該Action,則會(huì)在配置文件中查找相應(yīng)的 Result。這些頁(yè)面和ActionMapper 一起通過 Response 對(duì)象返回給排課請(qǐng)求的 URL。本模塊的控制層過程如下圖:

      4.3 業(yè)務(wù)邏輯層的實(shí)現(xiàn)

      在業(yè)務(wù)邏輯層,每個(gè)業(yè)務(wù)涉及到的持久層對(duì)象和數(shù)據(jù)訪問對(duì)象(DAO)。業(yè)務(wù)邏輯層被設(shè)計(jì)在DAO 層之上,系統(tǒng)中會(huì)存在多個(gè)DAO 類,而業(yè)務(wù)邏輯類只有一個(gè),在本系統(tǒng)被設(shè)計(jì)成了一個(gè)接口,通過實(shí)現(xiàn)該接口來用于視圖組件與控制組件之間傳遞數(shù)據(jù)。業(yè)務(wù)邏輯層有兩個(gè)文件,ExamService.java 及其實(shí)現(xiàn)類ExamServiceImpl.java。如圖所示:

      4.4 數(shù)據(jù)持久層的實(shí)現(xiàn)

      實(shí)驗(yàn)室管理信息系統(tǒng)的DAO層實(shí)現(xiàn)是通過Hibernate API 來實(shí)現(xiàn)公共的 DAO 接口 , 首先取得當(dāng)前進(jìn)程的 Session 對(duì)象,利用Session對(duì)象開始一個(gè)事務(wù)得到持久化對(duì)象,最后提交事務(wù),關(guān)閉Session。DAO 層調(diào)用 Hibernate提供的各種方法,用于實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)邏輯時(shí),將數(shù)據(jù)(對(duì)象)進(jìn)行持久化操作。

      本系統(tǒng)通過DAO與ORACLE數(shù)據(jù)庫(kù)相連,所有配置及連接參數(shù)保存到hibernate.cfg.xml文件中。

      5 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵開發(fā)策略

      (1)為了提高系統(tǒng)的運(yùn)行效率,減少客戶端與應(yīng)用服務(wù)器的頻繁交互,將一些校驗(yàn)放到了頁(yè)面上進(jìn)行校驗(yàn),校驗(yàn)完成后,如果有錯(cuò)誤立即反饋給用戶,否則再提交服務(wù)器完成后續(xù)流程。

      (2)系統(tǒng)采用插件實(shí)現(xiàn)異步提交的數(shù)據(jù),減少了因部分頁(yè)面修改要刷新全部頁(yè)面的操作,減輕了CPU的競(jìng)爭(zhēng)。

      (3)改變了一個(gè)HTTP表單、ACTION、ActionForm一一對(duì)應(yīng)的關(guān)系,利用多個(gè)HTTP表單對(duì)應(yīng)一個(gè)ActionForm和Action,將不同的業(yè)務(wù)數(shù)據(jù),調(diào)用同一個(gè)Action的不同方法實(shí)現(xiàn),使程序流程更加清晰簡(jiǎn)練,便于后期維護(hù)管理。

      6 結(jié)語(yǔ)

      本研究?jī)?nèi)容是一個(gè)基于 MVC 模式的 B/S 架構(gòu)在實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)方法及具體實(shí)現(xiàn)過程,該系統(tǒng)采用 Java EE 主流框架 Struts2 與Hibernate 作為技術(shù)路線,同時(shí)采用了開源插件,實(shí)現(xiàn)了應(yīng)用數(shù)據(jù)在各層之間的低耦合高內(nèi)聚,提高了系統(tǒng)的可用性和可擴(kuò)展性。

      參考文獻(xiàn):

      [1]范新燦.基于 Struts、Hibernate、Spring 架構(gòu)的 Web應(yīng)用開發(fā)[M].北京:電子工業(yè)出版社,2014.09.

      [2]李剛.輕量級(jí) Java EE 企業(yè)應(yīng)用實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2014.10.

      [3]梁勝彬,喬保軍,李小麗,王金科,渠慎明,史蕊,王龍葛.Java Web應(yīng)用開發(fā)與實(shí)踐[M].北京:清華大學(xué)出版社,2016.09.

      猜你喜歡
      頁(yè)面架構(gòu)邏輯
      基于云控平臺(tái)霧計(jì)算架構(gòu)的網(wǎng)聯(lián)汽車路徑控制
      邏輯
      答案
      讓W(xué)ord同時(shí)擁有橫向頁(yè)和縱向頁(yè)
      我們還能有邏輯地聊天嗎
      女生買買買時(shí)的神邏輯
      女人買買買的神邏輯
      VIE:從何而來,去向何方
      企業(yè)架構(gòu)的最佳實(shí)踐
      三層架構(gòu)在企業(yè)信息化中的應(yīng)用
      南丰县| 潮安县| 西青区| 民勤县| 扎囊县| 两当县| 湟源县| 昭苏县| 岳普湖县| 梁河县| 昌吉市| 福海县| 梅河口市| 巴彦淖尔市| 鹿泉市| 彭阳县| 雅安市| 广饶县| 嫩江县| 句容市| 玛沁县| 安化县| 尚志市| 伊春市| 蓝山县| 织金县| 论坛| 铁岭市| 栖霞市| 咸丰县| 文昌市| 武定县| 尉犁县| 吴忠市| 修水县| 太和县| 孟州市| 湘阴县| 若尔盖县| 望谟县| 北流市|