教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

web.xml配置詳解

更新時間:2016年04月26日16時33分 來源:傳智播客Java培訓學院 瀏覽次數(shù):

web.xml文件我們都不陌生,每一個web應用中都會有一個web.xml文件。在Tomcat安裝目錄下的conf目錄也有web.xml文件,而今天我們分析的web.xml正是Tomcat的web.xml。
我們知道,每一個web應用最終是被發(fā)布到Tomcat的webappes目錄下,Tomcat是它們的運行環(huán)境??梢岳斫鉃門omcat的web.xml文件是每一個web應用的web.xml的父文件,Tomcat將每個應用的公共配置提取出來放在conf目錄下的web.xml中,每個應用的個性配置放在自己的web.xml文件中。如圖1-1所示:

圖1-1 web.xml關系圖
下面我們結合web.xml文件的內容,來分析它的配置的作用,web.xml文件主要內容如例1-1所示:
例1-1 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>
<servlet>
        <servlet-name>jsp</servlet-name> 
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
</servlet>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern> 
       <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    <!-- 這里省略了大概4000多行的MIME類型的定義,只給出兩種MIME類型的定義 -->
    <mime-mapping>
        <extension>bmp</extension>
        <mime-type>image/bmp</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>htm</extension>
        <mime-type>text/html</mime-type>
    </mime-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
對以上內容進行分析,如下:
(1)<servlet-name>default</servlet-name>
對應一個類名為DefaultServlet的Servlet,我們看這個servlet對應的<servlet-mapping>中的映射路徑是“/”,匹配所有路徑。優(yōu)先級最低,當用戶訪問的url沒有匹配的Servlet或頁面時,訪問DefaultServlet ,它會響應給客戶端一個404狀態(tài)碼。
(2)<servlet-name>jsp</servlet –name>
對應一個類名為JspServlet的Servlet,該Servlet的映射路徑是“*.jsp”、“*.jspx”。即當用戶請求的資源是一個jsp頁面等時,訪問的是JspServlet.我們知道瀏覽器不能顯示動態(tài)資源,因此JspServlet的作用就是將當前訪問的jsp頁面轉換成靜態(tài)的html頁面,然后再響應給瀏覽器。
(3)<session-timeout>30<session-timeout>
該標簽是設置session的存活時間為30分鐘,session是一個會話,后面我們會學習它。
(4)<mime-mapping><extension>htm</extension><mime-type>text/html</mime-type></mime-mapping>
其中<extension>標簽的內容指的是響應文件的后綴名,通過后綴名進而知道它的mime類型,即<mime-type>標簽的內容。這是服務器告訴瀏覽器響應回去的響應內容的mime類型。
(5)<welcome-file-list>
該標簽的子標簽中的內容對應的是歡迎頁。在應用的web.xml中如果沒有對<welcome-file-list>進行覆蓋,那么默認主頁為index.html、index.html、index.jsp。





本文版權歸傳智播客Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:傳智播客Java培訓學院
首發(fā):http://fskzgqt.cn/javaee
0 分享到:
和我們在線交談!