Struts2之路

编程入门 行业动态 更新时间:2024-10-20 03:27:41

Struts2<a href=https://www.elefans.com/category/jswz/34/1770107.html style=之路"/>

Struts2之路

/
struts2是一个web框架,框架提高了程序的规范的同时,也约束了程序员的自由
为什么会有struts2? 因为我们对mvc的理解不同,可能造成不同公司写程序的时候,规范不统一,这样不利于程序的维护和扩展/效率/可读性...所以我们有必要用一个统一的规范来开发项目->框架
struts2具有以下的优点: 1>在软件设计的时候struts2并不像struts1那样和servletAPI和strutsAPI有着紧密的联系,struts2开发的应用可以完全不依赖这两个API。(struts2属于无侵入设计,struts1属于侵入式设计) 2>它提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能 3>它提供了类型转换器,可以把特殊的请求参数转化成需要的类型(如果是struts1,就必须向struts1底层实现BeanUtil注册类型转化器才行) 4>它提供了支持多种表现层技术(JSP、freeMarker、 Velocity等) 5>它的输入校验可以对指定方法进行校验,解决struts1长久之痛 6>提供了全局范围、包范围和Action范围的国际化资源文件管理实现

struts2框架使用包来管理Action,包的作用和java中的类包很相似,主要用于管理一组业务功能相关的action。实际应用时,我们最好把业务相关的action放在同一个包下
配置包时必须制定name属性,该name属性可以任意取名,但必须唯一,他不对应java的类包,如果其他包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间,命名空间作为访问该包底下action的路径的一部分(该属性可以不配置,若不配置,则默认为空字符串)
通常每个包都要继承struts-default包,因为Struts2很多核心的功能都是通过拦截器来实现
动作主要有三个作用: 1>给请求封装需要做的实际工作 2>作为请求到视图这个过程中的数据携带者 3>帮助框架决定结果应该呈现请求响应的视图
Struts2动作不必实现Action接口。任何对象都可以通过实现一个返回控制字符串的execute()方法来非正式地实现框架之间的契约
struts2提供了很多结果类型。常用的有:dispatcher(这个是默认的,内部请求转发)、redirect(重定向到某个路径)、redirectAction(重定向到某个Action)、plainText(原样输出代码).
全局视图:同一个包下的都可以访问。如果希望所有包都可以访问全局视图的话,就将全局视图定义到一个单独的包中,然后让所有的包都继承该包
当数据经常发生变化是可以通过依赖注入到xml文件中 <action name="list" class="cn.itcast.action.HelloWorldAction" method="execute"> <param name="savepath">/images</param> <result name="success">/WEB-INF/page/message.jsp</result> </action>
设置需要struts2处理的请求后缀 <constantname="struts.action.extension"value="do"/>

动态方法调用和使用通配符定义action



接收请求参数

struts2有两种类型转换器 局部 全局
在struts2中,可以实现对action的所有方法进行校验或者对action的指定方法进行校验
对于输入校验struts2提供了两种实现方法: 1、采用手工编写代码实现 2、基于xml配置方式实现

















































































更多推荐

Struts2之路

本文发布于:2024-03-23 23:52:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744319.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:之路

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!