Struts2是一個基於MVC設計模式的web應用框架,它本質上至關於一個Sevlet。是Struts1的下一代產品,是在structs1和WebWork技術的基礎上進行合併後的全新框架(WebWork是由OpenSymphony組織開發的,致力於組件化和代碼重用的J2EE Web框架,他也是一個MVC框架)。前端
雖然Struts的名字與Struts1類似,但其設計思想卻有很大的不一樣。實質上,Struts2是以WebWork爲核心的,它採用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器與ServletAPI徹底脫離開,因此Structs能夠理解爲WebWork的更新產品。web
Struts擁有優良的設計和功能,其優點具體以下:ajax
常見的Web層框架apache
web層框架都會有一個特色,就是基於前端控制器模式實現的。傳統方式的開發,有一次請求就會對應一個Servlet,這樣會致使出現不少Servlet。而Struts2將全部的請求都先通過一個前端控制器,在前端控制器中實現框架的部分功能,剩下具體操做要提交到具體的Action中。前端控制器本質就是過濾器,由於須要全部的請求均可以被過濾器攔截,而後在過濾器中實現部分的功能。設計模式
一、下載Structs2的開發包,官網:http://struts.apache.org/tomcat
二、解壓Struts2的開發包:app
三、使用IDEA,建立一個Struts項目。並導包。我是在以前Hibernate項目的基礎上建立的,因此我建的是Module。框架
輸入模塊名稱,點擊完成。jsp
進入剛纔解壓目錄下的apps(示例程序),找到blank,並解壓,以下所示:組件化
解壓後進入web_Inf下,選擇lib目錄,複製到咱們項目的WEB_INF下
而後,作以下操做,咱們才能在項目中使用包。
而後點擊OK——>Apply——>OK便可
四、在src下寫一個HelloAction類,編寫以下代碼:
五、完成Action的配置,並建立一個hello.jsp。
六、在web.xml中配置核心過濾器
七、測試。部署到tomcat。
Apply——>OK,Apply——>OK 便可。
因爲我有多個項目,會報錯:
解決辦法是把其餘項目的發佈路徑修改爲不同的就行:
運行結果以下: