Struts1和Struts2的区别

Posted scnu-yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts1和Struts2的区别相关的知识,希望对你有一定的参考价值。

1)从action类上分析:Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口;Struts2 action提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。
2)从servlet依赖分析:Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时,HttpServletRequest和HttpServletResponse 被传递给execute方法。Struts2Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2Action仍然可以访问初始的request和response。
3)从action线程模式分析:Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求,开发需要极其小心。Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。
4)从捕获输入分析:Struts1使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。
5)从表达式语言分析:Struts1 整合了JSTL,Struts2可以使用JSTL,但是也支持OGNL(Object Graph Notation Language)

【】

以上是关于Struts1和Struts2的区别的主要内容,如果未能解决你的问题,请参考以下文章

Struts1和Struts2的区别和对比

Struts1和Struts2的区别和对比(完整版)

Struts2与Struts1的区别

struts1与struts2的区别

Struts1和Struts2的区别

Struts2与Struts1的区别