Struts2一個面向動作的框架
框架是一個結構化的軟件,盡量將特定領域的日常任務和具體問題的處理流程抽象化,然后提供一個平臺,基于這個平臺可以更快地構建web應用程序。
- 自動化常見任務
- 提供了架構解決方法
Struts2是一個面向動作的框架,其核心的關鍵抽象是動作。
Struts2是實現MVC設計模式的第二代web應用程序框架,由Apache組織推出。
</span>MVC設計模式的3個關注點:模型、視圖和控制器。在struts2中,它們分別通過action,result,FilterDispatcher實現。如下圖所示:
控制器:FilterDispatcher
控制器在最前端,是請求處理過程中第一個被觸發的組件。
控制器的工作是將請求映射到動作。
FilterDispatcher是一個Servlet過濾器,它檢查每一個傳入請求,決定哪個動作來處理這個請求。你只需要告訴框架哪個請求URL需要映射到哪個動作即可。
可以通過基于XML的配置文件或Java注解來完成這個任務。
模型:Action
模型代表了該應用的核心功能,她負責處理用戶的數據和實現業務邏輯。同時,模型還為視圖的顯示提供數據,并可被多個視圖所共用。
視圖:Result
視圖主要指與用戶交互的界面,也即應用程序的外觀。視圖可以接收用戶的輸入,但它并不包括任何實際的業務處理,它只是將數據轉交給控制器。同時,視圖還負責展現模型傳遞給用戶的數據,當后臺模型更新數據時,視圖也應當隨之更新它的顯示。
一個簡單的struts實例
(1)創建Tomcat工程
(2)添加Struts包
本實例沒有使用eclipse平臺下的struts插件,因此需要手動導入struts的二進制包放到Tomcat工程中。
把所有的*.tld文件放到新建的Tomcat工程的 TestStruts 的\ TestStruts \WEB-INF目錄下,把所有的*.jar文件放到\TestStruts\WEB_INF\lib目錄下。這樣Struts包添加完成。
(3)實例功能描述
1)進入首頁,hello.jsp
2)通過單擊鏈接HelloWorld_1和HelloWorld_2,分別進入HelloWorld_1.jsp頁面和HelloWorld_2.jsp頁面。這其實就是一個用Struts的控制器來控制頁面轉發的功能的實現。程序非常簡單甚至可以通過簡單的HTML標記語言實現,這里主要為了講解Struts的控制器如何在控制頁面轉換中工作。
(4)設計視圖
hello.jsp
HelloWorld_1.jsp
HelloWorld_2.jsp
(5)設計控制器
通過以上代碼可以看到其實控制器就是通過讀取從request傳遞過來的參數來判斷頁面的轉發方向的,而這個參數是從hello.jsp傳遞過來的。
(6)編寫配置文件
web.xml文件
struts-config.xml文件
本文由用戶 yyz0612 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!