999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Struts框架的電子政務系統

2008-01-01 00:00:00唐金鵬李玲琳
電腦知識與技術 2008年5期

摘要:介紹了基于Struts框架的電子政務系統設計和實現過程,系統遵循J2EE規(guī)范和MVC設計模式,并且采用了可重用的設計思想和一些組件技術。實現跨平臺、低成本、開發(fā)高效快捷,可裁剪和移植性強等優(yōu)點,解決了目前電子政務系統推廣普及的一些瓶頸問題,適用于電子政務系統建設項目的需求。

關鍵詞:電子政務;框架;Struts

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)05-00ppp-0c

電子政務是指政府機構運用計算機技術和網絡技術,將其管理和服務的職能轉移到網絡上去,同時實現政府組織結構和工作流程的重組優(yōu)化,超越時間/空間和部門分隔的限制,建成一個精簡,高效,廉潔,公正的政府運作模式調研表明,電子政務系統的目標是要建立政府信息化網絡,建成覆蓋機關各處室,各部門,基層各個單位的信息集成系統,實現行政機關的辦公現代化,開發(fā)基于Web方式的辦公信息系統。文中詳細介紹了在Web環(huán)境下的基于Struts框架如何應用于電子政務系統的開發(fā)實例

1 Web框架Struts

Struts是一個基于MVC模式的Web應用程序的框架[1]。它是Apache Software Foundation的一個開源項目。至今已被廣泛使用。MVC模式分成三個核心部件:模型(Model)、視圖(View)、控制器(Controller),它們各自處理自己的任務。其中Action Servlet類是控制器組件,它根據用戶請求,調用相應的Action類實例進行處理,然后選擇相應的JSP文件返回客戶端;ActionForm類是模型中的數據Bean類,用來表示從View組件中輸入的數據;Action類是模型中的邏輯Bean類,對它擴展后可以執(zhí)行某一特定請求的業(yè)務邏輯組件Action之間的映射。此外Struts還包含了一個非常重要的配置文件struts-config.xml,它包括關于Web應用程序的Action Mapping信息、JDBC數據源信息、ActionForm Bean信息和全局發(fā)等。

用Struts框架可以將業(yè)務邏輯,控制和數據顯示功能模塊區(qū)分開來,應用程序功能劃分很清晰,開發(fā)人員可以分別集中開發(fā)業(yè)務邏輯模塊,程序控制模塊和數據顯示模塊,不必擔心使三者之間的耦合。Struts工作原理如圖1所示。

圖1 Struts工作原理圖

Struts提供了Control組件并且整合了其它技術來實現Model和View[2]。對于Model,Struts可以使用標準數據訪問技術,如JDBC和EJB,也可以使用第三方工具,如Hibernate,至于View,Struts支持JSP技術,支持JSTL和JSF,也可以使用Velocity模板,XSLT及其它表示系統。此外Struts提供了自定義的標記庫可以輔助JSP進行表示層的設計,通過這些自定義標記可以非常好的和系統的Model部分交互。Struts的核心組件有ActionServlet,Action,ActionForm,ActionMapping,ActionForword,TagLib以及配置文件等。我們用JSP技術結合Struts強大的TagLib來實現我們的表示層。

2 應用系統構建

采用基于MVC模式的Struts應用架構進行開發(fā)[3],適應需求的經常變更,能靈活進行業(yè)務邏輯開發(fā)。辦公自動化解決方案以辦公處理為基礎,充分考慮了行業(yè)發(fā)展中常規(guī)性的和可變性的因素,為企業(yè)提供了全方位的多層面的應用服務,滿足機關現有的應用需求,符合其辦事特征和表現方式。

采用基于J2EE的Web應用體系結構。基于三層的瀏覽器/服務器(B/S)體系結構。Web瀏覽器是集成所有信息服務的最終平臺。提供全動態(tài)、分布式的信息發(fā)布與處理機制,實現政務網站信息按部門和權限進行動態(tài)發(fā)布和更新。結構圖示意如下:

圖2 體系結構

2.1 用戶層和WEB服務層

用戶層是系統面向用戶的各種應用子程序,包括信息瀏覽、信息查詢、信息錄入子程序。用戶通過瀏覽器訪問管理信息系統。具有交互功能,進行填寫信息、提交請求的操作,請求結果返回在客戶端顯示。

