Struts2框架
一、什麼是框架,框架有什麼用?
1、框架 是 實現部分功能的代碼 (半成品),使用框架簡化企業級軟件開發 ,提高開發效率。
2、學習框架 ,清楚的知道框架能做什麼? 還有哪些工作需要自己編碼實現
二、什麼是struts2框架,它有什麼用?
1、Struts 2是在 struts 1和WebWork的技術基礎上進行了合併的全新的Struts 2框架。
2、其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork爲核心
3、struts2=struts1+webwork;
4、struts2框架是apache產品。
5、struts2是一個標準的mvc框架。
6、javaweb中的model2模式就是一個mvc模式。 model2=servlet+jsp+javaBean
7、struts2框架只能在javaweb開發中使用的。
8、使用struts2框架,可以簡化我們的web開發,並且降低程序的耦合度。
三、XWork—它是webwork核心,提供了很多核心功能:
1、前端攔截機(interceptor)
2、運行時表單屬性驗證
3、類型轉換
4、強大的表達式語言(OGNL – the Object Graph Navigation Language)
5、IoC(Inversion of Control反轉控制)容器等
四、一個請求在Struts2框架中的基本工作過程如下:
操作(Actions) 攔截器(Interceptors) 值棧(Value Stack)/OGNL 結果(Result)/結果類型
而Struts2 與傳統的MVC框架略有不同,因爲它由Action扮演模型的角色,而不是控制器,雖然這樣會有一些重疊。
1、客戶端初始化一個指向Servlet容器(例如Tomcat)的請求
2、這個請求經過一系列的過濾器(Filter)(這些過濾器中有一個叫做ActionContextCleanUp的可選過濾器,這個過濾器對於Struts2和其他框架的集成很有幫助,例如:SiteMesh Plugin);
3、接着StrutsPrepareAndExecuteFilter被調用,StrutsPrepareAndExecuteFilter詢問ActionMapper來決定這個請求是否需要調用某個Action(一般web.xml加載過濾器);
4、如果ActionMapper決定需要調用某個Action,StrutsPrepareAndExecuteFilter把請求的處理交給ActionProxy;
5、ActionProxy通過ConfigurationManager詢問框架的配置文件,找到需要調用的Action類(配置文件struts.xml);
6、ActionProxy創建一個ActionInvocation的實例。
7、ActionInvocation實例使用命名模式來調用,在調用Action的過程前後,涉及到相關攔截器(Intercepter)的調用。
8、一旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。
Struts2下載
第一步: 在以下網址中下載最新的struts2版本。
http://struts.apache.org/download.cgi
第三步:單擊“struts-2.3.37-all.zip”下載struts 2.3.37的完整版 。你也可以下載最新版的,但新版是不太穩定,所以我們不推薦使用。
第四步:進行下載文件的文件夾,進行解壓
struts 2的目錄結構如下圖所示。
struts2的目錄結構:
(1)apps: 該文件夾包含了基於struts2 的示例應用,這些示例應用對於學習者是非常有用的;例子程序war後綴表示web壓縮文件
(2)docs : 該文件夾下包含了struts2 相關文檔,包括struts2 快速入門、struts2的文檔以及API文檔等
(3)lib : 該文件夾下包含了Struts2框架和核心類庫,以及struts2第三方插件類庫
開發時沒必要將lib目錄下jar文件全部複製到項目中
(4)src : 該文件夾下包含了Struts2框架的全部源代碼
A、core 它是struts2的源代碼
B、xwork-core struts2底層使用了xwork,xwork的源代碼