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

基于Struts框架技術的Web應用

2008-04-12 00:00:00林華靈
中國新技術新產品 2008年20期

摘要:Struts是MVC模式的經典實現,它強制性地將Web應用程序分割為模型、視圖和控制器三個組件,提高了系統的可維護性與可移植性,文章運用原理說明與實例解析相結合的方法,對Struts的技術特性與應用形式作了進一步的探索與研究。

關鍵詞:Struts;MVC; 網絡購物系統

1 MVC設計模式

MVC是一種經典的設計模式。它強制性地使應用程序的輸入、處理和輸出分開,把應用程序抽象為三個核心部件:Model(模型)、View(視圖)、Controller(控制器)。模型代表程序的核心功能,負責實現業務邏輯。視圖負責提供用戶輸入接口或展現業務處理的結果數據,實現與用戶的交互。控制器負責接受用戶請求,調用某個模型處理用戶請求,最后將結果送給特定視圖進行顯示。MVC模式實現功能模塊與顯示模塊的分離,因此提高了應用系統的可維護、可擴展、可移植及組件的可復用性。三者之間的關系如圖1所示。

2 Struts對MVC模式的實現與工作流程

2.1 Struts基于MVC模式的組件結構

Struts是由Apache開源軟件聯盟提供的一套用于構建Java Web應用程序的框架。它的目標是將Web應用程序分離為視圖層、控制層、模型層,也就是MVC模式。

視圖。它主要由JSP與ActionForm構成,Struts定義專用的標簽庫簡化了視圖組件的開發,提高了開發效率。基于ActionForm的表單顯示、表單驗證簡化了用戶界面的開發。

模型。模型代表了一個系統的業務數據和業務邏輯,并負責訪問和更新持久化數據。在Struts中,系統業務邏輯主要由JavaBean或EJB組件來體現。

控制器。控制器主要由ActionServlet類和Action類來實現。ActionServlet類是Struts框架中的核心組件,所有的用戶請求都先由ActionServlet來處理,然后根據配置文件struts-config.xml的配置信息,把請求轉發給合適的Action對象。Action類是用戶請求和業務邏輯之間的橋梁,每個Action充當著一項業務代理,同時,Action類還負責更新模型的狀態,并幫助控制應用程序的流程。

2.2 Struts的工作流程

當Actionservlet(控制器)接收到一個客戶請求時,將執行如下流程:

檢索和用戶請求匹配的ActionMaPPing實例,如果不存在,就返回用戶請求路徑無效的信息。

如果AstionForm實例不存在,就創建一個ActionForm對象,把客戶提交的表單數據封裝到ActionForm對象中。

根據配置信息決定是否需要表單驗證,如果需要驗證,就調用ActionForm的驗證方法validate()。

如果ActionForm的validate()方法返回一個不包含任何ActionMessage的ActlonErrors集合對象或返回nun,就表示表單驗證成功。

Actionservlet根據AstionMapping實例包含的映射信息決定將請求轉發給系統的哪個Action,如果相應的Action實例不存在,就先創建這個實例,然后調用Aetion的execute()方法。

Action的execute()方法返回一個ActionForm對象,Actionservlet再把客戶請求轉發給ActionForward對象所指向的JSP組件。ActionForward對象指向的視圖組件生成動態網頁,返回給客戶。對于以上流程的第4,如果ActionForm的validate()方法返回一個包含一個或多個ActionMessage的ActionErrors對象,就表示表單驗證失敗,此時Actionservlet將直接把請求轉發給包含用戶提交表單的JSP組件。在這種情況下,不會創建Action對象。Struts的體系結構如圖2所示。

3基于Struts框架技術的網上購物系統的體系結構

下文以一個名為ShoppingOnline的購物系統的應用為例,介紹系統基于Struts技術的架構設計與工作流程。

3.1系統架構設計

用戶通過瀏覽器訪問該系統,故系統的軟件架構采用的是多層的B/S結構,利用Struts框架技術實現快速開發。用JSP、html組成實現View(視圖)組件,使用ActionServlet對象結合structs-config.xml文件配置充當Controller(控制器),并將業務處理邏輯抽象成各種接口和實現類,再由不同的Action調用,這樣就組成了Model(模型)。系統的架構設計如圖3所示。

