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