Strut1
1. 核心控制器是核心控制器ActionServlet,必须继承抽象基类Action,
2. 代码和ServletAPI大量耦合,单元测试必须通过启动Web容器,
3. 只支持JSP作为视图展现。
4. 单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求,需要注意Action的资源。
Struts1是单例模式,也就是所,Web容器(例如:Tomcat)启动的时候,就会实例化一个Action对象,那么所有请求都是用的这个对象。所以当遇到2个请求并发的时候,那么其实他们调用的是同一个类,这个时候当你在Action内部定义属性的时候,就会产生线程同步的问题。
例如:
你在Action定义了一个 int i = 0;
然后在这个Action里面的某一个方法里面对这个i进行操作。当并发的时候就会遇到问题。
所以:我们在用struts1的时候不能在action里面定义属性,要用到只的话只能在方法里面定义。
Strut2
1. 核心控制器是核心控制器ServletDispatcher,
2. 代码更像是一个普通的POJO,ServletAPI相关的返回值都是Map,Strut2的系列拦截器会对其进行自动转换。
3. 可以降低代码的污染和更好的复用,支持多种试图展现。
4. 整合了OGNL语言,值栈。
5. 为每一个请求产生一个实例,不存在线程安全问题。
Struts 2 Action对象为每一个请求产生一个实例,因此没有线程安全问题 。所以我们可以在Struts2的Action里面去定义属性。
但是Struts2由于 Action和普通的Java类没有任何区别(也就是不用像Struts1里面那样去实现一个Struts的接口,有兴趣的朋友可以自己去了解),所以我们可以用Spring去管理Struts2的Action,这个时候我们就要注意了,因为当我们在spring里面去定义bean的时候,spring默认是Singleton,我们要改成Prototype。
转载自:http://www.cnblogs.com/NicholasLee/archive/2012/07/08/2581507.html
分享到:
相关推荐
Struts1和Struts2的区别和对比 Struts1和Struts2的区别和对比
2 线程模式方面的对比:Struts 1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts 1 Action能做的事,并且要在开发时特别小心。Action资源必须是线程安全的...
Struts1和Struts2的区别和对比.txt
本文档对于Struts2与Struts1的一些特性的对比
struts2与struts的对比,简要介绍了struts2,明确了struts2进行了本质上的修改
Struts1与Struts2的区别,让大家更好的对比Struts1与Struts2
关于struts2于struts1对比的资料,对于学习Java及struts的人来说是很有帮助的
第1章 Struts 2概述1 1.1 MVC思想概述2 1.1.1 Web技术的发展2 1.1.2 Model 1和Model 24 1.1.3 MVC思想及其优势6 ... 1.4 Struts 2与Struts 1的对比20 1.5 WebWork和Struts 2对比21 1.6 本章小结22
很好的述说了struts1和struts2的区别
Struts2 与 struts1 的对比 控制器类: Struts2的控制器不像struts1的那样了 它就是一个简单的pojo 里面包含封装用户的请求参数
Struts2轻松入门 Struts2总结 Struts2和Struts1.x对比学习
— Web 应用的发展 — Model 1 和Model 2 — MVC 思想 — MVC 模式的优势 — 常用MVC 框架及其特征 — Struts 1 的...Struts 2 的标签库 — Struts 2 的控制器组件 — Struts 1 和Struts 2 的对比
本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 ...— Struts 1的基本结构及其存在的问题 ...— Struts 1和Struts 2的对比 .......................
— Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 ...— Struts 1和Struts 2的对比
servlet和struts2对比案例,工作室案例对比,加深了解。
花费了很长时间,struts2的常用标签的用法都一一进行了与strut1的对比和说明,很是适合学过strut1的人去学习和研究。