tomcat映射路径配置的一些坑

本文是个人参考其他博客结合自身亲自测试,得出一些结论然后更大家分享下,希望能让人少踩点坑。


常规方法(方法一): 
%tomcat%/conf/server.xml文件,标签下添加

<Host>
<Context docBase="D:/upload/test/savePath1" path="/mapperUrl"/>
<!--其中docBase为实际文件存储路径,这里由于是非window系统,所以实际存储路径没有硬盘首字母,path为映射路径-->
</Host>

那么在开发的时候,后端将【/mapperUrl/文件名】回传到前端,前端将这作为url,即可访问到【D:/upload/test/savePath1/文件名】下的资源。

 

但尝试根据上面的方式配置后,发现还是无法通过映射路径访问图片资源,根据网上资料,由因可能:

  1. path与docBase路径名称不能一致;
  2. conf/web.xml设置listings值为true,目的是显示虚拟路径。正式项目运作必须关掉。(本人试过,还是无效)
    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

  

本人解决此次问题的方案,方法二

路径:%tomcat%/conf/Catalina/localhost/ 
方案:此路径下创建xml文件,文件名为你想访问的Path路径(即path=”“的值),xml文件内写入实际存储地址。 
example:创建文件为   mapperUrl.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:/360Downloads" reloadable="true"></Context>

然后配置的虚拟路径就生效了。

 

 

IDEA配置文件映射路径的一些区别:

由于转用IDEA,这里配上虚拟路径配置方法(仅开发时使用),部署服务器时还是得按照上面方式配置tomcat

如下配置等同在tomcat 配置文件里设置指定虚拟路径

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值