Struts1与Struts2的异同
1、都是MVC的WEB框架
2、struts1是老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本更低;
struts2虽然基于这个框架,但是应用群众并不多,相对不成熟,未知的风险和变化很多,开发人员相对不好招,使用它开发项目的风险系数更大,用人成本更高。
3、struts2毕竟是站在前辈的基础设计出来,它会改善和完善struts1中的一些缺陷,struts1中一些未解决的问题在struts中得到了解决。
4、struts1的前段控制器是一个Servlet,名称为ActionServlet;
struts2的前端控制器是一个filter,在struts2。0中叫FilterDispatcher,在struts2.1中叫StrutsPrepareAndExecuteFilter。
5、struts1的action需要继承Action类;
struts2的action可以不继承任何类:struts1对同一个路径的所有请求共享一个Action类,struts2对同一个路径的每个请求分别使用一个独立Action实例对象,所有对于struts2的Action不用考虑线程安全问题。
6、在struts1中使用formbean封装请求参数;
在struts2中直接使用action的属性来封装请求参数。
7、struts1中的多个业务方法放在一个Action中时(即继承DispatchAction时),要么都校验,要么都不校验;
对于struts2,可以指定只对某个方法进行校验,当一个Action继承了ActionSupport且在这个类中只编写了validateXxx()方法,那么则只对Xxx()方法进行校验。
Struts1与Struts2的异同的更多相关文章
- Struts1、Struts2和SpringMVC剖析【转载】
前段框架用了不少,今天就来做个总结.网上关于Struts1.Struts2.SpringMVC的文章有很多,这里的内容就是基于它们,来做个比较. 这三个框架是按照上面的顺序,依次出现的,它们都是对MV ...
- jsp\struts1.2\struts2 中文件上传(转)
jsp\struts1.2\struts2 中文件上传 a.在jsp中简单利用Commons-fileupload组件实现 b.在struts1.2中实现c.在sturts2中实现现在把Code与大家 ...
- Struts1与Struts2的12点区别
Struts1与Struts2的12点区别 1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类:Struts 1的一个具体问题是使用抽象类编程而不是接口.Str ...
- 浅析Struts1和Struts2的Action线程安全问题 转
浅析Struts1和Struts2的Action线程安全问题 转 http://blog.csdn.net/virgoboy2004/article/details/5876133 [问题描述]最近 ...
- Struts1和Struts2的区别和对比(完整版)
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...
- Struts2五、Struts1与Struts2的区别
Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Ac ...
- Struts1和Struts2对照
最近学习Struts1和Struts2.好多人.提到非常多的信息. Struts2不从Struts1进化. Struts2的前身WebWork. 呢,看了一些资料,下边就来比較比較. 一.架构分析 S ...
- Struts1和Struts2的区别和对比
Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口. • Struts 2 ...
- struts1和struts2和springMVC的区别和介绍
MVC是web开发常用的模式,M即模型层(Model):主要由javabean来实现.V即视图层(View):主要由jsp.velocity.freemarker等.C即控制层(Controller) ...
随机推荐
- jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片)
jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片) 瀑布流-绝对定位布局,与浮动布局的区别在于 1.布局不一样: 绝对定位:一个UL里面放置所有的绝对定位的LI: 浮动布局:多个(一 ...
- Cocos2dx+lua中Color参数的坑
cocos2x的lua中有如下几种颜色定义 --Color3B function cc.c3b( _r,_g,_b ) return { r = _r, g = _g, b = _b } end -- ...
- MTK平台缩写
HSPA:High Speed Packet Access smartphone application processor,高速分组接入的智能手机应用程序处理器 META mode:Mobile E ...
- BroadcastService的测试用例
程序运行起来之后,需要用多个telnet客户端来进行测试 连接的命令为conn deviceNumber 广播命令为broa message 需要注意的是:示例代码有bug, broadcastDic ...
- hibernate基础(1)
hibernate基础1.hibernate介绍与动手入门体验 问题:模型不匹配(java对象模型与数据库关系模型不匹配) 解决: 1.使用JDBC手工转换 2.使用ORM(Obje ...
- How to use 'crontab' command on bitnami
You can edit the cron file using the following command: $ sudo crontab -e You can add a new line lik ...
- Qt环境搭建(Qt Creator)
简述 上一节中介绍了如何进行Qt和Visual Studio的下载安装,随后演示了如何将Qt集成到Visual Studio中,并完成了我们第一个Qt小程序-Hello World.下面主要讲解如何利 ...
- 生成并返回 json 结果文件
#region 生成并返回 json 结果文件 /// <summary> /// 生成并返回 json 结果文件 /// </summary> /// <param n ...
- 一、HTML4背景知识
前言 本教程针对已经基本熟悉HTML4基本标签的人. HTML的发展历程 HTML 1.0: 1993年6月由IETF(Internet Engineering Task Force, 互联网工程工作 ...
- POJ 3308 Paratroopers (对数转换+最小点权覆盖)
题意 敌人侵略r*c的地图.为了消灭敌人,可以在某一行或者某一列安置超级大炮.每一个大炮可以瞬间消灭这一行(或者列)的敌人.安装消灭第i行的大炮消费是ri.安装消灭第j行的大炮消费是ci现在有n个敌人 ...