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)

【】

原文地址:https://www.cnblogs.com/yangrongkuan/p/12024883.html