Tomcat默認DefaultServlet

默認 web.xml

Tomcat$CATALINA_BASE/conf/web.xml中默認定義了兩個Servlet DefaultServlet 和 JspServlet,

Tomcat$CATALINA_BASE/conf/web.xml為Web應用的默認部署描述文件,因此這兩個Servlet會默認存在所有Web應用容器中。

DefaultServlet

配置

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

職能

  • DefaultServlet為默認的Servlet,當客戶端請求不能匹配其他所有Servlet時,將由Servlet處理.
  • DefaultServlet主要用于處理靜態(tài)資源,如HTML、圖片、CSS、JS文件等,而且為了提升服務器性能,Tomcat對訪問文件進行緩存。按照默認配置,客戶端請求路徑與資源的物理路徑是一致的。
  • 如果我們希望修改DefaultServlet的映射路徑,只需要將Web應用中web.xml配置進行如下配置 ,
    • 修改DefaultServlet url-pattern改為“/static/*”
    • 修改后DefaultServlet只會處理“/static/*“ 目錄下靜態(tài)資源
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/static/*</url-pattern>
    </servlet-mapping>
  • 如果我們希望自定義Servlet映射路徑為"/" ,只需要將Web應用中web.xml配置進行如下配置
  • DispatcherServlet攔截“/”,攔截了所有的請求
  • DefaultServlet 失效,會導致.js,*.gif靜態(tài)資源的訪問也會被DispatcherServlet 攔截了,無法訪問靜態(tài)資源
  • 如果期望DefaultServlet 攔截靜態(tài)資源需要給DefaultServlet 配置一個新的映射路徑
    <servlet>
        <servlet-name>SpringMvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

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

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/static/*</url-pattern>
    </servlet-mapping>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 在之前的項目中,需要對項目做集群,由于項目對系統(tǒng)的并發(fā)要求不大,所以就采取Session共享方式實現(xiàn),雖然根據(jù)在網(wǎng)...
    夢中一點心雨閱讀 2,332評論 0 1
  • [TOC] 本文將介紹tomcat配置文件server.xml中常用的節(jié)點配置。 1 整體結(jié)構(gòu) server.xm...
    hylexus閱讀 858評論 2 5
  • java動態(tài)網(wǎng)頁技術(shù) servlet 本質(zhì)就是一段Java程序 在Servlet中最大的問題是,HTML輸出和Ja...
    Liang_JC閱讀 574評論 0 0
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會,身份的轉(zhuǎn)變要...
    余生動聽閱讀 10,805評論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,467評論 1 3

友情鏈接更多精彩內(nèi)容