3.2系統的工作流程

系統根據功能劃分,包含了顧客注冊登陸、商品檢索瀏覽、購物車、商品管理、訂單管理、會員管理與系統用戶管理八個主要模塊。

以顧客注冊模塊為例,當用戶填寫注冊表單提交之后,register.jsp注冊表單的內容由Struts自動封裝到MemberFormBean對象中,并遞交Validator進行表單有效性驗證,如果驗證失敗則返回register.jsp,要求重新填寫表單直到通過驗證,否則就將MemberFormBean對象送交給Memaction的reg()方法進行處理,處理完成后將結果的提示信息帶回給register.jsp,并完成注冊。顧客注冊模塊的Struct實現如圖4所示。

參考文獻

[1]潘昊,陳兵,江艷玲. 基于Struts框架的電子政務應用系統開發[J].軟件導刊,2008(2)

[2]劉斌Java Web整合開發[M].電子工業出版社,2007(11).

[3]戚欣,熊前興.基于MVC設計模式的電子商務WEB應用框架[J].武漢理工大學學報(信息與管理工程版),2002(2).

[4]劉鋒,趙貴根,周明天,等.基于J2EE的電子政務工作流的研究與設計[J].計算機應用研究,2005(2).

[5]韋加強,潘蔭榮.基于J2EE平臺和MVC模型的電子政務系統的設計[J].信息技術,2005(8).

主站蜘蛛池模板: 国产在线观看人成激情视频| 国内精品九九久久久精品| 国产精品不卡永久免费| 婷婷色中文网| 露脸国产精品自产在线播| 亚洲成aⅴ人片在线影院八| 国产手机在线小视频免费观看| 色综合久久久久8天国| 国产精品久久久久久搜索| 2021精品国产自在现线看| 国产剧情伊人| 成人精品亚洲| 无码一区18禁| 97精品国产高清久久久久蜜芽| 亚洲精品视频网| 欧美亚洲激情| 国内精自视频品线一二区| 国产va在线观看免费| 第一页亚洲| 91高清在线视频| 美女高潮全身流白浆福利区| 欧美激情成人网| 99久久免费精品特色大片| 国产第一色| 国产中文一区二区苍井空| 国产亚洲精品资源在线26u| 999国内精品久久免费视频| 91青青草视频在线观看的| 国产九九精品视频| 1024国产在线| 99在线观看精品视频| 亚洲成综合人影院在院播放| 91激情视频| 91久久偷偷做嫩草影院| 青青青亚洲精品国产| 亚洲人成电影在线播放| 国产二级毛片| 久久大香香蕉国产免费网站| 自拍偷拍一区| 久久国产精品国产自线拍| 亚洲欧洲日产国产无码AV| 91无码人妻精品一区| 欧美在线精品怡红院| 国产亚洲欧美日韩在线一区二区三区| 久久天天躁狠狠躁夜夜躁| 国内精品一区二区在线观看 | 亚洲综合中文字幕国产精品欧美| 久久久久久午夜精品| 国产国产人成免费视频77777| 97视频在线精品国自产拍| 老色鬼欧美精品| 黄色不卡视频| 91精品亚洲| 久久久久免费看成人影片 | 日韩高清无码免费| 国产偷倩视频| 在线观看亚洲人成网站| 欧美国产日韩另类| 国产精品免费p区| 国产午夜小视频| 国产一区二区免费播放| 日韩欧美在线观看| 中文字幕亚洲另类天堂| 亚洲天堂精品在线观看| 色网站在线免费观看| AV无码一区二区三区四区| 国产人在线成免费视频| 呦系列视频一区二区三区| 免费jjzz在在线播放国产| www亚洲天堂| 大陆国产精品视频| 97视频在线观看免费视频| 国产在线无码一区二区三区| 亚洲 欧美 日韩综合一区| 国产视频大全| 国产精品密蕾丝视频| 综合天天色| 免费国产高清视频| 91福利国产成人精品导航| 一区二区三区四区日韩| 久久婷婷色综合老司机| 丁香婷婷激情网|