Struts2概述及与Struts1的对照
2017-06-29 16:22
190 查看
Struts2 概述
1,仍然是一个基于请求响应的MVC框架2,Struts2不是Struts1的升级
3,Struts2与Struts1的体系结构差距非常大
4,Struts2採用了还有一个MVC框架WebWork的核心设计
5,Struts2更优秀:松耦合设计。。
Struts1与Struts2的对照
1,Action方面
Struts1的Action必须继承;Struts1是单例的,存在线程安全问题;控制运行方面。Struts1固定不变的Struts2的Action能够不继承;Struts2是多例的。没有线程安全问题;控制运行方面,Struts2通过拦截器。能够改变运行流程,灵活配置的
2,Servlet API依赖与可測试性
Struts1的Action測试性不好,Struts1中的Action须要依赖Servlet API,由于须要容器支持,由于在Action依赖Servlet APIStruts2的Action測试性不好。Struts2中的Actionk能够不用依赖ServletAPI,能够直接写一个单元測试完毕。由于Struts2的Aciton是一个POJO对象
3,ActionForm方面
Struts1收集数据通常使用ActionForm,而ActionForm还须要继承。使得ActionForm的复用率减少。另外项目非常大会建立非常多ActionForm给维护带来工作量,但也有优点,数据的收集和控制进行非常好的分离。Struts2能够不用使用ActionForm来收集数据。直接让Action来收集 数据,但也能够採用相似ActionForm的方式来收集数据,Struts2採用ModelDriven的方式来支持相似Struts1的ActionForm方式。所以Struts2更灵活。
4,类型转换与表达式语言方面
Struts1对ActionForm的类型转换採用 commons-beanutils工具。而定义完毕一个转换器,将对全部的ActionForm起作用,而不能针对某一个ActionForm来配置是否使用此类型的转换器。Struts1中我们通常使用JSTL作为显示层绑定数据的方式。
Struts2使用OGNL进行类型转换。功能更加强大,转换过程能够针对某个类型进行配置。;Struts2中我们能够使用功能更强大的表达式语言OGNL(Object Graph Notation Language)
5,校验
Struts1採用覆盖ActionForm中的validate()方法或採用验证框架commons validator来验证Struts2支持使用覆盖validate()方法来完毕验证,也支持验证框架XWork来验证。
相关文章推荐
- Struts2概述及与Struts1的对比
- Struts2概述及与Struts1的对比
- Struts2概述,Struts1的Struts2的区别
- Struts2-2 Struts2.0概述与环境搭建
- Java Struts2 框架入门详解(一)MVC架构详解以及Struts基本概述
- Struts2-Action概述和在Action中访问WEB资源
- 【struts基础】Struts2工作基本流程
- Struts2中有关struts-default.xml,struts.xml,struts.pro
- Struts2两种过滤器StrutsPrepareAndExecuteFilter与FilterDispatcher的区别
- The Struts dispatcher cannot be found在struts2中出现的问题
- jsp/struts1.2/struts2 中文件上传
- struts1,struts2,springMVC终极对比
- struts1与struts2整合ajax实现异步调用(服务器端实现)
- struts2的action是线程安全的,struts1的action不是线程安全的真正原因
- struts1与struts2的区别
- struts2 FilterDispatcher 和 StrutsPrepareAndExecuteFilter 的区别
- 【Struts2】Struts2纯手工安装、配置以及Helloworld,以最新版struts 2.3.20 GA做例子
- Struts2 学习笔记——struts.xml文件之Bean的配置
- struts2 升级 struts-2.3.32 和 struts-2.5.10以上版本报404错误问题
- 详解struts2中struts.properties