web.xml中的三种<url-pattern>元素
2013-04-21 15:22
567 查看
有关servlet映射的重要规则:
1)容器会按上一页显示的顺序查找匹配。换句话说,首先查找完全匹配。如果找不到完全匹配,再查找目录匹配,如果目录匹配也找不到,就查找扩展名匹配。
2)如果一个请求与多个目录<url-pattern>匹配,容器会选择最长的匹配。换句话说,如果请求/foor/bar/myStuff.do,它就会映射到<url-pattern> /foor/bar/*,尽管这个请求与<url-pattern>/foo/*也匹配,但是前者更长一些。总是取最特定的匹配。
<servlet> <servlet-name>One</servlet-name> <servlet-class>foo.DeployTestOne</servlet-class> </servlet> <servlet-mapping> <servlet-name>One</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>Two</servlet-name> <servlet-class>foo.DeployTestTwo</servlet-class> </servlet> <servlet-mapping> <servlet-name>Two</servlet-name> <url-pattern>/fooStuff/bar</url-pattern> </servlet-mapping> <servlet> <servlet-name>Three</servlet-name> <servlet-class>foo.DeployTestThree</servlet-class> </servlet> <servlet-mapping> <servlet-name>Three</servlet-name> <url-pattern>/fooStuff/*</url-pattern> </servlet-mapping>
请求:
http://localhost:8080/MapTest/blue.do
容器选择: DeployTestOne
(与*.do扩展名模式匹配)
http://localhost:8080/MapTest/fooStuff/bar
容器选择: DeployTestTwo
( /fooStuff/bar 模式完全匹配)
http://localhost:8080/MapTest/fooStuff/bar/blue.do
容器选择: DeployTestThree
(与/fooStuff/*目录 模式匹配)
http://localhost:8080/MapTest/fooStuff/blue.do
容器选择: DeployTestThree
(与 /fooStuff/* 目录模式匹配)
http://localhost:8080/MapTest/fred/blue.do
容器选择: DeployTestOne
(与*.do 扩展名模式匹配)
http://localhost:8080/MapTest/fooStuff
容器选择: DeployTestThree
(与/fooStuff/* 目录模式匹配)
http://localhost:8080/MapTest/fooStuff/bar/foo.fo
容器选择: DeployTestThree
(与/fooStuff/* 目录模式匹配)
http://localhost:8080/MapTest/fred/blue.fo
容器选择: 404 NOT FOUND
(与任何类型都不匹配)
相关文章推荐
- form表单的action参数值和web.xml中的<url-pattern>
- java的web.xml中<url-pattern>配置
- java的web.xml中<url-pattern>配置
- Javaweb的web.xml中<url-pattern>配置
- java的web.xml中<url-pattern>配置
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- java的web.xml中<url-pattern>配置
- Tomcat8.0部署web发生Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> /*.do in servle
- struts2配置web的action中的<url-pattern>
- JavaWeb中url和web-xml中<url-pattern>的联系
- java的web.xml中<url-pattern>配置
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- [转]web.xml中<url-pattern>详解
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- java的web.xml中<url-pattern>配置[转]
- SpringMVC中的web.xml文件 <url-pattern>配置说明 3种方法
- Parse Fatal Error at line 41 column 24: 元素类型 "url-pattern" 必须由匹配的结束标记 "</url-pattern>" 终止
- web.xml文件中<context-param>元素的作用
- 【Java.Web】Servlet/Filter中的 <url-pattern>
- java的web.xml中<url-pattern>配置