1. 程式人生 > >是否web.xml為web專案的唯一入口

是否web.xml為web專案的唯一入口

ps:每次搭建專案都習慣於配置web.xml。作為web段和後臺所聯絡的一個配置,一直認為web.xml為web專案的唯一入口,如果沒有隻是預設配置了。後來看了一下spring boot和Spring的 WebApplcationlnitializer,才發現web.xml並不做為web.xml的必須,所以我以前的結論也就崩潰了。

後來參考了一下他人微博並作筆記:裝載於http://supersun.iteye.com/blog/512266

   web.xml檔案常用來配置初始化資訊,如servlet攔截請求、filter過濾器、listener監聽器等。當你的web工程不需要配置這些,或者通過java配置時web.xml就不做為必須的檔案來配置你的Application,可以直接通過指定路徑或者API進行相應的跳轉或者相應檔案的載入。

   一,自己也收錄一些常用的web.xml標籤

(1)定義servlet併為servlet定義所要攔截的URL,攔截所有以.do結尾的請求

<servlet>
    <servlet-name>servlet1</servlet-name>
    <servlet-class>org.whatisjava.TestServlet</servlet-class>

</servlet>

<servlet-mapping>

    <servlet-name>servlet1</servlet-name>
    <url-pattern>*.do</url-pattern>

</servlet-mapping>

(2)定義初始化引數,可以定製servlet、JSP、Context的初始化引數,並在servlet、JSP、Context中取到

<servlet>
    <servlet-name>servlet1</servlet-name>
    <servlet-class>org.whatisjava.TestServlet</servlet-class>
    <init-param>
          <param-name>userName</param-name>
          <param-value>Daniel</param-value>
    </init-param>
    <init-param>
          <param-name>E-mail</param-name>
          <param-value>[email protected]</param-value>
    </init-param>

</servlet>

經過上面的配置,在servlet中能夠呼叫getServletConfig().getInitParameter("param1")獲得引數名對應的值。

(3)指定錯誤頁面處理,可以通過“異常型別”和“錯誤碼”來指定錯誤處理頁面

<error-page>
    <error-code>404</error-code>
    <location>/error404.jsp</location>
</error-page>
-----------------------------
<error-page>
    <exception-type>java.lang.Exception<exception-type>
    <location>/exception.jsp<location>

</error-page>

(4)設定編碼過濾器或者監聽器

<filter>
    <filter-name>XXXCharaSetFilter</filter-name>
    <filter-class>net.test.CharSetFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>XXXCharaSetFilter</filter-name>
    <url-pattern>/*</url-pattern>

</filter-mapping>

<listener>
<listener-class>net.test.XXXLisenet</listener-class>

</listener>

(5)設定會話(Session)過期時間,其中時間以分鐘為單位,假如設定60分鐘超時:

<session-config>
<session-timeout>60</session-timeout>
</session-config>