Struts2是在WebWork2基础发展而来的。
1.在软件设计上struts2没有像struts1那样跟ServletAPI和StrutsAPI有着紧密的耦合,Struts2的应用可以不依赖于ServletAPI和StrutsAPI。Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式设计。
public class OrderListAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception{
}
}
2.Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
3.Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果我们要实现同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。
4.Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等。
5.Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。
6.提供了全局范围、包范围和Action范围的国际化资源文件管理实现。