JavaWeb:Servlet的映射细节

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>

猜你喜欢

转载自blog.csdn.net/fashion_man/article/details/82465927