servlet元素

servlet元素術語數學函式之一。

函式功能

servlet元素用來聲明一個servlet

函式示例

<!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
(servlet-class|jsp-file), init-param*, load-on-startup?, run-as?,
security-role-ref*)>
<!ELEMENT servlet-name (#PCDATA)>
<!ELEMENT servlet-class (#PCDATA)>
<!ELEMENT jsp-file (#PCDATA)>
<!ELEMENT init-param (param-name, param-value, description?)>
<!ELEMENT load-on-startup (#PCDATA)>
<!ELEMENT run-as (description?, role-name)>
<!ELEMENT role-name (#PCDATA)>
icon、display-name和description元素用法和上一節介紹的用法相同。init-param元素與context-param元素具有相同的元素描述符。可以使用init-param子元素將初始化參數名和參數值傳遞給servlet。
(1) servlet-name、servlet-class和jsp-file元素
servlet元素必須含有servlet-name元素和servlet-class元素,或者servlet-name元素和jsp-file元素。描述如下:
● servlet-name元素用來定義servlet的名稱,該名稱在整個套用中必須是惟一的。
● servlet-class元素用來指定servlet的完全限定的名稱。
● jsp-file元素用來指定套用中JSP檔案的完整路徑。這個完整路徑必須由a/開始。
(2) load-on-startup元素
當啟動Web容器時,用load-on-startup元素自動將servlet加入記憶體。載入servlet就意味著實例化這個servlet,並調用它的init方法。可以使用這個元素來避免第一個servlet請求的回響因為servlet載入記憶體所導致的任何延遲。如果load-on-startup元素存在,而且也指定了jsp-file元素,則JSP檔案會被重新編譯成servlet,同時產生的servlet也被載入記憶體。
load-on-startup元素的內容可以為空,或者是一個整數。這個值表示由Web容器載入記憶體的順序。舉個例子,如果有兩個servlet元素都含有load-on-startup子元素,則load-on-startup子元素值較小的servlet將先被載入。如果load-on-startup子元素值為空或負值,則由Web容器決定什麼時候載入servlet。如果兩個servlet的load-on-startup子元素值相同,則由Web容器決定先載入哪一個servlet。
(3) run-as元素
如果定義了run-as元素,它會重寫用於調用Web套用中servlet所設定的Enterprise JavaBean(EJB)的安全身份。Role-name是為當前Web套用定義的一個安全形色的名稱。
(4) security-role-ref元素
security-role-ref元素定義一個映射,該映射在servlet中用isUserInRole (String name)調用的角色名與為Web套用定義的安全形色名之間進行。security-role-ref元素的描述如下:
<!ELEMENT security-role-ref (description?, role-name, role-link)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT role-name (#PCDATA)>
<!ELEMENT role-link (#PCDATA)>
role-link元素用來將安全形色引用連結到已定義的安全形色。role-link元素必須含有已經在security-role元素中定義的一個安全形色的名稱。
(5) Faces Servlet的servlet元素
在 JSF套用中,需要為Faces Servlet定義一個servlet元素,如下所示:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!-- Faces Servlet -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup> 1 </load-on-startup>
</servlet>
<!-- Faces Servlet Mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
</web-app>

相關詞條

相關搜尋

熱門詞條

聯絡我們