PlayJava SpringMVC与Struts2杂谈
一 先做一个简单对比: 1. SpringMVC的入口是Servlet,核心是DispatcherServlet,Struts2是Filter,核心是FilterDispatcher 2. SpringMVC应当会比Struts2稍微快些。SpringMVC是基于方法设计,Struts2是基于类,即每发一次请求都会实例一个Action 3. SpringMVC使用相对简洁一些,支持JSR303,处理ajax请求更加方便,开发效率应当会比Struts2要高些 4. Struts2的OGNL表达式使页面的开发效率相比SpringMVC更高些 二 Struts2的核心控制器是FilterDispatcher,在Struts1系列版本中,所有的请求是通过一个Servlet(ActionServlet)来管理控制的,在Struts2系列版本中是经过一个Filter来处理请求的。Struts2选择Filter而不是Servlet来设计核心控制器,是为了实现AOP思想。 Struts1.x的配置: <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> ...... </servlet> Struts2.x的配置: