`

Tomcat web.xml配置文件参数详解

 
阅读更多

转自:http://blog.csdn.net/itmagic_jack/article/details/6293042

Web应用程序描述文件是Web应用程序的配置文件。

功能

01)   ServletContext的初始化参数

02)   Servlet / JSP的定义

03)   Servlet / JSP的映射

04)   MIME类型定义

05)   Session的配置

06)   MIME类型的映射

07)   欢迎文件列表

08)   错误页面的设置

09)   安全相关设置

10)   地区和编码的设置

11)   利用JNDI取得资源

12)   Tag Library的映射设定

 

 

=========================Writed by Jack.Hao on 2011.01.20========================

 

它由一个根元素<web-app></web-app>,它的内部元素结构如下:

<description>元素
为父元素提供一个文本描述信息。有一个可选属性xml:lang
例:

[xhtml] view plaincopy
  1. <description  xml:lang = ”zh”>在线网络书店</description>  

 

<display-name>元素
为这个元素指定一个简短的名字。有一个可选属性xml:lang

[xhtml] view plaincopy
  1. <display-name  xml:lang = “en”>bookstore</display-name>  

 

<icon>元素:
<small-icon>,<larger-icon>指定的大小图标,扩展名必须为 . gif或. jpeg,小图标的大小为16*16 pixel,大图标大小为32*32 pixel。在图形界面的开发工具中将用于表示父元素。
例:

[xhtml] view plaincopy
  1. <icon>  
  2.     <small-icon> / images / small.gif </small-icon>  
  3.     <large-icon> / images / large.gif </large-icon>  
  4. </icon>  

 

<distributable>元素:
为空元素标签。指定是否可分布式处理,出现这个元素代表此Web工程已被设计能在多个Web容器间分散执行。用于指定这个Web应用程序是否可被布置到分布式的Web容器中。

<context-param>元素
用于声明Servlet上下文的初始化参数。
<param-name>:指定叁数的名字
<param-value>:指定参数的值
在Serlvet中可通过如下方式获取这些参数信息:

[xhtml] view plaincopy
  1. String  s = getSerlvetContext ( ) . getInitParameter ( “参数名”);  

 

<filter>元素:
用于设置定一个过滤器。拦载过程发生在Web容器调用Serlvet其间。

Web容器在初始化时将这些信息封装到FilterConfig中,获得Filter实例对象时,Web容器通过调用Filter.init( )方法将这些信息传递给实例对象。

[xhtml] view plaincopy
  1. <filter>  
  2.     <filter-name>ssi</filter-name>  
  3.     <filter-class>org.apache.catalina.ssi.SSIFilter</filter-class>  
  4.     <init-param>  
  5.         <param-name>contentType</param-name>  
  6.         <param-value>text/x-server-parsed-html(;.*)?</param-value>  
  7.     </init-param>  
  8. </filter>  

 

=========================Writed by Jack.Hao on 2011.01.20========================
<filter-mapping>元素:
用于设置过滤器负责过滤的URL指定的一类或者直接指定的Servlet。
<filter-name>
<url-pattern>  或  <servlet-name>
<dispatcher>   REQUEST  |  INCLUDE  |  FORWARD  |  ERROR  指定Filter所拦截的Servlet容器调用资源的方式,默认为REQUEST,只对正常请求资源拦截。
例:

[xhtml] view plaincopy
  1. <filter-mapping>  
  2.     <filter-name>All JSP</filter-name>  
  3.     <url-patter> / * . jsp</url-pattern>   所拦截的请求路径。  
  4. </filter-mapping>  

 

 

<listener>元素:
用于在Web应用程序设置监听器,实现用Web程序的监听。
<description>
<display-name>
<icon>
<listener-class>:指定的是监听器的完整路径。
例:

[xhtml] view plaincopy
  1. <listener>  
  2.     <listener-class> org.apache.SessionListener </listener-class>  
  3. </listener>  

 

<servlet>元素:
用于监听Web应用程序中的ServletContext,HttpSession和ServletRequest等域对象的属性的创建与销毁,及修改的事件。一个Web应用程序可注册多个Serlvet事件监听器,Web服务启动时,顺序加载Web.xml中的这些Serlvet监听器。

[xhtml] view plaincopy
  1. <description></description>  
  2. <display-name></display-name>  
  3. <icon></icon>  
  4. <servlet-name></servlet-name>  
  5. <servlet-class></servlet-class> 或 <jsp-file></jsp-file>  
  6. <init-param>  
  7.     <description>  
  8.     <param-name>  
  9.     <param-value>  
  10. </init-param>  
  11. <load-on-startup></load-on-startup>  
  12. <run-as>  
  13.     <description></description>  
  14.     <role-name></role-name>  
  15. </run-as>  
  16. <security-role-ref>  
  17.     <description></description>  
  18.     <role-name></role-name>  
  19.     <role-link></role-link>  
  20. </security-role-ref>  

Web容器初始化应用程序时将这些信息存储在ServletConfig中,获得Serlvet实例时,Web容器能过Servlet.init( )将ServletConfig对象传递给Serlvet实例对象。

 

<jsp-file>元素:
指定Web应用程序中JSP文件的完整路径,以斜杠开头,用于对一个JSP文件做URL映射。
<jsp-file>/bookstore/BookList.jsp</jsp-file>

<load-on-startup>元素
当Web应用程序启动时,此Serlvet被加载的顺序,值为一个整数,如果这个值为负数或零,表示在首次使用到时才被加载。正整数,值越小,表示越早被加载。

=========================Writed by Jack.Hao on 2011.01.20========================

 

<run-as>元素:
用于指定可以执行此Servlet的角色。<role-name>可有多项用于指定用于角色列表。

<security-role-ref>元素
注意:<load-on-startup> , <run-as> , <role-link>只能出现0 次或一次。 

<servlet-mapping>元素
用于在Servlet和URL之间定义一种映射关系。
<servlet-name>:给出的servlet名字必须是<servlet>元素中声明过的serlvet名字。
<url-pattern>:该路径是相对于Web应用程序上下文的路径。
例:

[xhtml] view plaincopy
  1. <servlet-mapping>  
  2.     <servlet-name>servlet.Login</servlet-name>  
  3.     <url-pattern>/login</url-pattern>  
  4. </servlet-mapping>  

 

<session-config>元素
定义session的参数。定义这个Web站点所有session的有效期。为0表示永不过期,如web.xml没定义,则web容器必须设置HttpSession对象不活动存在的最长时间。
例:

[xhtml] view plaincopy
  1. <session-timeout>分钟<session-timeout>  

<mime-mapping>元素
在扩展名和MIME类型之间定义一个映射。
<extension> avi </extension> <!--指定扩展名-->
<mime-type> /x-msvideo </mime-type> <!--指定MIME类型-->

 

<welecom-file-list>元素
设置欢迎页面列表。Servlet容器会按照配置的先后顺序调用页面,依次寻找。

[xhtml] view plaincopy
  1. <welcome-file> index.jsp </welcome-file>  
  2. <welcome-file> index.html </welcome-file>  

 

<error-page>元素
使用此功能需要打IE"工具"Internet取消"显示HTTP友好错误信息"

[xhtml] view plaincopy
  1. <error-code>404<error-code> 或 <error-type>java.io.IOException<error-type>  
  2. <location>/error.jsp</location> 注意此处的路径必须以斜杠开头。  

 

<jsp-config>元素
为Web应用程序中的JSP文件提供全局的配置信息(对具有相同属性的多个页面进行统一定义)

[xhtml] view plaincopy
  1. <taglib>  
  2.     <taglib-uri>使用标签库的URI标识,JSP的taglib可以经这个URI存取到TLD文件。  
  3.     <taglib-location>此标签库存放的位置  
  4. </taglib>  
  5. <jsp-property-group>  
  6.     <description>  
  7.     <display-name>  
  8.     <url-pattern><!--可以出现一次或多次。设定影响值的范围。例:/ *.jsp-->  
  9.     <el-ignored><!--true|false 是否忽略EL表达式-->  
  10.     <scripting-invalid><!--true | false 是否支持<% scripting %>表达式。  
  11.     <page-encoding><!--它与每个JSP页面pageEncoding属性功能相同-->  
  12.     <include-prelude><!--可出现多次。所有与url-pattern指令模式匹配的JSP文件的开头都会包含此文件内容。如果有多个时,按顺序依次包含到匹配的JSP页面头部分。文件以.jspf结尾-->  
  13.     <include-coda><!--它用与指令头尾。与上例似。文件名以.jspf结尾-->  
  14.     <is-xml> <!--指示一组文件是否必须作为XML文档来解释-->  
  15. </jsp-property-group>  

例:
[xhtml] view plaincopy
  1. <jsp-config>  
  2.     <taglib>  
  3.         <taglib-uri>Taglib</ taglib>  
  4.         <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>  
  5.     </taglib>  
  6.     <jsp-property-group>  
  7.         <description>JSP example!</description>  
  8.         <display-name>JSPConfig</ display-name>  
  9.         <url-pattern>/jsp/*</ url-pattern>  
  10.         <el-ignored>true</ el –ignored>  
  11.         <page-encoding>GB2312</page-encoding>  
  12.         <scripting-invalid>true</script-invalid>  
  13.         <include-prelude>/include/prelude.jspf</include-prelude>  
  14.         <include-coda>/include/coda.jsp</include-coda>  
  15.     </jsp-propertry-group>  
  16. </jsp-config>  

 

=========================Writed by Jack.Hao on 2011.01.20========================

 

<security-constraint>元素
声明受保护的Web资源及能够访问受保护资源所采用的协议。
<display-name>
<web-resource-collection> 至少一个或多个
<web-resource-name>  指令一个名称标识。资源名称。
<description>
<url-pattern>  指定URL约束,受保护的URL路径
<http-method> 指定那些方法访问该资源时受保护。如没有指定则全部受保护。
<auth-constraint> 指定可以访问受保护资源的角色列表
<description>
<role-name> 指定角色名称。如果为*则表示所有角色均可访问。
<user-data-constraint> 指定客户端Web容器之间的通信数据应如何被保护。
<description>
<transport-guarantee>取值:NONE , INTEGRAL , CONFIDENTIAL其中NONE表示不加限制,即可使用所有通信协议。其它两种只能通过HTTPS协议访问受保护的资源。

<login-config>元素
<auth-method> 配置WEB应用程序的验证机制。BASIC | DIGEST | FORM | CLIENT-CERT或是产品供应商指定的验证模式。
<realm-name>指定在HTTP基本验证中使用的领域的名称。
<form-login-config> 基于FORM验证的相关配置。
<form-login-page>
<form-error-page>

<security-role>元素
定义一个安全角色。
<description>
<role-name>

<env-entry>元素
声明Web应用程序的环境变量。
<env-entry-name>:指字部署组件的环境变量的名字。
<env-entry-type>:指定环境变量的值所属的Java类型的完整限定名
<env-entry-value>:为环境变量指定一个值。

<ejb-ref>元素:
声明对一个EJB的Home接口的引用。
<description>
<ejb-ref-name>:指定在部署组件的代码中使用的EJB引用的名字
<ejb-ref-type>元素
指定引用的EJB类型
<home>:定义了引用EJB的Home接口的完整限定名
<remote>:定义了引用EJB的Remote接口的完整限定名
<ejb-link>:指定一个链接到EJB的引用
<ejb-local-ref>元素
<description>
<ejb-ref-name>:指定在部署组件的代码中使用的EJB引用的名字。
<ejb-ref-type>:指定引用的EJB类型。
<local-home>:定义了引用EJB的Home接口的完整限定名。
<local>:定义了引用EJB的Remote接口的完整限定名。
<ejb-link>:指定一个链接到EJB的引用。

=========================Writed by Jack.Hao on 2011.01.20========================

<resource-ref>元素
<description>
<res-ref-name>:指定所引用资源相对于java:comp/env上下JNDI名,该名字在部署文件中必须是唯一的。
<res-type>:所属数据类型,必须是Java类的完整限定名。
<res-auth>:Container和Application
<res-sharing-scope>:是否可以共享。 Shareable | Unshareable 默认为Shareable
例:

[xhtml] view plaincopy
  1. <resource-ref>  
  2.     <description>JNDI JDBC of Bookstore</description>  
  3.     <rec-ref-name>jdbc/sample_db</rec-ref-name>  
  4.     <res-type>javax.sql.DataSource </res-type>  
  5.     <res-type>Application|Container</res-type>  
  6. </resource-ref>  

 

<resource-env-ref>元素
<description>
<resource-env-ref-name>:指定资源环境名字。对于java:comp/env上下JNDI名
<resource-env-ref-type>:指定资源环境引用的类型。
<local-encoding-mapping-list>元素
指定语言环境和编码之间的映射关素。
<locale-encoding-mapping>
<locale>语言环境
<encoding>指定编码。
例:

[xhtml] view plaincopy
  1. <local-encoding-mapping>  
  2.     <local>ja</local>  
  3.     <encoding>shift_JIS</encoding>  
  4. </local-encoding-list>  

 

分享到:
评论

相关推荐

    web.xml配置文件详解

    ### web.xml配置文件详解 #### 一、概述 `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其...

    Tomcat中用web.xml控制Web应用详解

    Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...

    tomcatserver.xml配置详解.pdf

    server.xml是Tomcat中的核心配置文件,负责配置整个服务器的运行参数和连接器信息。下面将对Tomcat server.xml中可能包含的配置知识点进行详细说明: 1. &lt;Server&gt; 标签:这是Tomcat顶层的容器,用于构建整个Tomcat...

    web.xml配置文件详解[文].pdf

    `web.xml`是Java Web应用的核心配置文件,用于定义Servlet、过滤器、监听器以及其他相关组件的行为和配置。它是按照Servlet规范定义的标准格式编写,独立于任何特定的应用服务器,如Tomcat。以下是对`web.xml`文件中...

    详解Spring mvc的web.xml配置说明

    在构建基于Spring MVC的Web应用程序时,`web.xml`配置文件扮演着至关重要的角色。它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置...

    Tomcat web.xml 文件详解

    ### Tomcat web.xml 文件详解 #### 一、引言 `web.xml` 是部署在Tomcat服务器上的Web应用程序的核心配置文件之一。对于初次接触Tomcat部署的开发者而言,理解和掌握`web.xml`的配置至关重要。本文旨在深入解析`web...

    tomcat server.xml配置详解

    在深入探讨Tomcat服务器的`server.xml`配置文件之前,我们先简要了解下Tomcat。Apache Tomcat是一个开源的Servlet容器,主要用来运行Java Servlet和JavaServer Pages(JSP)。`server.xml`是Tomcat的核心配置文件,...

    Tomcat server.xml配置文件详解

    总之,`server.xml` 文件是 Tomcat 配置的核心,通过精细调整这些元素的属性,我们可以定制化 Tomcat 服务器的行为,以满足特定的应用场景需求。理解并熟练掌握 `server.xml` 的配置是优化和管理 Tomcat 服务器性能...

    web.xml配置详解

    在 Tomcat 环境下,Web.XML 文件是必不可少的,用于配置 Web 应用程序的各种参数。本文将详细介绍 Web.XML 文件的配置详解。 一、定义头和根元素 在 Web.XML 文件中,必须以一个 XML 头开始,声明 XML 版本和字符...

    tomcat_server.xml_配置详解

    《Tomcat Server.xml配置详解》 Tomcat作为流行的Java应用服务器,其核心配置文件`server.xml`对于理解和管理服务器的运行至关重要。本文将详细解析`server.xml`中的关键元素、属性及其含义,帮助读者深入理解...

    Web.xml配置文件.pdf

    《Web.xml配置文件详解》 在Java Web应用中,`Web.xml`文件是核心的部署描述符,它定义了应用程序的结构、行为以及服务器如何处理请求。这份文档将深入探讨`Web.xml`配置文件的各个关键元素,帮助开发者更好地理解...

    web.xml文件配置.doc

    web.xml文件是Java Web应用程序的部署描述符,它是容器(如Tomcat)理解和管理Web应用的关键配置文件。本文将深入探讨web.xml文件中的加载顺序和常用元素,帮助开发者更好地理解和使用。 首先,加载顺序是web.xml...

    Tomcat Web.xml 详解

    `web.xml` 文件是 Java Web 应用中的核心配置文件之一,它定义了应用程序的各种配置信息,包括但不限于 Servlet 的配置、过滤器(Filter)的配置、监听器(Listener)的配置等。通过 `web.xml` 文件,开发人员可以...

    web.xml配置详细介绍(CHM)

    **web.xml配置详解** 在Java Web开发中,`web.xml`是部署描述符(Deployment Descriptor)的核心文件,它定义了应用程序的行为和结构。这个CHM文件深入解析了`web.xml`的各种配置元素,帮助开发者更好地理解和控制...

    WEB-INF中的web.xml中之前增加以下配置:

    WEB-INF中的web.xml配置详解 本文将详细介绍WEB-INF中的web.xml文件中的配置,包括Context配置、Resource配置、resource-ref配置,以及对应的Java类编写。 一、Context配置 在WEB-INF中的web.xml文件中,添加以下...

    tomcat 配置文件 server.xml配置

    ### Tomcat Server.xml配置详解 在探讨`server.xml`配置文件之前,让我们先明确一点:`server.xml`是Apache Tomcat服务器的核心配置文件,它控制着Tomcat的启动、运行和停止过程。对于任何希望深入理解和优化Tomcat...

    tomcat服务器的Server.xml配置详解.docx

    《Tomcat服务器的Server.xml配置详解》 Tomcat作为一款广泛应用的开源轻量级Web应用服务器,其核心配置文件Server.xml对于服务器的管理和优化至关重要。本文将深入解析Server.xml的结构和配置要素,帮助读者更好地...

    tomcat server.xml 配置

    而`server.xml`作为Tomcat的核心配置文件,对Tomcat的启动、运行、性能调优等方面具有重要意义。本文将详细介绍`server.xml`中的关键配置项,并结合实例讲解如何通过该文件实现如去除默认端口、绑定多域名以及项目...

Global site tag (gtag.js) - Google Analytics