zoukankan      html  css  js  c++  java
  • tomcat defaultServlet

    首先所有的请求进入tomcat,都会流经servlet,如果没有匹配到任何应用指定的servlet,那么就会流到默认的servlet。

    默认的servlet是配置在$catalina/conf/web.xml里面的。

    如下面贴出来所示(由于贴的内容太多了,我把注释去掉了,其实注释是相当重要的):

    Xml代码  收藏代码
    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>  
    14.   
    15.   
    16.   <servlet>  
    17.       <servlet-name>jsp</servlet-name>  
    18.       <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>  
    19.       <init-param>  
    20.           <param-name>fork</param-name>  
    21.           <param-value>false</param-value>  
    22.       </init-param>  
    23.       <init-param>  
    24.           <param-name>xpoweredBy</param-name>  
    25.           <param-value>false</param-value>  
    26.       </init-param>  
    27.       <load-on-startup>3</load-on-startup>  
    28.   </servlet>  
    29. <servlet-mapping>  
    30.       <servlet-name>jsp</servlet-name>  
    31.       <url-pattern>*.jsp</url-pattern>  
    32.   </servlet-mapping>  
    33.   
    34.   <servlet-mapping>  
    35.       <servlet-name>jsp</servlet-name>  
    36.       <url-pattern>*.jspx</url-pattern>  
    37.   </servlet-mapping>  

    tomcat初始化一个context的时候就会初始化context下面所有的 servlet,包括这个默认的servlet。

    如图:

    图待添加

    它就是从servletContext里面加载的资源中去取出需要的资源,然后加载进来,并且判断相应的mime类型设置不同的HTTP head,然后输出到页面上。内容还是挺简单的。

    其中还有mime的mapping:

    Xml代码  收藏代码
      1.  <mime-mapping>  
      2.         <extension>abs</extension>  
      3.         <mime-type>audio/x-mpeg</mime-type>  
      4.     </mime-mapping>  
      5.     <mime-mapping>  
      6.         <extension>ai</extension>  
      7.         <mime-type>application/postscript</mime-type>  
      8.     </mime-mapping>  
      9.     <mime-mapping>  
      10.         <extension>aif</extension>  
      11.         <mime-type>audio/x-aiff</mime-type>  
      12.     </mime-mapping>  
      13.     <mime-mapping>  
      14.         <extension>aifc</extension>  
      15.         <mime-type>audio/x-aiff</mime-type>  
      16.     </mime-mapping>  
      17.     <mime-mapping>  
      18.         <extension>aiff</extension>  
      19.         <mime-type>audio/x-aiff</mime-type>  
      20.     </mime-mapping>  
      21.     <mime-mapping>  
      22.         <extension>aim</extension>  
      23.         <mime-type>application/x-aim</mime-type>  
      24.     </mime-mapping>  
      25.     <mime-mapping>  
      26.         <extension>art</extension>  
      27.         <mime-type>image/x-jg</mime-type>  
      28.     </mime-mapping>……后面太多贴不出来了  
  • 相关阅读:
    【转】虚函数什么情况下会内联
    构造函数不能为虚函数的原因
    《python编程》第四章——文件和目录工具
    《python编程》第三章笔记——脚本运行上下文
    《python编程》第二章笔记
    《Python编程》第一章笔记
    报错:IndentationError:unindent does not match any outer indentation level
    报错:SyntaxError: Non-ASCII character 'xe7' in file:
    1-2、make_db_file.py
    1-1.initdata.py
  • 原文地址:https://www.cnblogs.com/1995hxt/p/5692159.html
Copyright © 2011-2022 走看看