servlet映射路径

来源:互联网 发布:网络小胖大卡通图片 编辑:程序博客网 时间:2024/05/22 10:29
<servlet>    <description>This is the description of my J2EE component</description>    <display-name>This is the display name of my J2EE component</display-name>    <servlet-name>MappingDemo1</servlet-name>    <servlet-class>mapping.MappingDemo1</servlet-class>  </servlet> <servlet-mapping>    <servlet-name>MappingDemo1</servlet-name>    <url-pattern>/MappingDemo1</url-pattern>  </servlet-mapping>

以day09项目中名字为MappingDemo1的servlet为例:

   <url-pattern>/MappingDemo1</url-pattern>

中精确匹配:
/MappingDemo1
/package/MappingDemo1
就是用http://localhost:8080/day09/MappingDemo1
和http://localhost:8080/day09/package/MappingDemo1访问

模糊匹配
(1) /*
http://localhost:8080/day09/任意路径 (可以不要最后的路径
(2) /itcast/* http://localhost:8080/day09/itcast/任意路径(可以不要最后的路径
(3) *.后缀名
*.html
http://localhost:8080/day09/任意路径.后缀名
例如:(*.action
*.do
*.html
。。。

注意:
1)要么以斜杠开头,要么*号开头
非法的url-pattern: /package/*.html
因为有两个模糊匹配在一起。首先可以是package下的任何页面,有要求是html页面,有造成歧义
2) 当多个url-pattern同时被匹配的情况下
2.1 精确匹配优先(长的最像的那个优先被匹配)
2.2 以后缀名结尾的url-pattern的优先级最低的

如果<url-pattern>*.html</url-pattern> 另外在项目中还有一个真正的hello.html页面;
那么http://localhost:8080/day09/hello.html是访问servlet;
因为tomcat服务器是:先访问动态网页,在访问静态网页
在tomcat服务器内部配置了一个缺省路径 /, 这个缺省路径在tomcat服务器内部被一个缺省Servlet(DefaultServlet)匹配。缺省的这个Servlet的作用是专门用于处理所有网站中的静态网页。

0 0
原创粉丝点击