nginx 匹配不到静态资源的tomcat解决方式------Tomcat配置去项目名称访问

本文详细介绍了如何在Tomcat中配置资源匹配,以解决因项目名称导致的资源访问问题。通过在server.xml中添加Context标签,可以实现无项目名称的访问,适用于单项目或多项目配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继上篇nginx端解决资源匹配的方式之后,本篇文章来对tomcat端的解决方式进行说明:

此法仅仅适用于项目名称导致的资源匹配不到的情况,那么怎么来判断是不是由这种情况导致的呢,很简单:

在浏览器开发者工具上,打开页面文件,在页面的head标签内部,给你的样式文件的路径加上项目名称若是访问的到则说明是这种问题导致的,这样你就可以来直接配置tomcat来解决问题了而不用去动nginx,也就是所谓的去项目名称访问,下面我们来看一下解决方式。

单项目情况

Tomcat的配置文件 \conf\server.xml 添加如下配置:

<Context path="" docBase="/home/tomcat-fkar-7979/webapps/fkar-web" debug="0" reloadable="true"/>

效果如下:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
     <!-- 添加该配置-->
        <Context path="" docBase="/home/tomcat-fkar-7979/webapps/fkar-web" debug="0" reloadable="true"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

在Context标签中path的值就是项目的访问名称,即为项目的别名,比如path=”/abc” ,项目的访问路径即为 http://localhost:8080/abc ; docBase的值为项目在的物理路径(绝对路径)

多个项目情况

对于多个项目配置的情况下,可以添加多个Context标签,效果如下:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
     <!-- 第一个项目,访问路径 http://localhost:8080 -->
        <Context path="" docBase="/home/tomcat-fkar-7979/webapps/fkar-web" debug="0" reloadable="true"/>
    <!-- 第二个项目,访问路径 http://localhost:8080/istep -->
       <Context path="/istep" docBase="/home/tomcat-istep-8686/webapps/istep" debug="0" reloadable="true"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

当然context标签也可以用来配置一下文件路径共程序访问,这里只是做了去项目名称的访问而已。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值