Tomcat Context配置

<Context>元素的属性:
path:指定访问该Web应用的URL入口。
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。(指定项目所在地址)
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

 

 

 

在默认安装后,tomcat的主目录是webapps/root目录,如果我们想改变tomcat的主目录的话可以这样做:

1.打开C:/Tomcat/conf/server.xml,在<host></host>之间加入代码:

<Context path="" docBase="E:/tomcatApp/JeasyCMS" debug="0" reloadable="true" crossContext="true"/>

这样重新启动tomcat,我们的主目录就被设置为jeasyCMS这个项目了。

2.另外tomcat会生成一个C:/Tomcat/conf/Catalina/localhost目录,里面自动生成了一个ROOT.xml(root大写)文件,我们打开文件可以看到这些代码:

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="" reloadable="true">
</Context>
3.注意:我们创建虚拟目录的时候也是这样来进行设置的,只是context这个标签的path属性不为空。
4.我们设置虚拟目录和主目录,都会在C:/Tomcat/conf/Catalina/localhost目录下生成相应的xml文件,因此,当我们在server.xml里面删除了主目录和虚拟目录的设置后,如果系统还没有生效,这时候我们就要察看一下这个目录下的xml文件是不是已经被删除了,如果没有被删除,他还是对tomcat起作用的,我们必须手动删除。
5.基于第4点,通过测试我发现,每当我们访问一个地址的时候,tomcat首先是到C:/Tomcat/conf/Catalina/localhost目录下去察看有没有存在主目录或虚拟目录的xml文件,如果有xml文件,就按xml里的路径进行访问,如果没有xml文件,就到server.xml文件里去察看是否配置context标签,如果配置了context标签,则在C:/Tomcat/conf/Catalina/localhost目录下生成一个对应的xml文件,以便于下次直接验证而不再访问server.xml,与此同时打开context里指定的路径,如果server.xml里没有配置context标签,则返回访问错误页面。
6.基于第5点,我们其实可以直接在C:/Tomcat/conf/Catalina/localhost下建立一个xml文件,用于主目录或者虚拟目录,而不需要去修改server.xml就可以达到配置主目录和虚拟目录的目的,具体xml的格式可以如下:

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="" reloadable="true">
</Context>

具体是主目录的配置还是虚拟目录的配置取决于path的值。另外主目录文件名必须是ROOT.XML(root大写),而虚拟目录的文件名称和虚拟目录的名称一致并且为小写,譬如:
<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="/cms" reloadable="true">
</Context>

以上则定义了一个名为:cms的虚拟目录,同时要将以上文本保存为cms.xml文件。

7.以上住目录配置好后就可以按以下地址访问了:

http://localhost:8080/(访问主目录)

http://localhost:8080/cms (访问名为cms的虚拟目录)
### Tomcat Context 配置与使用 #### 什么是Context? `<Context>` 是Tomcat中的一个重要组件,它代表了一个Web应用程序的上下文环境。每个部署的应用程序都有自己的`<Context>`实例,用于定义该应用的各种属性和资源路径。 #### `<Context>` 的位置 通常情况下,可以找到多个地方来设置`<Context>`: - **全局配置**:位于 `$CATALINA_HOME/conf/context.xml` 文件内,这里的配置适用于所有已部署的应用。 - **特定应用配置**:对于单个webapp来说,可以在其 `META-INF/context.xml` 中指定特殊参数;也可以通过在服务器端conf目录下的相应子文件夹里放置名为context.xml的文档来进行个性化设定[^1]。 #### 主要配置项解释 以下是几个重要的配置选项及其作用说明: | 属性名 | 描述 | | --- | --- | | path | 定义访问此WebApp时使用的URL前缀,默认为空字符串(`""`)表示根路径。| | docBase | 应用的实际物理存储位置,即WAR包解压后的目录或是源码所在的位置。| | reloadable | 设置为true则允许热加载功能开启,当检测到类变化会自动重新加载整个application (开发阶段推荐启用) 。| 示例代码展示如何自定义一个简单的`<Context>`片段: ```xml <!-- Example of a minimalistic custom context --> <Context> <!-- Specifies the URL pattern used to access this application --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Enables automatic reloading when classes change during development --> <Resources cachingAllowed="false"/> <!-- Other configurations... --> </Context> ``` 为了使更改生效并验证是否正确设置了`<Context>`,记得按照指示重启Tomcat服务[^3]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dreamsky_boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值