web.xml文件中缺省映射路径"/"问题以及客户端访问web资源的匹配规则

IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结!



   (1) web.xml中如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。

   (2)凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。

   (3)在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。(\conf\web.xml文件所有发布到tomcat的web应用所共享的)

     <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>

    <servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>/</url-pattern>
    </servlet-mapping>

   (4)当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet,由DefaultServlet类寻找,当寻找到了请求的html或图片时,则返回其

资源文件,如果没有寻找到则报出404错误。

   (5)如果在web应用的web.xml文件中的<servlet-mapping>中配置了"/",如:

    <servlet>
      <servlet-name>ServletDemo3</servlet-name>
      <servlet-class>edu.servlet.ServletDemo3</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>ServletDemo3</servlet-name>
      <url-pattern>/</url-pattern>
    </servlet-mapping>

   则当请求的url和上面其他的<servlet-mapping>均不匹配时,则会交给ServletDemo3.java处理,而不在交给DefaultServlet.java处理,也就是说,当请求web应用中的静态文本或图片或avi视屏等时,则全部进入了ServletDemo3.java,而不会正常返回页面资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值