servlet对应的url-pattern 精确>/*>*.do>/
2017-11-20 14:57
260 查看
今天看springmvc源码,对url-pattern,有点不太理解,找了几篇源码的博客看,挺不错,自己将其简化,在此记录.
规则1:精确匹配,例如add.do,add.html等
规则2:前缀匹配,例如/*,/test/*
规则3:扩展名匹配,*.do,*.html
规则4:使用资源文件来处理servlet,使用contextVersion的welcomeResources属性,这个属性是个字符串数组
规则7:使用默认的servlet,也就是 /
可以看到:精确>/*>*.do>/这个匹配顺序.
“/*”属于路径匹配,并且可以匹配所有request,由于路径匹配的优先级仅次于精确匹配,所以“/*”会覆盖所有的扩展名匹配,很多404错误均由此引起,所以这是一种特别恶劣的匹配模式,一般只用于filter的url-pattern
“/”是servlet中特殊的匹配模式,该模式有且仅有一个实例,优先级最低,不会覆盖其他任何url-pattern,只是会替换servlet容器的内建default servlet ,该模式同样会匹配所有request。
所以这两个还是区别很大的.
借鉴: https://www.cnblogs.com/canger/p/6084846.html 这是源码的博客,大家可以去看下.
http://www.cnblogs.com/fangjian0423/p/servletContainer-tomcat-urlPattern.html#springmvc
规则1:精确匹配,例如add.do,add.html等
规则2:前缀匹配,例如/*,/test/*
规则3:扩展名匹配,*.do,*.html
规则4:使用资源文件来处理servlet,使用contextVersion的welcomeResources属性,这个属性是个字符串数组
规则7:使用默认的servlet,也就是 /
可以看到:精确>/*>*.do>/这个匹配顺序.
“/*”属于路径匹配,并且可以匹配所有request,由于路径匹配的优先级仅次于精确匹配,所以“/*”会覆盖所有的扩展名匹配,很多404错误均由此引起,所以这是一种特别恶劣的匹配模式,一般只用于filter的url-pattern
“/”是servlet中特殊的匹配模式,该模式有且仅有一个实例,优先级最低,不会覆盖其他任何url-pattern,只是会替换servlet容器的内建default servlet ,该模式同样会匹配所有request。
所以这两个还是区别很大的.
借鉴: https://www.cnblogs.com/canger/p/6084846.html 这是源码的博客,大家可以去看下.
http://www.cnblogs.com/fangjian0423/p/servletContainer-tomcat-urlPattern.html#springmvc
相关文章推荐
- Invalid <url-pattern> select.do in servlet mapping
- Invalid <url-pattern> select.do in servlet mapping
- Filter mapping must specify either a <url-pattern> or a <servlet-name>问题的处理
- Servlet/Filter中的<url-pattern>
- java.lang.IllegalArgumentException: Invalid <url-pattern> toDo in 
- spring mvc 配置DispatchServlet 的<url-pattern>/</url-pattern>的写法
- 【Java.Web】Servlet/Filter中的 <url-pattern>
- 【Java.Web】Servlet/Filter中的 <url-pattern>
- Invalid <url-pattern> [xxx] in servlet mapping
- servlet原理/过滤规则/多个servlet对写法/一个servlet多个<url-pattern>写法/404错误
- Tomcat8.0部署web发生Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> /*.do in servle
- Invalid <url-pattern> in servlet mapping
- Servlet中的<url-pattern>问题
- Invalid <url-pattern> /*.action in filter mapping错误以及(Servlet和Filter的url匹配url-p)
- servlet的<url-pattern>
- 关于<Servlet-mapping>中的<url-pattern>的说明
- Java.Web:Servlet/Filter中的 <url-pattern>
- <url-pattern>配置规则如下
- Servlet和Filter的url匹配以及url-pattern详解
- Servlet和Filter的url匹配以及url-pattern详解 【转】