常见的web表现层框架: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框架)。
以上属于个人总结的几个方面,供各位参考。谢谢!