1、在做图片上传时利用session.getServletContext().getRealPath("img/productSingle");
得到的是项目部署的路径。第一次部署完之后上传图片到该文件夹可以访问,当项目更改之后第二次部署发现第一次上传的图片消失了。
2、出现第一个问题之后便采用绝对路径的方式直接将图片上传到了项目文件夹下。项目重新部署图片也不会消失,但是图片的上传并不能立刻显示,只有手动刷新项目图片才可以显示。
查到了下面的解决方式,主要还是刷新:https://blog.csdn.net/Sun_hj_95/article/details/79888823
然后引用一博主注意的地方:此处是引用,点击跳转
归根到底这些问题其实还是因为我们是在调试的工程中,发布后肯定是不会出现这些问题的。因为你想想我们的web工程一般是发布到Linux下,发布了之后你的tomcat服务器只有关闭和打开,而不会对工程重新部署,自然也就不会出现这些问题。然后这也同时出现了另外一个问题,就是我们的web系统是在Linux下,也不会有eclipse环境,那也就更不用谈什么工作空间了,所以如果在代码中String path = “E:\program\eclipse project\Server\WebContent\img”;这么写系统肯定会报错咯。所以最终来说,改成这样也只是权宜之计,方便我们在调试的时候用的,到项目正式发布的时候需要我们再将路径改成request.getSession().getServletContext().getRealPath("/img")的。