清理tomcat服务器会删除相对路径下的所有文件夹

时间:2017-01-19 05:26:06

标签: jsp tomcat

我正在开发Web项目,我在eclipse中的Web Contents文件夹下创建了一个名为“images”的文件夹。在该文件夹中,我存储用户上传的图像,并使用相对路径存储图像

“String webAppPath = request.getServletContext()。getRealPath(”/ images“)”。

但是当出于任何原因清理tomcat服务器时,“images”文件夹下存储的所有文件夹或图像都会被删除..

请建议是否有任何解决方案,以便不删除所有图像或文件夹。

1 个答案:

答案 0 :(得分:0)

两条建议:

  1. 不要使用ServletContext.getRealPath。这是一种架构错误的使用方法。它应该从servlet规范中清除。

  2. 将文件存储在部署目录 的某个位置,并且在取消部署时不会删除它们。

  3. 更新2017-01-23

    为了将文件提供给您(在上传之后),您需要将部分网址空间映射到您的应用中。使用Tomcat 8及更高版本的最简单方法是使用资源映射器。

    <Resources>
      <PostResources base="/real/path/to/images"
                className="org.apache.catalina.webresources.DirResourceSet"
              webAppMount="/images" />
    </Resources>
    

    当客户端请求DefaultServlet网址空间内的内容时,这会导致/real/path/to/images提供/images目录中的文件。