Tomcat中图片上传重新部署图片消失

简介: Tomcat中图片上传重新部署图片消失

1 遇到的问题

发现上传的图片在改动eclipse上的代码的时候,也就是重新部署后,tomcat下的webapps中的工程目录下的图片全部没有了,很奇怪,经过研究发现,原因如下:


我们在Java代码中上传图片时,图片的路径是通过代码


request.getSession().getServletContext().getRealPath("/img")


来获取路径的,而这句代码返回的路径是tomcat中webapps目录下的工程路径,图片就直接保存到了tomcat中。


当我们重新发布工程的时候,tomcat其实是先将原来的工程删掉,然后再将改动过的新的工程放上去。而改动过的新的工程师来自与我们eclipse的工作空间中的工程,这就也难怪了,因为我们是把图片直接上传到的tomcat服务器下,而不是放到工作空间的工程目录下,自然重新部署后图片就没了。



2 解决办法:

归根到底的原因就是因为


request.getSession().getServletContext().getRealPath("/img")


这句代码搞的鬼,所以在调试时,我们在Java代码中保存上传的图片位置时将图片的保存路径应该保存在eclipse工作空间的目录下,如:


String path = "E:\program\eclipse project\Server\WebContent\img";


这样,图片在上传到该工作空间后,因为项目发生了改变,eclipse会再次发布工程,这时图片便会同步到tomcat服务器中,这时,我们前端jsp页面也就可以通过URL定位到图片了。



3 注意

归根到底这些问题其实还是因为我们是在调试的工程中,发布后肯定是不会出现这些问题的。因为你想想我们的web工程一般是发布到Linux下,发布了之后你的tomcat服务器只有关闭和打开,而不会对工程重新部署,自然也就不会出现这些问题。然后这也同时出现了另外一个问题,就是我们的web系统是在Linux下,也不会有eclipse环境,那也就更不用谈什么工作空间了,所以如果在代码中String path = "E:\program\eclipse project\Server\WebContent\img";这么写系统肯定会报错咯。所以最终来说,改成这样也只是权宜之计,方便我们在调试的时候用的,一般都会使用图片服务器或本地磁盘永久存储.

目录
相关文章
|
3月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
272 0
|
6月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
375 41
|
6月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
499 17
|
6月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
153 18
|
6月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
201 10
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
387 84
部署tomcat部署实战案例
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
154 0
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
157 23
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
239 25
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
261 22