|
config隱含物件轉換為Servlet之後,對應於javax.servlet.ServletConfig 型態的物件,ServletConfig 是有關於Servlet設定資訊的物件,要瞭解ServletConfig,不免要牽涉到對web.xml中Servlet的註冊名稱之瞭解。 到目前為止在執行JSP網頁時,並不用在web.xml中設定任何的資訊,對於每一個JSP網頁的執行,它們預設的Servlet註冊名稱是jsp,您可以為每一個JSP網頁註冊一個Servlet名稱,並設定URL-Pattern對應,對每一個擁有註冊名稱的Servlet, Container會為該名稱產生一個實例,這個實例可以擁有自己的初始參數設定。 先來看看如何設定JSP網頁對應的Servlet註冊名稱,並設定一些初始參數,首先我們設定web.xml,在當中加入一些標籤設定:
... <servlet>標籤用來設定有關於Servlet的設定,<servlet-name>設定 Servlet註冊名稱,這個註冊名稱產生的實例來自於configtest.jsp轉換後的Servlet類別,也就是<jsp- file>所設定的內容,<init-param>用來設定初始參數,<param-name>是參數名稱,而< param-value>是對應於參數名稱的參數值。 <servlet-mapping>用來設定Servlet註冊名稱的別名,您將JSPConfigTest這個註冊名稱對應至 JSPConfigTest.html,如您所見的,您可以使用別名來隱藏網頁所使用的技術細節,增加網頁的安全性,瀏覽這個網頁的使用者,也許完全不會 知道這個網頁使用了JSP技術。 假設您的Web應用程式是在webapps/myjsp/下,如果使用以下的網址來瀏覽的話: http://localhost:8080/myjsp/JSPConfigTest.html
那麼實際上會呼叫註冊名稱JSPConfigTest所對應的JSP檔案,也就是configtest.jsp,假設這個網頁的內容如下:
... getServletName()可以取得Servlet的註冊名稱,而getInitParameter()可以取得指定的初始參數設定值,您也可以試著使用getInitParameterNames()來取得所有的初始參數名稱,下面是網頁的執行結果: Servlet Name: JSPConfigTest
Initial count: 100 |