Struts2和Struts1的区别?

来源:互联网 发布:http的默认端口 编辑:程序博客网 时间:2024/06/08 14:26

常见的eb框架:Struts1、Struts2、WebWork、SpringMVC等。


相同点:

都是基于MVC的Web框架。


不同点:

1、在Action实现方面

Struts1的Action需要继承Action类。

Struts2的Action可以不继承任何类,也可以是一个POJO。

2、线程模型方面

Struts1的Action是单实例的,一个Action的实例处理所有的请求,线程不安全。

Struts2的Action是一个请求对应一个实例(即每次请求时都新new出一个对象),故线程安全。

3、Servlet依赖方面

Struts1的Action依赖于Servlet API。

Struts2的Action不依赖于Servlet API。

4、封装请求参数

Struts1中使用formbean封装请求参数。

Struts2中直接使用Action的属性来封装请求参数

5、表达式方面

Struts1中整合的是EL表达式。

Struts2整合了OGNL(Object Graph Navigate Language)。

6、Struts2实际是基于WebWork开发出来的,整合了Struts1的有点(基本上等效于这个表达式:Struts2=Struts1框架的优点+WebWork框架)。

以上属于个人总结的几个方面,供各位参考。谢谢!