博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts1和Struts2区别
阅读量:5064 次
发布时间:2019-06-12

本文共 990 字,大约阅读时间需要 3 分钟。

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创建不同的生命周期

转载于:https://www.cnblogs.com/Laupaul/archive/2012/03/12/2391693.html

你可能感兴趣的文章
JS 浏览器对象
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
虚拟中没有eth0
查看>>
Unity 3D游戏开发学习路线(方法篇)
查看>>
BZOJ2049[Sdoi2008]Cave 洞穴勘测(LCT模板)
查看>>
vuex插件
查看>>
2011年12月09日
查看>>
[ZJOI2007]棋盘制作 【最大同色矩形】
查看>>
合并单元格
查看>>
swift-初探webView与JS交互
查看>>
IOS-图片操作集合
查看>>
Android bitmap图片处理
查看>>
Android应用程序进程启动过程的源代码分析
查看>>
adb logcat 命令行用法
查看>>
Redis学习手册(Key操作命令)
查看>>
模板统计LA 4670 Dominating Patterns
查看>>
泛型第23条:请不要在新代码中使用原生态类型
查看>>
非对称加密
查看>>
bzoj 3413: 匹配
查看>>