欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaWeb:Servlet的映射细节

程序员文章站 2022-03-25 16:41:56
...

Servlet的映射细节:

     1):一个Servlet程序(Web组件),可以配置多个<url-pattern>,表示一个Servlet有多个资源名称。

<servlet-mapping>
	<servlet-name>MappingServlet</servlet-name>
	<url-pattern>/m1</url-pattern>
	<url-pattern>/m2</url-pattern>
</servlet-mapping>

     2):一个Servlet程序,可以配置多个<servlet-mapping>。

<servlet-mapping>
	<servlet-name>MappingServlet</servlet-name>
	<url-pattern>/m1</url-pattern>
</servlet-mapping>
<servlet-mapping>
	<servlet-name>MappingServlet</servlet-name>
	<url-pattern>/m2</url-pattern>
</servlet-mapping>

     3):<url-pattern>必须保证唯一性,而且必须使用/作为开头。

     4):Servlet的映射支持通配符映射(*,表示任意字符):

             第一种写法: /*,任意的资源都可以访问该Servlet。 /system/* :请求的资源必须以/system/作为开头才可以访问。

             第二种写法:*.拓展名,比如:*.do,请求的资源必须以.do作为结尾才可以访问该Servlet。

     5):在映射Servlet的时候,<servlet-name>元素的文本内容不能是default

            因为在Tomcat中存在一个叫做default的Servlet,专门用于处理请求静态资源(html,css,js,图片等)。

            以下为Tomcat中conf目录下web.xml文件部分内容:

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
</servlet>