struts2 是在webwork2的基础上发展而来的,和struts1一样,struts2也是MVC框架。尽管struts2和struts1在名称上相差不大,但struts2和struts1在代码编码风格上几乎是不一样的。struts2和struts1相比主要具有以下优点:
1>在软件设计上struts2没有像struts1那样跟Servlet API 和StrutsAPI紧密耦合,struts2的应用可以不依赖于Servlet API和struts API。Struts2的这种设计属于无侵入式的设计而struts1则属于侵入式的设计。
2>Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
3>Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型,在Struts1中,如果我们需要实现这样的功能,就必须向struts1的底层实现BeanUtil注册类型装换器才行。
4>Struts2提供了多种表现层的技术,如JSP、FreeMarker等。