zoukankan      html  css  js  c++  java
  • 解决jsp上传文件,重启tomcat后文件和文件夹自动删除

    吼吼,我遇到的问题是这样的......
    我写了一个图片上传的方法,上传时,判断没有这个目录就自动建立一个。
    然后开始上传图片,能成功,能在服务器找到文件夹和相应的文件。

    但是,重启项目,或者清理缓存之后,图片和文件夹就会自动被删除,不见了。

    先说解决办法吧,后面在分析:

    1.把/tomcat/webapps/目录清空,删掉该文件夹的所有内容,
    2.修改/tomcat/conf/web.xml文件:

    1.  
    2. <servlet>
      <servlet-name>default</servlet-name>
      <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
      <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
      </init-param>
      <init-param>
      <param-name>listings</param-name>
      <param-value>true</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
      </servlet>
      

        

    3.修改/tomcat/conf/server.xml文件:

    1. <Host name="localhost"  appBase="webapps"
                  unpackWARs="true" autoDeploy="true"
                  xmlValidation="false" xmlNamespaceAware="false">
       
              <!-- SingleSignOn valve, share authentication between web applications
                   Documentation at: /docs/config/valve.html -->
              <!--
              <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
              -->
       
              <!-- Access log processes all example.
                   Documentation at: /docs/config/valve.html -->
              <!--
              <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
                     prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
              -->
      <!----><Context path="/ser" docBase="D:projectmyProjecteditorWebRoot"></Context>
      <!--<Context path="/mvc" docBase="D:projectmyProject你的项目名WebRoot"></Context>-->
            </Host>
      

        

    分析:

    重新redeploy的时候,  tomcat 会同步你本地的文件 ,因为本地没有相应的文件夹导致文件丢失。
    这只是在开发过程中会遇到的问题 实际应用中 tomcat 只会 startup.bat/sh shutdown.bat/sh
    我们这样做,其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到工程了,
    上传的图片就不会仅仅只在/tomcat/webapps/目录,而直接到了你的工程里,
    不管你怎样重启项目,或者清理缓存,上传的文件依然存在!

  • 相关阅读:
    DFS 算法总结
    拆分Cocos2dx渲染部分代码
    [OpenGL]纹理贴图实现 总结
    [LeetCode] Minimum Size Subarray Sum 最短子数组之和
    LRU Cache 题解
    Substring with Concatenation of All Words 题解
    multimap和multiset 认知和使用
    OpenGL ES 3.0 基础知识
    Cocos2dx坐标转换
    视图
  • 原文地址:https://www.cnblogs.com/remember-forget/p/9272652.html
Copyright © 2011-2022 走看看