WEB 服務層的功能是提供系統應用界面。系統的開發(fā)基礎是基于WEB技術,因為當今WEB技術以它的方便操作、界面可以讓用戶根據需要自行更改、功能強大等特點廣泛的被應用。通常情況下對于訪問者和系統管理人員來說,都可以通過瀏覽器來完成系統操作。

2.2 業(yè)務邏輯層

業(yè)務邏輯層主要是對用戶的請求進行判斷處理。當用戶發(fā)送數據請求后,首先會進入Web應用層,應用層對用戶請求數據進行加工處理并發(fā)送到業(yè)務邏輯層。通過邏輯層的驗證后,執(zhí)行相應的業(yè)務操作,將用戶請求提交到數據庫,再由數據庫返回用戶需求的結果給Web應用層,再通過應用層直接將數據返回給用戶。

本系統的應用核心將采用J2EE分布式應用技術,它是一種跨平臺的開放結構,用于開發(fā)基于面向對象技術的客戶端/服務器應用程序??蛻舳丝梢酝ㄟ^在對象上實現的接口訪問對象。針對系統可能出現多個操作并發(fā),以及由于突發(fā)性的故障所造成的問題,系統會采用多層分布式應用。多層分布式應用采取事務方法來管理所有操作,保證所有事務要么被全部成功地提交,要么全部回滾到事務初始狀態(tài)。這樣可確保系統數據的穩(wěn)定性和完整性。

2.3 數據庫層(應用后臺)

為了提高開發(fā)Web應用的效率,簡化Java數據庫應用的開發(fā),我們采用數據庫組件的設計,使其能夠與Struts框架有機結合,以便利用Struts框架的健壯性和伸縮性達到組件的可重用性,降低數據庫應用與數據來源的相關性。

其設計的核心思想是簡化JDBC編程,封裝建立數據庫連接的步驟,通過修改屬性文件完成數據存取邏輯,從而達到設計目的。因此在系統中數據庫組件采用基于DAO模式[4],在實現中封裝注冊和載入JDBC驅動程序、建立連接類DBConnectionManager,對數據庫連接池進行安全封裝和控制管理,對一個或多個由屬性文件定義的數據庫連接池的訪問。

通過運行SQL語句及處理查詢結果集類DBOperation,實現數據庫的動態(tài)連接功能,添加上實際應用中常用的方法實現與數據源的交互。

在數據庫交互類AppInter中編寫與業(yè)務邏輯相關的SQL語句,然后調用DBOperation運行SQL語句及分頁控制PageControl處理查詢結果集,與數據源進行交互。

編寫AppAction類對Struts中的Action類的繼承和實現,接受來自頁面表單的參數,調用相應的業(yè)務邏輯類,并將得到的結果在ActionServlet控制類下傳給頁面展示。

3 Struts在應用中的改進

3.1 功能和頁面的安全控制

由于政務系統要有一個良好的安全性,我們程序設計中采用由一個類負責進行安全檢查,而不是在每個JSP頁面或Action類中都實現這個功能。通過使用processRales方法可提供頁面級別和功能級別的安全檢查,需要擴展RequestProcessor類,覆蓋其方法processRoles以進行檢查,其中使用HashMap存儲角色到頁面ID和功能ID的映射,可以采用JAAS框架在web. xml中加人安全的聲明的方法來實現功能權限上的訪問。

如果使用了Tiles,對于頁面級的安全控制可寫入在tiles的配置文件中,如下:

<definition name =“defl” path=\"/classicLay-out. jsp\" role=\" admin\">

<put name =“title\" value =”Tiles Example 1”/>

<put name =“header\" value=\"/common/header. jsp\"/>

<put name=“menu” value=\"/common/menu.jsp\"/>

<put name =“footer\" value=\"/common/footer, jsp\"/>

<put name=“body\" value=\"/bodyl .jsp” />

< /definition>

3.2 中文請求的處理問題

中文處理的問題在JSP/Servlet中由來已久,由于ActionServlet自動從HtmlForm中提取請求數據到FormBean,因此如果請求數據中包含中文,則FormBean中讀取到的都是亂碼。在上面的系統中,我們采用了Servlet2.3中新提供的filter特性來解決這個問題。我們采取的是編寫一個編碼轉換的類實現Filter接口,并且在web.xml文件中做相應的配置,就可以讓所有的request數據在被接收之前轉換為GB2312編碼。

