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

  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/Vamps0911/p/10854815.html
Copyright © 2011-2022 走看看