struts1.x 与 struts2 的对照
来源:互联网 发布:詹姆斯目前数据 编辑:程序博客网 时间:2024/06/06 03:05
1. action 类
struts1.x 面向抽象类的编程
struts2 面向接口的编程
2. 线程模式
struts1.x 是单例模式,一个实例处理所有请求,所以action资源必须是线程安全.
strut2 每次请求实例化一个对象,没有线程安全问题.
3. servlet 依赖
struts1.x 依赖于servlet API,依赖于web容器
struts2 与容器无关
4. 测试
struts1.x 依赖于容器
struts2 可以通过初始化action或依赖注入来测试
5. 捕获输入
struts1.x 用actionForm来捕获输入,而且actionForm必须扩展至基类.也可以用
动态bean但是那样也是对已存在javabean的重复描述
struts2 直接使用action属性作为表单输入,免去对第二个bean的依赖,可以直接通过taglib访问action属性.
6. 表达式语言
struts1.x 使用jstl作为表达式语言,具有基本的图形对象移动,但对集合索引属性支持弱.
struts2 也使用jstl,但是也支持功能更强大的ognl语言.
7. 将值绑定到页面
struts1.x 使用标准jsp机制将对象绑定到jsp页面上下文.
struts2 使用值栈技术,用taglib直接访问值,而不需要将对象与页面绑定起来.
8. 类型转换
struts1.x 的actionForm属性经常都是String类型.struts1.x使用commons-beanUtils工具转换每一个类.
struts2 使用ognl进行转换.
9. 验证
struts1.x 支持在actionForm的validator中进行手动验证,或通过commons validator校验.
struts2 支持通过validator 和 xwork框架验证.支持子对象效验.
10. action 执行控制
struts1.x 每一个请求模块有单独的请求周期,但是模块中的所有action必须共享相同的生命周期.
struts2 通过拦截器堆栈为每一个action创建不同的生命周期,堆栈能够根据需要和不同的action一起使用.
详细页面:http://www.verydemo.com/demo_c140_i29487.html
- struts1.x 与 struts2 的对照
- Struts1.x与Struts2.x的区别
- Struts1.X与Struts2.X的区别
- Struts1.x 与 Struts2.x 的区别
- Struts2与Struts1.X
- Struts2与Struts1.x的深度比较
- Struts2与Struts1.x的深度比较
- Struts2与Struts1.x的深度比较
- Struts2与Struts1.x的深度比较
- Struts2与Struts1.x的深度比较
- Struts1.x与Struts2的深度比较
- struts1.x与struts2的比较表
- Struts2与Struts1.x的深度比较
- struts1.x 与 struts2 的一些差异
- Struts2与Struts1.X 的区别
- Struts2与Struts1.x的深度比较
- Struts2与Struts1.x的深度比较
- Struts2与Struts1.x的深度比较
- OpenCV最佳配置(forVisual Studio)
- 操作系统(计算机管理控制程序)9
- 获取linux系统信息的一个python脚本
- android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli
- Ajax控件之DrapPanel
- struts1.x 与 struts2 的对照
- REF 游标 (待填坑)
- Android真机测试访问本地服务器
- jquery td正中
- 连号区间算法(蓝桥杯)
- 软件测试
- Python递归
- 从php核心代码分析require和include的区别
- 软件测试目标