跳转到主内容
极星编程网:以代码为星,赴技术山海!

Tomcat配置中的context.xml,你真的懂了吗?

文章导读

各位编程老铁,你是否在配置Tomcat时,对context.xml感到困惑?别急,今天苏承栈就来带你深入解析Tomcat的context.xml配置,让你一次性搞懂它!读完这篇文章,你将能够:

  • 理解context.xml在Tomcat中的作用
  • 掌握context.xml的配置方法
  • 了解context.xml的不同作用范围

正文部分

首先,我们先来看看Tomcat 5.5之前的配置方式。

Tomcat 5.5之前的配置

在Tomcat 5.5之前,Context体现在/conf/server.xml中的Host里的元素,它由Context接口定义。每个元素代表了运行在虚拟主机上的单个Web应用。

<Context path=\"/kaka" docBase=\"kaka" debug=\"0" reloadbale=\"true"> </Context>

这里有几个关键点:

  • path:即要建立的虚拟目录,注意是/kaka,它指定访问Web应用的URL入口,如http://localhost:8080/kaka/****。
  • docBase:为实际目录在硬盘上的位置(应用程序的路径或者是WAR文件存放的路径)。
  • reloadable:如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改变,如果监视到有class文件被更新,服务器自动重新加载Web应用,这样我们可以在不重启Tomcat的情况下改变应用程序。

一个Host元素中可以嵌套任意多的Context元素。每个Context的路径必须是唯一的,由path属性定义。另外,你必须定义一个path=\""的context,这个Context称为该虚拟主机的默认web应用,用来处理那些不能匹配任何Context的Context路径的请求。

Tomcat 5.5之后的配置

在Tomcat 5.5之后,不推荐在server.xml中进行配置,而是在/conf/context.xml中进行独立的配置。因为server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。而context.xml文件则不然,Tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。

<Context path=\"/kaka" docBase=\"kaka" debug=\"0" reloadbale=\"true" privileged=\"true"> </Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource> 
<WatchedResource>WEB-INF/kaka.xml</WatchedResource> 监控资源文件,如果web.xml || kaka.xml改变了,则自动重新加载改应用。 
<Resource name=\"jdbc/testSiteds" 表示指定的jndi名称  
    auth=\"Container" 表示认证方式,一般为Container  
    type=\"javax.sql.DataSource"  
    maxActive=\"100" 连接池支持的最大连接数  
    maxIdle=\"30" 连接池中最多可空闲maxIdle个连接  
    maxWait=\"10000" 连接池中连接用完时,新的请求等待时间,毫秒  
    username=\"root" 表示数据库用户名  
    password=\"root" 表示数据库用户的密码  
    driverClassName=\"com.mysql.jdbc.Driver" 表示JDBC DRIVER  
    url=\"jdbc:mysql://localhost:3306/testSite" /> 表示数据库URL地址

这里有几个新增的关键点:

  • privileged:表示这个context是否有权限去访问系统资源。
  • WatchedResource:监控资源文件,如果web.xml || kaka.xml改变了,则自动重新加载改应用。
  • Resource:用于配置JNDI资源,如数据库连接池。

context.xml的三个作用范围

1. Tomcat server级别:在/conf/context.xml里配置。

2. Host级别:在/conf/Catalina/${hostName}里添加context.xml,继而进行配置。

3. web app 级别:在/conf/Catalina/hostName里添加{hostName}里添加{webAppName}.xml,继而进行配置。

小结与拓展

通过本文的讲解,相信大家对Tomcat的context.xml配置有了更深入的理解。如果想要了解更多关于Tomcat的配置和优化技巧,请关注「极星编程网」(www.jxgpc.com),苏承栈在这里等你!

相关文章