目录
前言
Tomcat 的配置文件由4个 xml 文件构成,context.xml、web.xml、server.xml、tomcat-users.xml 这4个文件。每个文件都有自己的功能与配置方法,下列将逐一介绍这几个文件的配置:
一、context.xml 文件
Context.xml 是 Tomcat 公用的环境配置,tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。推荐在 $CATALINA_BASEconf/context.xml 中进行独立的配置。因为 server.xml 是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载,而context.xml 文件则不然。
下面是context.xml文件的配置
1 <Context path="/eml" docBase="eml" debug="0" reloadbale="true" privileged="true">
2
3 <WatchedResource>WEB-INF/web.xml</WatchedResource>
4
5 <WatchedResource>WEB-INF/eml.xml</WatchedResource> #监控资源文件,如果web.xml || eml.xml改变了,则自动重新加载改应用。
6
7 <Resource name="jdbc/testSiteds" #表示指定的jndi名称
8 auth="Container" #表示认证方式,一般为Container
9 type="javax.sql.DataSource"
10 maxActive="100" #连接池支持的最大连接数
11 maxIdle="40" #连接池中最多可空闲maxIdle个连接
12 maxWait="30000" #连接池中连接用完时,新的请求等待时间,毫秒
13 username="txl" #表示数据库用户名
14 password="123456" #表示数据库用户的密码
15 driverClassName="com.mysql.jdbc.Driver" #表示JDBC DRIVER
16 url="jdbc:mysql://localhost:3306/testSite" /> #表示数据库URL地址
17
18 </Context>
context.xml的三个作用范围
1. tomcat server 级别:
在$CATALINA_BASE/conf/context.xml 里配置,如果你在这个地方配置、那么这个配置文件将会被所有的webApp共享 。
2. Host 级别:
在 $CATALINA_BASE/conf/Catalina/${hostName} 里添加 context.xml,继而进行配置,这个配置将会被这个主机上的所有webapp共享。
3. web app 级别:
在 $CATALINA_BASE/conf/Catalina/${hostName} 里添加 ${webAppName}.xml,继而进行配置。
此时,path="",
webAppName 即为 path属性的值,也就是访问的虚拟目录。
另:tomcat 服务器文件中的 $CATALINA_BASE/webapps 目录下的所有文件夹都是一个应用。这个时候不需要自己动手配置,服务器默认将文件夹名映射成虚拟目录名称。还可以通过 $CATALINA_BASE/webapps/{App}/META-INF/context.xml 来配置,这个是在web应用中自己添加的,配置和其它一样。
<context> 标签是使用,
二、web.xml文件
Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。
1 <web-app >
2 <filter></filter>
3 <filter-mapping></filter-mapping>
4 <servlet></servlet>
5 <servlet-mapping></servlet-mapping>
6 <session-config></session-config>
7 <mime-mapping></mime-mapping>
8 <welcome-file-list></welcome-file-list>
9 </web-app >
1 <!--
2 filter 配置Servlet过滤器
3 filter-name 定义过滤器的名字。当有多个过滤器时,不能同名
4 filter-class 指定实现这一过滤的类,这个类负责具体的过滤事务
5 -->
6 <filter>
7 <filter-name>SampleFilter</filter-name>
8 <filter-class>mypack.SampleFilter</filter-class>
9 </filter>
10
11 <!--
12 filter-mapping 设定过滤器负责过滤的URL
13 filter-name 过滤器名。这里的名字一定要和filter中的过滤器名匹配
14 url-pattern 指定过滤器负责过滤的URL
15 -->
16 <filter-mapping>
17 <filter-name>SampleFilter</filter-name>
18 <url-pattern>*.jsp</url-pattern>
19 </filter-mapping>
20
21 <!--
22 servlet 配置Servlet.
23 servlet-name 定义Servlet的名字
24 servlet-class 指定实现这个servlet的类
25 init-param 定义Servlet的初始化参数和参数值,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数
26 load-on-startup 指定当Web应用启动时,装载Servlet的次序。
27 当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet.
28 当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它
29 -->
30 <servlet>
31 <servlet-name>SampleServlet</servlet-name>
32 <servlet-class>mypack.SampleServlet</servlet-class>
33 <init-param>
34 <param-name>initParam1</param-name>
35 <param-value>2</param-value>
36 </init-param>
37 <load-on-startup>1</load-on-startup>
38 </servlet>
39
40 <!--
41 配置servlet映射(下面代码为SampleServlet指定的相对URL为"/sample":
42 servlet-name 指定servlet的名字,这里的名字应该和<Servlet>元素中定义的名字匹配。
43 url-pattern 指