1.Struts2概述:
- Struts2是一個用來開發MVC應用程序的框架。
- Struts2提供了web應用程序開發過程中一些常見問題的解決方案;
- 對用戶輸入的數據進行合法性驗證
- 統一的布局
- 可擴展性
- 國際化和本地化
- 支持Ajax
- 表單的重復提交
- 文件的上傳和下載
- ... ...
2.Struts2相對于Struts1的優勢:
- 體系結構更優秀
- 類更少,?更高效:在Struts2中無需使用“ActionForm”?來封裝請求參數
- 擴展更容易:Struts2通過攔截器完成了框架的大部分工作,在Struts2中插入一個攔截器相當簡單
3.Struts2的本質:
- Struts2嚴格來說并非是從Struts1升級而來,而是換了品牌標簽的webwork
- 從Struts1到Struts2的升級:
Struts1使用ActionServlet作為控制器 | Struts2使用過濾器作為控制器 |
Struts1中每一個HTML表單都對應一個ActionServlet實例 | Struts2中HTML表單直接被映射到一個POJO |
Struts1的驗證邏輯編寫在ActionServlet中 | Struts2的驗證邏輯編寫在Action中 |
Struts1中Action類必須繼承org.apache.struts.action.Action類 | Struts2中任意一個POJO都可以是Action類 |
Struts1使用el和jstl | Struts2在頁面中使用ognl來顯示各種對象模型 |
4.Struts2環境搭建:
- 添加jar包:將jar包添加到應用程序的webContent下的WEB-INF/lib目錄下
- 在當前應用程序的web.xml文件中配置Struts2
- 添加Struts2配置文件Struts2.xml到src目錄的根目錄下
- 關聯Struts2的智能提示:
- 復制http://struts.apache.org/dtds/struts-2.5.dtd?→proferences→xml→xml catalog→粘貼到key中→File System→struts-2.5.14.1\src\core\src\main\resources\struts-2.5.dtd
- 注意:Key Type必須選擇URI
- 注意:在使用struts2.3以上版本時,如果啟動服務器后出現404 NOT FOUND錯誤則刪除掉lib目錄下的struts2-rest-plugin-2.5.14.1.jar
5.使用strut2的優點:
- ?Filter的使用:不需要直接在Filter中編寫代碼,而是通過struts2的配置文件實現
- 取值:只需要使用${屬性名}:${requestScope.product.productId }→${productId }
- 使用步驟:
- 在index.jsp頁面跳轉到/WEB-INF/pages/input.jsp
- 在input.jsp頁面中跳轉到Product類中的save方法,save返回一個"details",并通過Struts2的反射跳轉到/WEB-INF/pages/details.jsp
- struts.xml配置文件:
6.詳解:

?