context.xml 文件的作用:
Context.xml 是 Tomcat 公用的环境配置。
tomcat
服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。
context.xml
的三个作用范围:
1. tomcat server 级别:
在 /conf/context.xml 里配置
2. Host 级别:
在
/conf/Catalina/${hostName} 里添加 context.xml,继而进行配置
3. web app 级别:
在 /conf/Catalina/${hostName}
里添加 ${webAppName}.xml,继而进行配置
Web.xml 文件的作用:
Web.xml 依次定议了如下元素:
<web-app>
<display-name></display-name> 定义了
WEB 应用的名字
<description></description> 声明 WEB
应用的描述信息
<filter></filter>
<filter-mapping></filter-mapping>
<servlet></servlet>
<servlet-mapping></servlet-mapping>
<session-config></session-config>
<welcome-file-list></welcome-file-list>
<taglib></taglib>
<resource-ref></resource-ref>
<security-constraint></security-constraint>
<login-config></login-config>
</web-app>
在
web.xml 中元素定义的先后顺序不能颠倒,否则 Tomcat 服务器可能会抛出 SAXParseException.
<!–
filter 配置 Servlet 过滤器
filter-name
定义过滤器的名字。当有多个过滤器时,不能同名
filter-class
指定实现这一过滤的类,这个类负责具体的过滤事务
–>
<filter>
<filter-name>SampleFilter</filter-name>
<filter-class>mypack.SampleFilter</filter-class>
</filter>
<!–
filter-mapping
设定过滤器负责过滤的 URL
filter-name 过滤器名。这里的名字一定要和 filter 中的过滤器名匹配
url-pattern 指定过滤器负责过滤的
URL
–>
<filter-mapping>
<filter-name>SampleFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!–
servlet
配置 Servlet.
servlet-name 定义 Servlet 的名字
servlet-class 指定实现这个 servlet
的类
init-param 定义 Servlet 的初始化参数和参数值,可有多个 init-param。在 servlet 类中通过 getInitParamenter
(String name) 方法访问初始化参数
load-on-startup 指定当 Web 应用启动时,装载 Servlet
的次序。
当值为正数或零时:Servlet 容器先加载数值小的 servlet,再依次加载其他数值大的 servlet.
当值为负或未定义:Servlet 容器将在
Web 客户首次访问这个 servlet
时加载它
–>
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>mypack.SampleServlet</servlet-class>
<init-param>
<param-name>initParam1</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!–
配置
servlet 映射(下面代码为 SampleServlet 指定的相对 URL 为 “/sample”:
servlet-name 指定 servlet
的名字,这里的名字应该和 <Servlet> 元素中定义的名字匹配。
url-pattern 指定访问这个 servlet 的
URL。只需给出相对路径。
–>
<servlet-mapping>
<servlet-name>SampleServlet</servlet-name>
<url-pattern>/sample</url-pattern>
</servlet-mapping>
<!–
配置 session session 用来设定 HttpSession
的生命周期。单位(秒)–>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!–
配置 Wel0come0 文件清单
–>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<!–
配置
Tag Library
taglib-uri 设定 Tag Library 的唯一标识符,在 Web 应用中将根据这一标识符来引用 Tag
Library
taglib-location 指定和 Tag Library 对应的 TLD
文件的位置
–>
<taglib>
<taglib-uri>/mytaglib</taglib-uri>
<taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
</taglib>
<!–
配置资源引用
description
对所引用的资源的说明
res-ref-name 指定所引用资源的 JNDI 名字
res-type 指定所引用资源的类名字
res-auth
指定管理所引用资源的 Manager, 它有两个可选值:
Container:由容器来创建和管理 resource
Application:
同 WEB 应用来创建和管理
Resource
–>
<resource-ref>
<description>DB
Connection</description>
<res-ref-name>jdbc/sampleDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!–
配置安全约束(以下代码指定当用户访问该
WEB 应用下的所有资源时,必须具备 guest 角色)
web-resource-collection 声明受保护的 WEB 资源
auth-constraint
声明可以访问受保护资源的角色,可以包含多个 <role-name> 子元素
web-resource-name 标识受保护的 WEB
资源
url-pattern 指定受保护的 URL
路径
–>
<Security-constraint>
<web-resource-collection>
<web-resource-name>sample
appliction</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>guest</role-name>
</auth-constraint>
</Security-constraint>
<!–
配置安全验证登录界面:指定当
WEB 客户访问受保护的 WEB 资源时,系统弹出的登录对话框的类型。
auth-method 指定验证方法,它有三个可选值:BASIC (基本验证)、DIGEST
(摘要验证)、FORM (表单验证)
realm-name 设定安全域的名称
form-login-config 当验证方法为 FORM
时,配置验证网页和出错网页
form-login-page 当验证方法为 FORM 时,设定验证网页
form-error-page 当验证方法为 FORM
时,设定出错网页
–>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>
Tomcat
Server Configuration form-Based Authentication
Area
</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<!–
配置对安全验证角色的引用 –>
<security-role>
<description>
The
role that is required to log into the sample
application
</description>
<role-name>guest</role-name>
</security-role>
</web-app>
Server.xml 文件的作用:
server.xml 是对 tomcat 的设置,可以设置端口号,添加虚拟机这些的,是对服务器的设置。
主要是部署工程的,例如:<Context path=”/project” docBase=”E:\work\abc\WebRoot”
debug=”0″ reloadable=”true” crossContext=”true”
/>。
project 是你的工程名称,docBase 的地址就是你的工程所在位置。
tomcat-users.xml 文件的作用:
1. 关于用户角色、管理员的信息都在这个配置文件中。
2. 登录用户默认是注释掉的,把 <!– –> 去掉才能生效。
3. 在配置文件
<tomcat-users> 节点下添加管理员配置:
<role rolename=”tomcat”/>
<role
rolename=”role1″/>
<user username=”tomcat”
password=”tomcat” roles=”tomcat”/>
<user
username=”both” password=”tomcat”
roles=”tomcat,role1″/>
<user username=”role1″
password=”tomcat” roles=”role1″/>