4 結束語

Struts 是一種優(yōu)秀的J2EE MVC框架方式。靈活應用它所提供的大量標簽庫,能大大提高Web 應用程序的開發(fā)效率。在頁面導航方面,通過一個配置文件即可把握整個系統各部分之間的聯系,這給后期維護帶來很大的便利。尤其是當另一批開發(fā)者接手該項目時,這種優(yōu)勢體現得更加充分。就程序員而言,可以充分利用 Struts框架提供的各種使用類和標簽庫,簡化編碼工作,把更多的精力花在解決實際業(yè)務問題上。利用Struts 框架進行 Web 應用的開發(fā)也非常有利于人員分工和項目管理,同時系統的可維護性和可擴充性也得到提高。

參考文獻:

[1]開發(fā)專家之Sun ONE.JSP應用開發(fā)詳解[M].電子工業(yè)出版社,2005.

[2]孫衛(wèi)琴.精通Struts:基于MVC的Java Web設計與開發(fā)[M].北京:電子工業(yè)出版社,2004.

[3]王長利,全厚德.基于數據庫的通信設備自動測試系統設計[J].微計算機信息,2005,1(1):69-71.

[4]孫葉楓,宋中山.JSP中基于連接池的數據庫訪問技術[J].計算機應用研究,2005,(6):80-82.

收稿日期:2007-12-25

作者簡介:唐金鵬(1975-),男,湖南長沙人,高級工程師,碩士,研究方向為:工作流管理,軟件框架技術;李玲琳(1974-),女,湖南長沙人,講師,碩士,主要研究方向為:軟件工程,工作流。

主站蜘蛛池模板: 亚洲AV色香蕉一区二区| 成人欧美在线观看| 国内嫩模私拍精品视频| 五月天婷婷网亚洲综合在线| 欧美激情视频一区二区三区免费| 99视频在线免费看| 亚洲无码免费黄色网址| 国产成+人+综合+亚洲欧美| 成人福利免费在线观看| 精品国产Av电影无码久久久| 99无码中文字幕视频| 日本国产精品一区久久久| 2020国产精品视频| 日韩成人高清无码| 国产老女人精品免费视频| 成人免费午夜视频| 毛片基地美国正在播放亚洲| 亚洲侵犯无码网址在线观看| 成人福利在线视频| 99热这里只有精品久久免费| 国产精品美女免费视频大全 | 无码内射在线| 欧美激情视频一区| 日本午夜网站| 欧洲亚洲欧美国产日本高清| 亚国产欧美在线人成| 欧美久久网| 亚洲高清资源| 久草视频中文| 亚洲无码高清视频在线观看| 成人91在线| 国产区人妖精品人妖精品视频| 在线免费无码视频| 国产精品第| 四虎影院国产| 伊人五月丁香综合AⅤ| 国产在线97| 亚洲aaa视频| 天堂网亚洲综合在线| 国产午夜一级淫片| 亚洲二区视频| 欧美视频二区| 国产精品美女免费视频大全| 91无码视频在线观看| 国产麻豆另类AV| 色婷婷综合在线| 精品一区二区久久久久网站| 免费a在线观看播放| 国产97公开成人免费视频| 日韩一级二级三级| 欧美日在线观看| 日本91视频| 国产国拍精品视频免费看| 国产精品久久久精品三级| 日韩无码黄色| 久久成人免费| 无码专区国产精品一区| 国产视频自拍一区| 成色7777精品在线| 国内精品九九久久久精品| 欧美一区福利| 无码一区二区三区视频在线播放| 日韩亚洲综合在线| 青草视频网站在线观看| 天堂在线www网亚洲| 国产精品久久自在自2021| 夜夜操天天摸| 国产呦视频免费视频在线观看| 久久香蕉国产线看观看式| 欧美在线中文字幕| 亚洲码一区二区三区| 91九色最新地址| 欧亚日韩Av| 国产第八页| 伊人成人在线| 亚洲中文在线看视频一区| 免费国产不卡午夜福在线观看| 亚洲综合九九| 亚洲AV永久无码精品古装片| 国产精品久久久久鬼色| 免费在线a视频| 国产女人在线观看|