摘自:http://blog.163.com/ny_lonely/blog/static/18892427320136925044357/
context.xml 文件
配置属性说明
用于配置web应用部署时的物理目录与虚拟目录的映射等。由于属性太多本文只介绍几种常见的配置、附上全部属性链接,请猛戳—>点我
Context的可以配置在以下地方配置:
1:$CATALINA_BASE / conf / context.xml 文件中配置。如果你在这个地方配置、那么这个配置文件将会被所有的webApp共享 。(不建议使用)
2:$CATALINA_BASE / conf / {enginename} / {hostname} / context.xml 如果在这个位置配置context。那么这个配置将会被这个主机上的webaopp共享。(不建议使用)
3:$CATALINA_BASE /conf / {enginename} /{hostname} / 在这个目录下、新建一个XML文件、那么这个文件的名字将会用于 context的path属性、多级路径使用"#"分开(Web1#User.xml:表示地址
为/Web1/User)。默认时使用ROOT.XML。表示缺损的应用。(最简单的例子就是在进入tomcat服务器时会默认进入有只猫的那个管理页面)(这个配置不用重启服务器,如果context直接配置在server.xml
中时。每当修改后、都需要重新启动服务器。)。在server.xml中配置缺损应用时、只需要将path配置成“”就可以了。(<Context path="" basepath="物理路径")。(建议使用)
4:tomcat服务器文件中的webapp目录下的所有文件夹都是一个应用。这个时候不需要自己动手配置、服务器默认将文件夹名映射成虚拟目录名称。(不建议使用)
5:还可以通过/META-INF / context.xml 来配置、这个是在web应用中自己添加的。配置和其它一样。(建议使用)
注意:更多有关针对单个站的配置尽可能的配置在web.xml文件中。
server.xml 文件
这个文件已经有前辈整理了这里不再重复赘述、
详细配置请猛戳"Server.xml配置属性详解"
顺便放上web.xml中属性的详解"Web.xml属性说明"
配置属性说明
tomcat-users.xml 文件
配置属性说明
配置Tomcat的管理用户(通过web来管理和查看tomcat运行情况以及部署的webApp)文件在“conf”文件夹下。
文档结构如下,是一个名为:tomcat-users.xml的xml格式文件
<?xml version=‘1.0‘ encoding=‘utf-8‘?> <tomcat-users> <role rolename="manager-gui"/> <user username="AlexChen" password="admin" roles="manager-gui"/> </tomcat-users> |
此文档是一个xml配置文件、其中主要配置节点为<tomcat-users>如果需要新添角色和用户。只需要在<tomcat-users>节点中
添加<role rolename=""/>和<user username="uName" password="uPwd" roles="roles"/>这样两个子节点就可以了。值得
注意的是、role节点包含有以下4个角色其它角色(摘自apache官网)可以点击进入查看角色说明:
1:“manager-gui”:Allows access to the html interface(允许通过web的方式登录查看服务器信息)。
2:“manager-script”: Allows access to the plain text interface(允许以纯文本的方式访问)。
3:“manager-jmx”: Allows access to the JMX proxy interface(允许jmx的代理访问)。
4:“manager-status”: Allows access to the read-only status pages(允许以只读状态访问)。
5:“manager”:管理员(权限明细暂时不明)。
6:“admin”:同5。
web.xml
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的映射设定 |
它由一个根元素<web-app></web-app>,它的内部元素结构如下:
<description>元素:
为父元素提供一个文本描述信息。有一个可选属性xml:lang
例:
[xhtml] view plaincopyprint?
|
<display-name>元素:
为这个元素指定一个简短的名字。有一个可选属性xml:lang
[xhtml] view plaincopyprint?
|
<icon>元素:
<small-icon>,<larger-icon>指定的大小图标,扩展名必须为 . gif或. jpeg,小图标的大小为16*16 pixel,大图标大小为32*32 pixel。在图形界面的开发工具中将用于表示父元素。
例:
[xhtml] view plaincopyprint?
|
<distributable>元素:
为空元素标签。指定是否可分布式处理,出现这个元素代表此Web工程已被设计能在多个Web容器间分散执行。用于指定这个Web应用程序是否可被布置到分布式的Web容器中。
<context-param>元素:
用于声明Servlet上下文的初始化参数。 <param-name>:指定叁数的名字 <param-value>:指定参数的值 |
在Serlvet中可通过如下方式获取这些参数信息:
[xhtml] view plaincopyprint?
|
<filter>元素:
用于设置定一个过滤器。拦载过程发生在Web容器调用Serlvet其间。
Web容器在初始化时将这些信息封装到FilterConfig中,获得Filter实例对象时,Web容器通过调用Filter.init( )方法将这些信息传递给实例对象。
[xhtml] view plaincopyprint?
|
<filter-mapping>元素:
用于设置过滤器负责过滤的URL指定的一类或者直接指定的Servlet。 <filter-name> <url-pattern> 或 <servlet-name> <dispatcher> REQUEST | INCLUDE | FORWARD | ERROR 指定Filter所拦截的Servlet容器调用资源的方式,默认为REQUEST,只对正常请求资源拦截。 |
例:
[xhtml] view plaincopyprint?
|
<listener>元素:
用于在Web应用程序设置监听器,实现用Web程序的监听。 <description> <display-name> <icon> <listener-class>:指定的是监听器的完整路径。 |
例:
[xhtml] view plaincopyprint?
|
<servlet>元素:
用
于监听Web应用程序中的ServletContext,HttpSession和ServletRequest等域对象的属性的创建与销毁,及修改的事
件。一个Web应用程序可注册多个Serlvet事件监听器,Web服务启动时,顺序加载Web.xml中的这些Serlvet监听器。
[xhtml] view plaincopyprint?
|
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被加载的顺序,值为一个整数,如果这个值为负数或零,表示在首次使用到时才被加载。正整数,值越小,表示越早被加载。 |
<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 plaincopyprint?
|
<session-config>元素:
定义session的参数。定义这个Web站点所有session的有效期。为0表示永不过期,如web.xml没定义,则web容器必须设置HttpSession对象不活动存在的最长时间。
例:
[xhtml] view plaincopyprint?
|
<mime-mapping>元素:
在扩展名和MIME类型之间定义一个映射。 <extension> avi </extension> <!--指定扩展名--> <mime-type> /x-msvideo </mime-type> <!--指定MIME类型--> |
<welecom-file-list>元素:
设置欢迎页面列表。Servlet容器会按照配置的先后顺序调用页面,依次寻找。
[xhtml] view plaincopyprint?
|
<error-page>元素:
使用此功能需要打IE"工具"Internet取消"显示HTTP友好错误信息"
[xhtml] view plaincopyprint?
|
<jsp-config>元素:
为Web应用程序中的JSP文件提供全局的配置信息(对具有相同属性的多个页面进行统一定义)
[xhtml] view plaincopyprint?
|
例:
[xhtml] view plaincopyprint?
|
<security-constraint>元素:
声明受保护的Web资源及能够访问受保护资源所采用的协议。 <display-name> <web-resource-collection> 至少一个或多个 <web-resource-name> 指令一个名称标识。资源名称。 <description> <http-method> 指定那些方法访问该资源时受保护。如没有指定则全部受保护。 <auth-constraint> 指定可以访问受保护资源的角色列表 <description> <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的引用。 |
<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 plaincopyprint?
|
<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 plaincopyprint?
- <local-encoding-mapping>
- <local>ja</local>
- <encoding>shift_JIS</encoding>
- </local-encoding-list>