zoukankan      html  css  js  c++  java
  • Servlet的一些细节

    1

    同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名

     1     <servlet>
     2         <servlet-name>HelloServlet</servlet-name>
     3         <servlet-class>HelloServlet</servlet-class>>
     4     </servlet>
     5     <servlet-mapping>
     6         <servlet-name>HelloServlet</servlet-name>
     7         <url-pattern>/HelloServlet</url-pattern>
     8     </servlet-mapping>
     9         <servlet-mapping>
    10         <servlet-name>HelloServlet</servlet-name>
    11         <url-pattern>/HelloServlet2</url-pattern>
    12     </servlet-mapping>
    13         <servlet-mapping>
    14         <servlet-name>HelloServlet</servlet-name>
    15         <url-pattern>/HelloServlet3</url-pattern>
    16     </servlet-mapping>

    意思就是可以用HelloServlet,HelloServlet2,HelloServlet3。都可以访问HelloServlet这个Servlet类

    2

    在Servlet映射到的URL中也可以使用 * 通配符,但是只能有两种固定的格式,一种是“ * . 扩展名”,另外一种格式是以正斜杠(/)开头并以“ /* 结尾”。

    3

    缺省Servlet

    • 如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet
    • 凡是在web.xml文件种找不到匹配的<servlet-mapping>元素的URL,它们的访问请求就交给缺省Servlet处理,也就是,缺省Servlet用于处理所有Servlet都不处理的访问请求
    • 当访问TomCat服务器中某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet

    总结一下就是:浏览器访问服务器的时候,不管URL里面是什么,其实都是访问Servlet!当我们访问的是存在的Servlet的时候就是做存在Servlet中的事,如果我们访问的是不存在的Servlet或者其他如html,jsp等文件时,我们访问的是缺省Servlet

     1     <servlet>
     2         <servlet-name>default</servlet-name>
     3         <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
     4         <init-param>
     5             <param-name>debug</param-name>
     6             <param-value>0</param-value>
     7         </init-param>
     8         <init-param>
     9             <param-name>listings</param-name>
    10             <param-value>false</param-value>
    11         </init-param>
    12         <load-on-startup>1</load-on-startup>
    13     </servlet>
    1     <servlet-mapping>
    2         <servlet-name>default</servlet-name>
    3         <url-pattern>/</url-pattern>
    4     </servlet-mapping>

    这里就是TomCat中web.xml中对缺省Servlet的映射设置,所以当我们访问不存在的Servlet,或者一些不是Servlet的文件时,我们访问的都是缺省Servlet,通过这个缺省Servlet来帮助我们完成很多功能。

    所以在开发中,我们千万不要随便配置缺省Servlet!!!

  • 相关阅读:
    BFS 简单思想以及代码
    01、Hibernate安装配置
    WireShark——ARP 协议包分析
    eNSP之VLAN设计实验
    eNSP 交换机 路由器 PC 互连设计/实现
    Windows常用的网络命令
    01、Git安装教程(windows)
    Java IO编程——文件拷贝
    Java 多线程编程——多线程
    Java IO编程——转换流
  • 原文地址:https://www.cnblogs.com/Vamps0911/p/10854815.html
Copyright © 2011-2022 走看看