解读Tomcat配置文件-一个Tomcat配置多个应用

Tomcat配置文件server.xml中用于应用配置的部分:
在这里插入图片描述

<Server>中的一个<Service>节点对应一个连接,<Service>节点中包含子标签<Connection>用于配置Tomcat监听连接访问的端口
在这里插入图片描述
<Host>标签中的appBase表示:要部署的项目资源应放在哪个路径下。appBase的值可以是相对路径或者绝对路径,但必须是Tomcat有权限能访问到的路径
在这里插入图片描述
在这里插入图片描述
如果在一个Tomcat中部署多个应用,每个应用占用一个端口,那么可以在<Server>配置多个<Service>节点,每个<Service>节点表示一个应用,<Service>节点中的<Connection>标签用来配置该应用访问的端口。下图中,部署两个应用配置两个名分别为Catalina1和Catalina2的<Service>节点,各自配置端口号,以及在同一个Tomcat容器下建立两个路径,分别为<Host>标签中配置的两个appBase。
在这里插入图片描述
下图中<Context>标签中的path参数表示url访问的路径,为空表示通过ip:port即可访问到docBase所指示路径下的资源。(因为appBase配置了项目资源路径是"webapps"表示访问url只能有权限访问到tomcat安装路径下的webapps路径下的项目资源)
在这里插入图片描述
因此,在同一个tomcat服务器下新增一个应用(占用不同端口访问),配置文件修改如下:
在这里插入图片描述
在这里插入图片描述
修改配置文件后,重启tomcat,访问ip:port/ttt能够访问到webapps2下的资源。
在这里插入图片描述
补充一个问题:假设现在要实现一个需求【在网站访问一个网站,实现点击下载服务器上的文件。】实现方式如下:写一个html网页,通过a标签指定要下载的文件的路径,实现下载功能。html页面实现如下:
在这里插入图片描述
但是却出现如下问题:实际上在服务器上/root/bbb/bbb.txt是存在的。问题就在于tomcat没有访问/root/bbb/bbb.txt的权限。① 可以为tomcat加上这个权限。② 可以把资源放到webapps2下(配置文件中配置的appBase的值),即项目的资源路径下。
在这里插入图片描述
tomcat能访问到的路径是<Host>配置的appBase的值。html中下载路径的修改如下:
在这里插入图片描述
下载成功

在这里插入图片描述
另,如果不同应用可以允许通过同一个Tomcat监听的端口访问,可以在同一个<Service>节点中增加<Context>标签的配置,通过path属性配置访问路径,通过docBase属性配置资源路径(<Host>标签的appBase属性配置的Tomcat有权限访问的路径)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值