在百度,CSDN上查了好久,基本都是三种方式解决。但是我还是倾向于开启默认servlet拦截器的方式,毕竟在每一个访问的URL后面加上.do或者其他后缀显得代码很ugly。
在spring-mvc.xml中
开启注解
<mvc:annotation-driven />
他会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
启动默认servlet拦截器
<mvc:default-servlet-handler />
在web.xml中
<!-- <url-pattern>中放入你需要拦截的内容 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
此处需要放在dispatcher的上面
即
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>