1. 程式人生 > >Servlet的配置

Servlet的配置

Servlet作為web元件可以處理http請求/響應,因而對外要求一個唯一的URL地址。Servlet可以在
web的配置檔案/WEB-INF/web.xml中進行配置,也可以在註釋中進行配置。

Servlet的配置分為宣告和對映兩個步驟:

1.宣告:

(1).Servlet宣告:通知web容器這個Servlet的存在。

    <servlet>
        <servlet-name>SignIn</servlet-name>
        <servlet-class>cn.mirror6.servlet.SignIn</servlet-class
>
</servlet>
<servlet-name>宣告Servlet的名字,一般與Servlet的類名相同即可,要求在一個web.xml檔案內名字唯一。
<servlet-class>指定Servlet的全名,即包名.類名。

(2).Servlet初始引數:在Servlet中可以讀取引數資訊,從而避免在Servlet程式碼中定義這些引數。當這些資訊修改時,只修改配置檔案即可。

    <servlet>
        <init-param>
            <param-name>
driver</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </init-param> </servlet>
<init-param>標籤裡的就是引數。                                     
<param-name>指定引數的名字。
<param-value>指定引數的值。

在Servlet中可以通過ServletConfig(config.getInitParameter(“”))取得定義的初始化引數.

(3).Servlet啟動時機:在配置Servlet時,可以指定Servlet跟隨web容器一起自動啟動,這時Servlet就可
以在沒有請求的情形下就行例項化和初始化,完成特定的任務。

    <load-on-startup>2</load-on-startup>

數字表示啟動的順序,數字越小越先啟動,最小為0,表示緊跟web容器啟動後,第一個啟動。原則上不同的
Servlet應該使用不同的啟動順序。

    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-value>org.apache.struts.action.ActionServlet</servlet-value>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

2.對映:

Servlet被外部訪問,需要一個對映地址。

    <servlet-mapping>
        <servlet-name>servlet名稱</servlet-name>
        <url-pattern>URL</url-pattern>
    </servlet-mapping>

(1).絕對地址對映:絕對地址只能對映到一個地址,URL的格式如下:/目錄/目錄/檔名.副檔名。

    <servlet-mapping>
        <servlet-name>LoginAction</servlet-name>
        <url-pattern>/login.action</url-pattern>
    </servlet-mapping>

(2).匹配目錄模式對映:這類對映重點是匹配目錄,只要目錄符合對映模式,不考慮檔名,可以響應多個地址。
URL的格式如下:/目錄/目錄/*。

    <servlet-mapping>
        <servlet-name>MainAction</servlet-name>
        <url-pattern>/main/*</url-pattern>
    </servlet-mapping>

(3).匹配副檔名模式對映:以匹配副檔名的方式進行URL對映,不考慮檔案的目錄資訊,也可以響應多個地址。
URL的格式如下:*.副檔名。

    <servlet-mapping>
        <servlet-name>MainAction</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

注意:不能混合使用對映模式,否則會出錯。

註釋的方法這裡不做詳細的介紹。

參照教材整理的學習筆記