struts2

struts2:
struts2是一款优秀的MVC框架,它的前身是webwork.


struts1与struts2的区别:
1.struts1是单例,线程同步的,sturts2每个请求产生一个实例,是非同步的.
2.struts1是依赖于web容器,sturts2不依赖于web容器.
3.struts1暴露了servletAPI,因此不方便单元测试,struts2隐藏了servletAPI,方便单元测试.
4.struts1使用actionFrom接收from表单的值,容易出现代码冗余,struts2使用属性驱动与模型驱动,减少重复代码.
5.struts1只支持El表达式,struts2支持El表达式,ognl表达式.
6.struts1使用Beanutils.jar工具进行类型转换,Struts2使用OGNL进行类型转换且,提供基本和常用对象的转换器。

struts2执行流程:
1.发送请求.
2.进过一系列过滤器.
3.通过ActionMapper判断请求需要调用哪个Action,并把请求给ActionProxy
4.ActionProxy通过加载struts配置文件找到需要调用的Action类.
5.调用Action过程中会经过一系列的拦截器.
6.执行Action
7.返回ResultSet,得到返回响应.

实现Action接口与继承ActionSupport的区别:
1.实现Action接口需要重写execute方法,并且可以得到5个常用的常量.
2.ActionSoupport实现了Action接口,并提供了国际化和验证方法.
继承ActionSoupport可以简化Action的开发.

属性驱动与模型驱动:
1.属性驱动就是把属性定义在Action中,并提供相应的get,set方法
2.模型驱动需要实现ModelDriven接口,并泛型javaBean,重写getModel方法

struts2的动态定位方法的方式:
1.感叹号定位法.
2.struts配置文件中配置method属性.
3.通配符匹配法.

全局结果与局部结果:
与struts1全局转发与局部转发相同.

全局异常与局部异常:
与sturts1全局异常与局部异常相同.

struts2国际化:
1.全局国际化
2.Action国际化

国际化需要配置.properties资源文件.
页面输出国际化内容可以用<s:text name="key">

struts2配置常量的方式:
1.配置struts.xml配置文件. 推荐使用,可以使用<constant>标签来配置常量
2.配置web.xml. 容易出先整合问题,不推荐使用.
3.配置struts.prototies资源文件. 为了与webwork保持一致或相兼容,不推荐改变.

sturts2的转换器:
1.按范围分类:局部转换器(只在当前action有效) , 全局转换器(所有action范围内都有效)
2.从实现角度: 基于ognl , 基于struts2

struts2校验:
1.继承ActionSupport,重写volidate()方法. 使用这种校验方式会校验action中的所有方法.
2.使用volidateXXX()方法. 使用这种方式校验可以校验action的部分方法.
3.使用验证框架.

struts2验证框架:
1.需要与Action在同一目录下配置资源文件,命名格式为Action类名-Action配置名-方法名.
2.struts2验证框架可以启用内建校验.

struts2验证分类:
1.字段校验: 字段用什么校验器来校验.
2.非字段校验(校验器校验): 校验器需要校验什么字段.

struts2验证流程:


struts2如果访问servletAPI?
1.非IOC方式:通过ActionContext.
2.IOC方式:通过spring的依赖注入.

struts2两种栈.
1.ValueStack: ognl上下文,反问ognl表达式
2.ActionContext:

struts2特殊符号表示的意义:(#,$,%,!)
1.#:ognl表达式,用来访问ValueStack和ActionContext.
2.$:用于国际化,配置struts配置文件和EL表达式.
3.%:计算表达式,类似于javascript中的eval()函数,用于把属性转变为字符串.
4.!:用于动态定位方法.

struts2的from主题:
1.simple 主题: 无任何样式的主题.
2.xthml 主题: 默认主题.
3.css_xthml主题 :可以加入样式控制.
4.ajax 主题 : 支持ajax的主题.
配置主题可以使用from标签中的theme属性指定

struts2拦截器:
拦截器:在方法执行之前或之后进行拦截,然后加入某些操作.
拦截器是面向切面编程的一种实现策略.
struts2的拦截器完成了struts的大部分功能.struts2拦截器基于插件的,
插件的可插可拔机制可以使应用程序提供了几乎无限扩展等功能.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值