javaweb项目Tomcat虚拟路径配置

javaweb项目Tomcat虚拟路径配置

        在开发项目中,经常有一些文件或者图片上传,访问以及下载;

        这里先说一种最不靠谱,最不建议的解决方案,也就是初学者经常用的,把图片上传到项目目录下,然后访问,下载;

        这种方式的弊端是:

        第一:开发环境,尤其是eclipse开发,默认上传到的是eclipse的tomcat插件的缓存里的,重启下项目,图片就没了,开发体验很糟糕; 

        第二:实际真实项目,假如项目升级,不小心把文件目录搞没了,造成了文件丢失,这个损失就大了;

        所以这种方式一定不要用;

        现在说下企业级开发的解决方案;

        假如是大型企业级项目,海量文件数据,一般要搞个专门的文件服务器,把文件专门存储到文件服务器,以及提供访问和下载;

        当然很多互联网企业已经开始用专业的对象存储服务,比如七牛云存储,阿里云云存储,大大降低了企业运维成本,安全性也高很多;

        今天我说的是一种中小型项目用的文件存储方式,直接存硬盘目录;通过虚拟路径配置,来达到映射,这样方便维护,也方便升级;

        直接上tomcat配置:

        <Context path="/Test/images" docBase="D:\images"/>

        就这个配置  path属性是项目访问路径 docBase是映射的硬盘路径;

        比如我们在D盘的images目录下搞个图片 Test.jpg

        然后运行项目,访问http://localhost:8080/Test/images/Test.jpg  这样就可以请求到图片了

当然上传的话也简单 直接 搞到硬盘路径即可,一般文件名要重命名,防止文件名重名覆盖;

eclispe里配置的话 直接 Servers的用到的服务器配置server.xml

idea的话 直接本地tomcat conf server.xml配置,是有点区别的;

这里再扩展下,假如是springboot项目,内嵌的tomcat,如何配置呢?

我们搞个配置类即可,我们给下参考代码;

package com.gzymz.config;
 
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
/**
 * 图片绝对地址与虚拟地址映射
 *
 */
  
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
  
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
  
    //文件磁盘图片url 映射
    //配置server虚拟路径,handler为前台访问的目录,locations为files相对应的本地路径
    registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\articleImages\\");
    registry.addResourceHandler("/userImage/**").addResourceLocations("file:D:\\userImages\\");
  }
  
}

还有假如是linux服务器,注意斜杠,这里给下参考配置;

<Context docBase="/home/userImages"  reloadable="true"  debug="0" path="/userImage"/>

<Context docBase="/home/articleImages"  reloadable="true"  debug="0" path="/image"/>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值