1. 程式人生 > >Servlet開發的一些細節問題

Servlet開發的一些細節問題

一、由於客戶端是通過URL地址訪問web伺服器中的資源,所以Servlet程式若想被外界訪問,必須把servlet程式對映到一個URL地址上,這個工作在web.xml檔案中使用<servlet>元素和<servlet-mapping>元素完成。

<servlet>元素用於註冊Servlet,它包含有兩個主要的子元素:<servlet-name>和<servlet-class>,分別用於設定Servlet的註冊名稱和Servlet的完整類名(java)。

一個<servlet-mapping>元素用於對映一個已註冊的Servlet的對外訪問路徑,它包含兩個元素;<servlet-name>和<url-pattern>,分別用於指定Servlet的註冊名稱和Servlet的對外訪問路徑。

二、

1、同一個Servlet可以被對映到多個URL上,具體反映在<Servlet-mapping>元素的<servlet-name>子元素的設定值可以是同一個Servlet的註冊名。

在Servlet對映到URL中也可以使用*萬用字元,但是隻能有兩個固定的格式:(1)“*.副檔名”(2)/正斜槓開頭,並以“/*”結尾。


三、通常情況下,伺服器只會建立一個Servlet例項物件,也就是說Servlet一旦建立,它就會駐留在記憶體中,為後續的其他請求服務,直到web容器退出,servlet例項物件才會銷燬。

在servlet的整個生命週期,init方法只被呼叫一次,每次呼叫都導致Serfvlet引擎呼叫servlet的service方法;每次訪問建立一個reques或者response響應物件,將這兩個物件作為一個引數傳遞給service方法,sevice方法呼叫相應的Doxxx方法。

四、

如果在<servlet>元素中配置了一個<load-on-startup>元素,web應用程式會在啟動時,裝載並建立Servlet的例項物件。

五、

1、servlet對映路徑為一個斜槓,這個servlet就成為當前web應用程式的預設servlet。

2、如果在web.xml中找不到匹配的元素url,他們的訪問都交給預設Servlet處理。

3、tomcat的sevlet.xml配置了預設Servlet