更新時間:2021-01-20 16:56:23 來源:動力節點 瀏覽1169次
Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。Struts 2是Struts的下一代產品,是在struts 1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。
其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。
使用注解來配置Action可以實現零配置,零配置將從基于純XML的配置轉化為基于注解的配置。使用注解,可以在大多數情況下避免使用struts.xml文件來進行配置。
struts2框架提供了四個與Action相關的注解類型,分別為ParentPackage、Namespace、Result和Action。
ParentPackage:ParentPackage注解用于指定Action所在的包要繼承的父包。該注解只有一個value參數。用于指定要繼承的父包。
示例:
使用ParentPackage注解,其value值為mypackage,表示所在的Action需要繼承mypackage包,
@ParentPackage(value="mypackage")
public class UserAction extends ActionSupport{
}
如果注解中只有一個value參數值,或者其他參數值都使用默認值時,則可以對value參數設置進行簡寫,比如上述的代碼:
@ParentPackage("mypackage")
public class UserAction extends ActionSupport{
}
把struts2-convention-pligin-2.x.x.jar包導入到web應用中,才能在Action類中使用注解。
Namespace:Namespace注解用于指定Action所在的包的命名空間。該注解只有一個value參數,用于指定ACtion所屬于的命名空間。
當使用Namespace注解時,在為命名空間取名需要使用斜杠(/)開頭。
使用Namespace注解,指定其Action所在的包的命名空間為/user:
@Namespace("/user")
public class UserAction extends ActionSupport{
}
Result:Result注解用于定義一個Result映射,該注解包含四個參數,
1)name:可選參數,用于指定Result的邏輯名,默認值為success
2)location:必選參數,用于指定Result對應資源的URL
3)type:可選參數,用于指定Result的類型,默認值為NullResult.class
4)params:可選參數,用于為Result指定要傳遞的參數,格式為:{key1,value1,key2,value2,...}
如果type參數的值為NullResult.class,那么struts2框架在解析Result配置時,會使用默認的結果類型(即ServletDispatcherResult)來替換NullResult。
@Result(name="login",location="/login.jsp",params={},type="dispatcher")
public class UserAction extends ActionSupport{
}
Action:Action注解對應于struts.xml文件中的action元素。該注解可用于Action類上,也可用于方法上。這個注解包含一下的幾個屬性:
1)value:可選參數,表示Action的名字
2)results:可選參數,表示Action的多個Result映射。該屬性用于定義一組Result映射
3)interceptorRefs:可選參數,表示Action的多個攔截器。該屬性用于定義一組攔截器
4)params:可選參數,表示傳遞給Action的參數,格式為{key1,value1,key2,value2,...}
5)exceptionMappings:可選參數,指定Action的異常處理類,他是一個Exception-Mapping的數組屬性
@Action{
value="user",
interceptorRefs = {
@InterceptorRefs(value="fileUpload",params={"maximumSize","1024000","allowedTypes",image/123}),
@InterceptorRefs(value = "basicStack")
},
results = {
@Result(name="success",location="success.jsp"),
@Result(name="login",location="login.jsp")
},
exceptionMappings = {
@ExceptionMapping(exception="java.lang.Exception",result="error")
}
}
public class UserAction extends ActionSupport{
}
零基礎學習Struts2入門,推薦動力節點Struts2視頻教程,這是一套超級詳細的Struts2入門教程,本套Struts2視頻教程適合Struts2框架零基礎學員學習,這套入門教程通俗易懂,是你學習Struts2框架的好幫手。
課程學習目錄
1.Struts2:Struts2的引入-通過Filter解決需求問題
2.Struts2:Struts2的引入-通過核心Filter解決需求問題
3.Struts2:Struts2的引入-配置文件的引入
4.Struts2:Struts2在三層架構中的位置
5.Struts2:Struts2框架介紹
6.Struts2:Struts2的特點
7.Struts2:Struts2運行環境搭建-導入Jar包
8.Struts2:Struts2運行環境搭建-Struts2的啟動項注冊
9.Struts2:Struts2運行環境搭建-定義Struts2的配置文件
10.Struts2:Struts2運行環境搭建-XML沒有自動提示問題的解決
11.Struts2:今天內容重難點
12.Struts2:對上次課內容的回顧
13.Struts2:Struts2運行環境搭建-MyEclipse中配置Tomcat
14.Struts2:Struts2運行環境搭建-運行環境搭建成功測試
15.Struts2:Struts2運行環境搭建-每個Struts2基本Jar的作用
16.Struts2:第一個Struts2程序-程序實現
17.Struts2:第一個Struts2程序-程序的簡單運行流程
18.Struts2:第一個Struts2程序-官方流程圖分析
19.Struts2:第一個Struts2程序-Tomcat的應用管理配置
20.Struts2:第一個Struts2程序-省去項目名稱的發布方式
21.Struts2:絕對路徑與相對路徑-什么是絕對路徑
22.Struts2:絕對路徑與相對路徑-什么是相對路徑
完整目錄可以關注動力節點Java視頻教程
以上就是動力節點Java培訓機構的小編針對“Struts2注解視頻教程,入門到精通”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習