springMVC的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
springMVC入口代码 <!-- 配置springmvc前端控制器 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <!-- 容器启动时就初始化 --> <load-on-startup>1</load-on-startup> </servlet> <!-- springMVC入口路径 --> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> Struts2入口代码 <!-- struts2入口过滤器 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>spring会稍微比struts快。
spring mvc:是基于方法的设计,,粒度更细,但要小心把握像在servlet控制数据一样。sturts是基于类。Struts中每次发一次请求都会实例一个action,每个action都会被注入属性此点请通过实例去领会。不做过多讲解
支持JSR303,处理ajax的请求更是方便,只需一个注解@ResponseBody