jsp-解决文件上传后重启Tomcat时文件自动删除问题
程序员文章站
2022-03-25 23:41:14
吼吼,我遇到的问题是这样的......
我写了一个图片上传的方法,上传时,判断没有这个目录就自动建立一个。然后开始上传图片,能成功,能在找到文件夹和相应的文件。但是,...
吼吼,我遇到的问题是这样的......
我写了一个图片上传的方法,上传时,判断没有这个目录就自动建立一个。然后开始上传图片,能成功,能在找到文件夹和相应的文件。但是,重启项目,或者清理缓存之后,图片和文件夹就会自动被删除,不见了。
先说解决办法吧,后面再分析:
1.把/tomcat/webapps/目录清空,删掉该文件夹的所有内容,
2.修改/tomcat/conf/web.xml文件:
<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文件:
<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:\project\myproject\editor\webroot"></context> <!--<context path="/mvc" docbase="d:\project\myproject\你的项目名\webroot"></context>--> </host>
分析:
重新redeploy的时候, tomcat 会同步你本地的文件 ,因为本地没有相应的文件夹导致文件丢失。这只是在开发过程中会遇到的问题 实际应用中 tomcat 只会 startup.bat/sh shutdown.bat/sh。我们这样做,其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到工程了,上传的图片就不会仅仅只在/tomcat/webapps/目录,而直接到了你的工程里,不管你怎样重启项目,或者清理缓存,上传的文件依然存在!
总结
以上就是本文关于jsp-解决文件上传后重启tomcat时文件自动删除问题的全部内容,希望对大家有所帮助。有兴趣的朋友可以参阅本站的其他专题,在此非常感谢大家对的支持!