如图
在web.xml中配置DispatcherServlet时对于url-pattern的配置方式有以下几种情况:
1、配置为: *.do 或者是 *.action 时,拦截以.do或者.action结尾的请求,不会影响访问静态文件。
2、配置为:/app/* 时,想要被拦截到,必须在请求的URL加上/app。在Controller的方法上的注解,如:@RequestMapping(value="/login", method=RequestMethod.POST)的value中不需要添加。
3、配置为:/ 时, 会拦截到所有的请求,对静态文件例如图片、js、css等也将会被拦截而导致不能正常显示或使用。
对于这个问题解决方法:可以在web.xml在配置静态资源访问:
在web.xml中添加:
<!-- 设置静态文件访问 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
4、配置为:/* 时,会拦截所以的请求,转发到jsp时也会被拦截,不能访问到jsp文件。