Struts2和Struts1的区别
2012-04-27 10:09
330 查看
1.struts1的action是单例模式且必须是线程安全的,action的一个实例处理所有请求.struts2的action对象为每个请求产生一个实例,没有线程安全问题.struts1的action依赖于servlet api,struts2的action不依赖与容器,允许脱离容器单独测试.
2.struts1的execute方法依赖于servlet api,使得测试要依赖于容器.struts2的action可以通过初始化,设置属性,调用方法来测试,依赖注入支持是测试更容易.struts1试用ActionForm对象捕获输入,普通JavaBean不能捕获输入.动态bean可以作为ActionForm的选择,但是是在重复描述已经存在的Javabean.struts2直接试用action属性作为输入属性,消除了对第二个输入对象的需求.也支持ActionForm模式,这种ModelDriven特性简化了tiglib对POJO对象的应用.
3.struts1整合的JSTL,试用JSTL EL,EL有基本对象图遍历功能,但是对集合和索引属性的支持很弱struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--Object Graph Notation Language(OGNL)
4.struts1试用标准jsp机制把对象绑定到页面中来访问struts2试用ValueStack技术,允许试用一系列名称相同但类型不同的属性重用页面
5.struts1的ActionForm通常都是String类型,试用BeanUtils进行类型转换struts2使用OGNL进行类型转换,提供基本和常用对象的转化器.
6.struts1支持在ActionForm的validate方法中手动效验,或者通过validator扩展效验struts2支持通过validate方法和XWork效验框架来进行效验7.struts1支持每个模块有单独的request生命周期,但是模块中的所有action必须共享相同的生命周期struts2支持通过拦截器interceptor stacks为每个action创建不同的生命周期
2.struts1的execute方法依赖于servlet api,使得测试要依赖于容器.struts2的action可以通过初始化,设置属性,调用方法来测试,依赖注入支持是测试更容易.struts1试用ActionForm对象捕获输入,普通JavaBean不能捕获输入.动态bean可以作为ActionForm的选择,但是是在重复描述已经存在的Javabean.struts2直接试用action属性作为输入属性,消除了对第二个输入对象的需求.也支持ActionForm模式,这种ModelDriven特性简化了tiglib对POJO对象的应用.
3.struts1整合的JSTL,试用JSTL EL,EL有基本对象图遍历功能,但是对集合和索引属性的支持很弱struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--Object Graph Notation Language(OGNL)
4.struts1试用标准jsp机制把对象绑定到页面中来访问struts2试用ValueStack技术,允许试用一系列名称相同但类型不同的属性重用页面
5.struts1的ActionForm通常都是String类型,试用BeanUtils进行类型转换struts2使用OGNL进行类型转换,提供基本和常用对象的转化器.
6.struts1支持在ActionForm的validate方法中手动效验,或者通过validator扩展效验struts2支持通过validate方法和XWork效验框架来进行效验7.struts1支持每个模块有单独的request生命周期,但是模块中的所有action必须共享相同的生命周期struts2支持通过拦截器interceptor stacks为每个action创建不同的生命周期
相关文章推荐
- struts和struts2的区别
- struts1和struts2的区别
- struts1 与struts2 的区别
- Struts2和Struts1的区别
- Struts2与Struts1的区别
- Struts2和Struts1有什么区别
- 总结了Struts1与Struts2的12点区别
- Struts与Struts2的区别
- Struts1 和 Struts2的区别(11点)
- struts和struts2的web.xml的区别
- 垃圾题1-------------struts1和struts2区别------------来自XXX电子国企
- J2EE基础---Struts1和Struts2的区别
- Struts2.x和Struts1.x的区别
- Struts2 StrutsPrepareAndExecuteFilter与FilterDispatcher的区别
- [转]Struts1和Struts2的区别和对比
- Struts2的action是否为线程安全?Struts1的区别?
- Struts2中的FilterDispatcher和StrutsPrepareAndExecuteFilter的区别
- Struts2五、Struts1与Struts2的区别
- 【Struts2基础】——Struts1 & Struts2 区别
- Struts2两种过滤器StrutsPrepareAndExecuteFilter与FilterDispatcher的区别