• 
    

    
    

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

      Struts 框架技術(shù)在管理信息系統(tǒng)中的應(yīng)用

      2012-08-15 00:54:11殷旻昊
      科技視界 2012年11期
      關(guān)鍵詞:配置文件開源視圖

      殷旻昊 黨 光 王 波

      (天津師范大學(xué)信息化辦公室 中國 天津 300387)

      0 引言

      當(dāng)前管理信息系統(tǒng)在業(yè)務(wù)邏輯上日益復(fù)雜,并且對系統(tǒng)可維護性、可擴展性以及系統(tǒng)移植性的要求越來越高,因此新系統(tǒng)的設(shè)計開發(fā)大多傾向于采用MVC 設(shè)計模式。 而在諸多MVC 框架中,Struts 作為一款開源框架, 建立在動態(tài)網(wǎng)站設(shè)計領(lǐng)域中JSP、XML 及Servlet 等相關(guān)開發(fā)技術(shù)之上, 成為J2EE Web 開發(fā)的首選。

      1 MVC 及Struts 概述

      1.1 MVC 設(shè)計模式

      MVC 即Model-View-Controller,模型—視圖—控制器模式。 早期Web 應(yīng)用系統(tǒng)開發(fā)中,業(yè)務(wù)邏輯和視圖界面通常是耦合在一起的,比較適用于規(guī)模較小,業(yè)務(wù)簡單且變化較少的情況,但隨著應(yīng)用系統(tǒng)業(yè)務(wù)邏輯日趨復(fù)雜,用戶界面大量增加, 同時在系統(tǒng)健壯性、 代碼可重用性的要求越來越高,MVC 模式在軟件開發(fā)效率方面的優(yōu)勢日益凸顯,因而得到廣泛應(yīng)用。MVC 強制性的使應(yīng)用程序的輸入、處理和輸出分開,將其劃分成三個相對獨立的層次:模型層、視圖層和控制器層,從而降低了復(fù)雜的耦合關(guān)系,實現(xiàn)界面與應(yīng)用邏輯的有效分離。

      1.2 Struts 框架

      Struts 由Apache 軟件組織負(fù)責(zé)開發(fā), 其實質(zhì)是在JSP Model2 基礎(chǔ)上實現(xiàn)的一個MVC 開源框架, 其中模型部分由JavaBean 或EJB 組件構(gòu)成, 視圖部分由Jsp 文件和Struts 客戶化標(biāo)簽組成,控制器部分由ActionServlet 和Action 類來完成。 由于是一款開源框架,文檔豐富且源代碼公開,并且具備豐富的Taglib 標(biāo)簽庫, 頁面導(dǎo)航性強, 對MVC 有良好的實現(xiàn),在業(yè)界J2EE 架構(gòu)中有廣泛的應(yīng)用。

      2 案例具體應(yīng)用

      2.1 系統(tǒng)整體框架設(shè)計

      案例系統(tǒng)為某管網(wǎng)管理系統(tǒng),包含日志管理、權(quán)限管理、數(shù)據(jù)維護、查詢統(tǒng)計、報表輸出等多個模塊。 由于該系統(tǒng)從頁面展現(xiàn)到邏輯處理均較為復(fù)雜, 開發(fā)人數(shù)較多且周期較長,并且有擴展性、健壯性方面的要求,采用Struts 框架開發(fā)是比較好的選擇。 在案例系統(tǒng)整體框架中, 除Struts 框架負(fù)責(zé)MVC 三部分的分離外,根據(jù)系統(tǒng)開發(fā)的需要還需引入Spring框架以實現(xiàn)控制反轉(zhuǎn)和面向方面編程,Hibernate 框架以實現(xiàn)數(shù)據(jù)的對象持久化和對象關(guān)系映射,DWR 框架以實現(xiàn)對頁面的監(jiān)聽和異步處理,加強對視圖部分細(xì)粒度的支持。

      2.2 Struts 框架具體應(yīng)用

      在案例系統(tǒng)Struts 框架應(yīng)用中, 控制器方面由ActionServlet 類和具體的Action 類來實現(xiàn)。ActionServlet 作為核心組件,主要負(fù)責(zé)接受HTTP 請求信息,并根據(jù)對應(yīng)配置文件的信息把請求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction 對象,而Action 類負(fù)責(zé)調(diào)用模型層(案例系統(tǒng)中使用JavaBean 實現(xiàn))的方法更新模型狀態(tài)。Struts 框架應(yīng)用中,3 個文件的配置是其中的關(guān)鍵,分別為web.xml、struts-config.xml 及消息資源文件。

      web.xml 文件是整個Web 工程的配置文件, 由于Struts框架是系統(tǒng)運行的基礎(chǔ)框架, 因而對Struts 的配置是該文件最重要的內(nèi)容, 主要包括對servlet、 servlet-mapping 以及taglib 元素的配置。 其中servlet 和servlet-mapping 元素用于指定ActionServlet 接受請求并確定如何響應(yīng),taglib 元素則用于聲明Web 應(yīng)用所使用的Struts 標(biāo)簽庫及開發(fā)者自定義的標(biāo)簽庫。

      Struts-config.xml 文件是Struts 框架的配置文件, 用于對Struts 框架中用到的控制器、視圖和模型進行配置。 由于案例系統(tǒng)子模塊功能較為復(fù)雜,Struts-config.xml 中僅配置了系統(tǒng)全局性的數(shù)據(jù),如data-sources 元素配置數(shù)據(jù)源,指定數(shù)據(jù)庫驅(qū)動類、URL 及訪問數(shù)據(jù)庫的用戶名、密碼等,global-forwards元素配置全局請求轉(zhuǎn)發(fā)路徑,message-resources 元素定義了Resource Bundle 使用的資源文件等, 其他如form-beans、action-mapping 元素均只定義系統(tǒng)的頁面登錄, 涉及具體應(yīng)用的form 及action 設(shè)置均在子模塊所屬的Struts-xx-config.xml 中進行配置。

      Struts 框架通過消息資源文件來支持國際化和本地化,通常需要手動處理將其設(shè)置為支持中文, 否則會顯示亂碼,案例系統(tǒng)由于采用Eclipse 平臺作為開發(fā)環(huán)境, 平臺自帶的ResourceBundEditor 插件可自動對消息資源文件進行重編碼,相對手動處理而言使用起來更加直觀方便。

      2.3 其他框架應(yīng)用

      Spring 框架作為一個松耦合的開源框架, 其Spring Core與Spring Aop 模塊在對控制反轉(zhuǎn)和面向方面編程有突出的創(chuàng)新型和實用性,非常適用于案例系統(tǒng)的開發(fā)。 其配置需在web.xml 文件的filter 元素及l(fā)istener 元素分別定義過濾器類和監(jiān)聽器類,還需在context-param 元素中定義對應(yīng)的Spring配置文件。 Hibernate 框架作為一款數(shù)據(jù)持久化的開源框架,為案例系統(tǒng)提供對象與關(guān)系數(shù)據(jù)庫的映射,并以統(tǒng)一的接口方式支持多種數(shù)據(jù)庫,其配置也在web.xml 文件的filter 元素中定義。

      3 結(jié)束語

      案例系統(tǒng)開發(fā)過程中采用Struts 框架及相關(guān)技術(shù), 其豐富的標(biāo)簽庫在頁面展示方面起到突出作用,并且由于比較徹底的實現(xiàn)了頁面與邏輯的分離,在版本更迭過程中極大提高了工作效率,該系統(tǒng)在用戶需求發(fā)生較大變動后仍按期完成開發(fā)工作,目前已經(jīng)正式運行,得到用戶的認(rèn)可。

      [1]Husted, Cedric Dumoulin. Struts In Action [M]. Manning Publications Co, 2002, 5.

      [2]莫勇騰.深入淺出設(shè)計模式:C#/Java 版[M].北京:清華大學(xué)出版社,2006.

      [3]計磊,李里,周偉.精通J2EE-Eclipse Struts Hibernate Spring 整合應(yīng)用案例[M].北京:人民郵電出版社,2006(8).

      猜你喜歡
      配置文件開源視圖
      提示用戶配置文件錯誤 這樣解決
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      五毛錢能買多少頭牛
      忘記ESXi主機root密碼怎么辦
      5.3 視圖與投影
      視圖
      Y—20重型運輸機多視圖
      SA2型76毫米車載高炮多視圖
      大家說:開源、人工智能及創(chuàng)新
      泰顺县| 霍城县| 固始县| 弥渡县| 商南县| 沧州市| 东城区| 慈溪市| 高安市| 台前县| 曲麻莱县| 合作市| 伊春市| 商水县| 门头沟区| 剑河县| 遵义市| 遂宁市| 怀化市| 壤塘县| 陆川县| 乐至县| 上思县| 自贡市| 永福县| 开江县| 巩义市| 鄂温| 武鸣县| 潼南县| 高淳县| 鄯善县| 南澳县| 上高县| 文昌市| 达尔| 行唐县| 平邑县| 阿拉善右旗| 阳新县| 林口县|