分享

Servlet2.4中web.xml配置及说明

 pengx 2008-08-05

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java./xml/ns/j2ee"
 xmlns:xsi="http://www./2001/XMLSchema-instance"
 xsi:schemaLocation="http://java./xml/ns/j2ee http://java./xml/ns/j2ee/web-app_2_4.xsd"
 version="2.4">
 <!-- icon元素指出IDE和GUI工具用来表示Web应用的一个和两个图像文件的位置 -->
 <icon>
  <small-icon>/images/small.gif</small-icon><!-- 16*16 -->
  <large-icon>/images/large.jpg</large-icon><!-- 32*32 -->
 </icon>
 <!-- display-name元素提供GUI工具可能会用来标记这个特定的Web应用的一个名称 -->
 <display-name>The applicaiton name</display-name>
 <!-- description元素给出与此有关的说明性文本 -->
 <description>A longer description of the application</description>

 <!-- 用于告知Web容器: 应用设计为在分布式Web容器中运行. -->
 <distributable />

 <!-- context-param元素声明应用范围内的所有组件(servlet和JSP页面)都可用的上下文参数 -->
 <context-param>
  <!-- 参数名称 -->
  <param-name>Support</param-name>
  <!-- 参数值 -->
  <param-value>xihaikun@eays.net</param-value>
 </context-param>

 <!-- 注册一个过滤器组件 -->
 <filter>
  <!-- 描述 -->
  <description></description>
  <!-- 名称 -->
  <display-name></display-name>
  <icon></icon>
  <!-- 过滤器名称 -->
  <filter-name>filtername</filter-name>
  <!-- 具体类 -->
  <filter-class>com.ebuilds.Filter</filter-class>
  <!-- 初始化参数 -->
  <init-param>
   <param-name></param-name>
   <param-value></param-value>
  </init-param>
 </filter>

 <!-- 将过滤器映像至一个URI模式, 或者映像至一个Servlet. -->
 <filter-mapping>
  <filter-name>filtername</filter-name>
  <url-pattern></url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>filtername</filter-name>
  <servlet-name>servletName</servlet-name>
 </filter-mapping>

 <!-- 注册一个监听器 -->
 <listener>
  <listener-class>com.ebuilds.ajax.TaskListener</listener-class>
 </listener>

 <!-- 定义了Servlet或JSP页面的细节. 最常见的情况是, 此元素仅把一个Servlet或JSP页面与一个短名相关联, 并指定初始化参数: -->
 <servlet>
  <!-- servlet-name元素用来定义servlet的名称,该名称在整个应用中必须是惟一的 -->
  <servlet-name>TimeServlet</servlet-name>
  <!-- 用来指定servlet的完全限定的名称 -->
  <servlet-class>com.ebuilds.ajax.TimeServlet</servlet-class>
  <!-- 元素用来指定应用中JSP文件的完整路径。这个完整路径必须由/开始,不能和<servlet-class>元素同时出现 -->
  <!-- <jsp-file>/index.jsp</jsp-file> -->
  <init-param>
   <param-name>count</param-name>
   <param-value>1</param-value>
  </init-param>
  <!--当启动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 -->
  <load-on-startup>1</load-on-startup>
  <!-- 如果定义了run-as元素,它会重写用于调用Web应用中servlet所设定的Enterprise JavaBean(EJB)的安全身份。-->
  <run-as>
   <!-- Role-name是为当前Web应用定义的一个安全角色的名称 -->
   <role-name></role-name>
  </run-as>
  <!-- security-role-ref元素定义一个映射,该映射在servlet中用isUserInRole (String name)调用的角色名与为Web应用定义的安全角色名之间进行 -->
  <security-role-ref>
   <role-name></role-name>
   <!-- role-link元素用来将安全角色引用链接到已定义的安全角色。role-link元素必须含有已经在security-role元素中定义的一个安全角色的名称 -->
   <role-link></role-link>
  </security-role-ref>
 </servlet>

 <!-- 元素将一个Servlet或JSP页面映像至一个URL模式. -->
 <!-- 路径前缀模式: -->
 <servlet-mapping>
  <servlet-name>purchase</servlet-name>
  <url-pattern>/po/*</url-pattern>
 </servlet-mapping>
 <!-- 完全匹模模工: -->
 <servlet-mapping>
  <servlet-name>sales-report</servlet-name>
  <url-pattern>/report</url-pattern>
 </servlet-mapping>
 <!-- 扩展名映像模式: -->
 <servlet-mapping>
  <servlet-name>XMLProcessor</servlet-name>
  <url-pattern>*.xml</url-pattern>
 </servlet-mapping>

 <!-- 定制会话处理属性.在一个部署描述文件中只能使用一个此类元素 -->
 <session-config>
  <!--设置会话过期时间 -->
  <session-timeout>180</session-timeout>
 </session-config>

 <!-- 如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证 -->
 <mime-mapping>
  <extension></extension>
  <mime-type></mime-type>
 </mime-mapping>

 <!--定义要在目录中查找并提供索引文件的有序表.如果使用了多个此类元素, 容器会将其合并. -->
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>index.html</welcome-file>
 </welcome-file-list>

 <!--指定错误的页面 -->
 <error-page>
  <!-- 指出在给定的HTTP错误代码出现时使用的URL -->
  <error-code>404</error-code>
  <location>/NotFound.jsp</location>
 </error-page>

 <error-page>
  <!-- 指出在出现某个给定的Java异常但未捕捉到时使用的URL -->
  <exception-type>exception.ServletNotFound</exception-type>
  <location>/sorry.jsp</location>
 </error-page>

 <jsp-config>
  <jsp-property-group>
   <!-- 设定的说明 -->
   <description>
    Special property group for JSP Configuration JSP
    example.
   </description>
   <!-- 设定名称 -->
   <display-name>JSPConfiguration</display-name>
   <!-- 设定值所影响的范围 -->
   <url-pattern>/jsp/*</url-pattern>
   <!--允许或者禁止EL语言 若为true,表示不支持EL 语法 -->
   <el-ignored>true</el-ignored>
   <!-- 设定JSP 网页的编码 -->
   <page-encoding>GB2312</page-encoding>
   <!-- 若为true,表示不支持<% scripting %>语法 -->
   <scripting-invalid>true</scripting-invalid>
   <!-- 设置JSP 网页的头,扩展名为.jspf -->
   <include-prelude>/include/prelude.jspf</include-prelude>
   <!-- 设置JSP 网页的结尾,扩展名为.jspf -->
   <include-coda>/include/coda.jspf</include-coda>
  </jsp-property-group>
 </jsp-config>

 <!-- 声明对于受保护资源使用何种鉴别方法.在一个部署描述文件中只能使用一个此类元素 -->
 <login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
   <form-login-page>/login/login.html</form-login-page>
   <form-error-page>/login/error.html</form-error-page>
  </form-login-config>
 </login-config>

 <!-- resource-env-ref元素声明与资源相关的一个管理对象。 -->
 <resource-env-ref>
  <resource-env-ref-name>/jms/StockQueue</resource-env-ref-name>
  <resource-env-ref-type>/javax.jms.Queue</resource-env-ref-type>
 </resource-env-ref>

 <!-- 为应用对象定义了JNDI可访问对象工厂 -->
 <resource-ref>
  <res-ref-name>/jms/Production</res-ref-name>
  <res-type>/javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

 <!-- 用于定义应用所用的角色名 -->
 <security-role>
  <role-name>admin</role-name>
 </security-role>

 <!-- 定义可由应用通过JNDI访问的简单对象, 如String 或 Boolean -->
 <env-entry>
  <env-entry-name>maxConnection</env-entry-name>
  <env-entry-type>java.lang.Integer</env-entry-type>
  <env-entry-value>100</env-entry-value>
 </env-entry>

 <!-- 通常用于声明应用所用的一个远程EJB引用. -->
 <ejb-ref>
  <ejb-ref-name>ejb/Payroll</ejb-ref-name>
  <ejb-ref-type>Session</ejb-ref-type>
  <home>com.mycomp.PayrollHome</home>
  <remote>com.mycomp.Payroll</remote>
 </ejb-ref>

 <!-- 声明应用所用的一个本地EJB引用 -->
 <ejb-local-ref>
  <ejb-ref-name>ejb/Payroll</ejb-ref-name>
  <ejb-ref-type>Session</ejb-ref-type>
  <local-home>com.mycomp.PayrollHome</local-home>
  <local>com.mycomp.Payroll</local>
 </ejb-local-ref>

 <!-- 声明应用所用Web服务的一个引用 -->
 <service-ref>
  <service-ref-name></service-ref-name>
  <service-interface></service-interface>
 </service-ref>

 <!-- 为应用所用的一个JMS消息目标声明一个逻辑名 -->
 <message-destination>
  <description>aaa</description>
  <display-name>aaa</display-name>
  <icon></icon>
  <message-destination-name></message-destination-name>
 </message-destination>

 <!-- 声明应用所用的JMS消息和目标引用 -->
 <message-destination-ref>
  <!--  在企业 Bean 代码中用作消息目标(相对于 java:comp/env)的环境名称 -->
  <message-destination-ref-name>
   jms/StockQueue
  </message-destination-ref-name>
  <!-- 被引用目标的预期类型 -->
  <message-destination-type></message-destination-type>
  <!-- 指定消息是在目标使用的还是为目标生成的,或是用于这两者 Produces/Consumes/ConsumesProduces -->
  <message-destination-usage>Produces</message-destination-usage>
  <!-- 将消息目标引用链接到实际消息目标。此值必须与 weblogic-ejb-jar.xml 中的 message-destination-name 所定义的目标匹配 -->
  <message-destination-link></message-destination-link>
 </message-destination-ref>

 <!-- 定义网站的字符编码方式 -->
 <locale-encoding-mapping-list>
  <locale-encoding-mapping>
   <locale>zh</locale>
   <encoding>gb2312</encoding>
  </locale-encoding-mapping>
 </locale-encoding-mapping-list>
</web-app>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约