请输入您要查询的百科知识:

 

词条 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"

<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>

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/4/17 4:01:41