概述
最近在做jsp web项目的时候发现在tomcat中上传图片或文件之后如果重新部署项目的话上传的文件会消失,这是因为上传的文件存在了tomcat项目里的路径下,如图是这种方法获取存储路径的方法:
这样把图片存在了tomcat中自身项目的目录下,每次重新部署项目的时候就会把原来的覆盖,文件也就消失了。本人在网上也查阅了很多相关的解决教程,不过自己做下来还是发现有些小坑,所以在这里总结一下。
一、我们要先在server.xml中添加绝对路径(图片真正上传的地方)和虚拟路径(后续用于服务器链接的访问),这也是网上大部分教程提供的方法,综合起来大概就是三种方法:
第一种方法:在磁盘的apache-tomcat文件下进入conf文件夹,找到server.xml文件,进入之后添加上相关信息:
进入server.xml后滑到最底部,在Host前加上画红线这一句,划红线之前的内容都不要改动,那是你自己之前的项目的配置。花红线上的docBase就是我们要存图片的路径,写上你自己的路径即可(注意不要用tomcat项目中的路径,最好用tomcat外部的);path就是虚拟路径,后面可以在浏览器上用这个加名字组成访问链接访问图片,也是自己设定即可;除了这两个其他照抄就好。
第二种方法:我们还可以在eclipse中进入Servers,进入server.xml文件修改相关信息:
同样进入后拉到最底部,加上这句话。
第三种方法:也是在tomcat中,不过更方便一些:
这三种方法里面个人认为第三种最适合采纳,而至于第一种不太建议使用,因为在文件里配置了有可能在eclipse中不会马上更新。
二、修改完了server.xml之后就是修改我们上传文件的路径(切记不能再用第一张图片里的那种方式去获取路径了,因为那样得到的只是项目目录里面的路径),让它与server.xml中使用的绝对路径一样:
三、修改好上述两个点之后就可以按原来我们的方法正常上传了,上传完了之后我们可以用设置好的虚拟路径去访问,如图:
当然我们也可以把上图中最后那一大长串作为路径存入数据库,然后需要的时候取出,在页面中显示即可:
以上便是个人认为需要注意的一些地方,希望看到这篇文章的小伙伴如果发现有说的不对的地方欢迎批评指正,;如果对于以上所述或者对于文件上传的细节不懂的也可以私信我,一定会尽我所能去解答的哦!
最后
以上就是清秀航空为你收集整理的解决tomcat中上传文件重新部署项目后文件消失的问题(讲述了从上传到页面显示全过程)的全部内容,希望文章能够帮你解决解决tomcat中上传文件重新部署项目后文件消失的问题(讲述了从上传到页面显示全过程)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复