web.xml中url-pattern配置/和/*的区别
2017-10-30 22:14
435 查看
1、"/*"可以匹配所有url,包括带扩展名的,一般只用在过滤器上。
例如:会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。
2、而"/"很多人理解成不能拦截带扩展名的,这种理解是错误的!它其实也能拦截“.js”,“.css”,".png"等静态资源的访问。
例如:不会匹配到*.jsp,即*.jsp不会进入spring的 DispatcherServlet类 。
看官方文档可知,它是tomcat的默认servlet,当其他的url-pattern匹配不上时都会走这个servlet。它除了能够处理静态资源还能够处理HTTP缓存请求,媒体(音频/视频)数据流和文件下载简历。所以如果我们的项目中配置了"/",会覆盖掉tomcat中的default servlet。tomcat服务器的web.xml配置:
所以当springMVC的前端控制器配置为“/”时,需要在主配置文件中配置放行静态资源。
第一种:
<!-- 放行静态资源 -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/js/**"/>
<mvc:resources location="/images/" mapping="/js/**"/>
第二种:
<mvc:default-servlet-handler />
相关文章推荐
- 关于web.xml里的filter的url-pattern配置问题
- 关于web.xml配置中的<url-pattern>
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
- java的web.xml中<url-pattern>配置
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
- web.xml中url-pattern的/和/*的区别
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
- 关于web.xml中url-pattern的配置以及和@RequestMapping的结合
- web.xml中配置servlet时url-pattern标签到底是干什么的
- java的web.xml中<url-pattern>配置
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
- web.xml中servlet-mapping的url-pattern的配置
- java的web.xml中<url-pattern>配置
- Servlet容器Tomcat中web.xml中url-pattern的配置详解
- Tomcat中web.xml中url-pattern的配置详解
- web.xml中url-pattern中/和/*的区别
- javaWeb开发web.xml中的url-pattern路径配置成/test/*.jsp这种写法,导致tomcat无法启动
- web.xml中的url-pattern标签/和/*有什么区别
- web.xml关于servlet配置中url-pattern的说明