struts培训视频教程(Struts2注解入门到精通)
struts培训视频教程(Struts2注解入门到精通)
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”) publicclassUserActionextendsActionSupport{ }
如果注解中只有一个value参数值,或者其他参数值都使用默认值时,则可以对value参数设置进行简写,比如上述的代码:
@ParentPackage(“mypackage”) publicclassUserActionextendsActionSupport{ }
把
struts2-convention-pligin-2.x.x.jar包导入到web应用中,才能在Action类中使用注解。
Namespace:Namespace注解用于指定Action所在的包的命名空间。该注解只有一个value参数,用于指定ACtion所属于的命名空间。
当使用Namespace注解时,在为命名空间取名需要使用斜杠(/)开头。
使用Namespace注解,指定其Action所在的包的命名空间为/user:
@Namespace(“/user”) publicclassUserActionextendsActionSupport{ }
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”) publicclassUserActionextendsActionSupport{ }
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”)} } publicclassUserActionextendsActionSupport{ }
零基础学习Struts2入门,推荐动力节点Struts2视频教程,这是一套超级详细的Struts2入门教程,本套Struts2视频教程适合Struts2框架零基础学员学习,这套入门教程通俗易懂,是你学习Struts2框架的好帮手。
-
- 0一1岁男宝宝创意发型(2021最新男宝宝发型图片大全)
-
2023-04-12 04:48:15
-
- 腾讯与360之争的结果及案例分析(腾讯和360大战属于哪类竞争)
-
2023-04-12 04:46:11
-
- 鬼吹灯八部剧情详解(鬼吹灯每部剧情梳理及故事故事)
-
2023-04-12 04:44:07
-
- 模特魅影精彩视频(模特魅影在线观看完整版)
-
2023-04-12 04:42:03
-
- 寒号鸟告诉我们什么道理(寒号鸟寓言故事的启示)
-
2023-04-12 04:39:59
-
- TTL是什么意思(专业摄影师告诉你什么是“TTL”)
-
2023-04-12 04:37:55
-
- 三月三荠菜煮鸡蛋的功效与作用(究竟为什么要吃)
-
2023-04-12 04:35:51
-
- 免费500个实名认证号码大全(互联网常见实名认证方式介绍)
-
2023-04-12 04:33:47
-
- 凿壁偷光的含义是什么(一文详解凿壁偷光的寓意和启示)
-
2023-04-12 04:31:44
-
- 羊排怎么炖好吃(教你清炖羊排汤正确做法)
-
2023-04-12 04:29:40
-
- 性价比高的安卓手机哪款最好(手机性价比排行榜前十名)
-
2023-04-12 04:27:36
-
- 马云近几天状况2022(马云怎么了出什么事情了)
-
2023-04-12 04:25:33
-
- 武咸城际铁路站点规划(武汉都市圈环线被纳入计划)
-
2023-04-12 04:23:30
-
- 待机最长的智能手机是哪一款(哪款手机续航时间最长)
-
2023-04-12 04:21:26
-
- 立陶宛和中国关系为什么不好(立陶宛为何不断制造矛盾)
-
2023-04-12 04:19:22
-
- 双枪会给出答案什么梗(双枪会有文字还有配图)
-
2023-04-12 04:17:19
-
- 1一15岁身高体重对照表2021(个子矮小如何快速长高)
-
2023-04-12 04:15:15
-
- 鱼刺卡喉咙怎么办 教大家一个简单的好办法(1招,鱼刺自己跑出来)
-
2023-04-12 04:13:12
-
- 河北最差的公办二本大学(最坑人的学校排名)
-
2023-04-12 04:11:08
-
- 打死蝙蝠的后果(打死蝙蝠会报复吗)
-
2023-04-12 04:09:05