日期:2014-05-17  浏览次数:20675 次

上传文件到tomcat服务的问题
我上传了个文件到tomcat的webapp下,然后我重新部署tomcat的时候发现上传的那个文件没了,我查了资料也明白为什么没有因为原工程中没这文件,所以重新部署的时候把刚上传的文件给删了,解决办法是弄虚拟目录 ,求解释怎么弄?

------解决方案--------------------
这个没有办法弄虚拟目录吧?因为就算虚拟目录你还是只能访问tomcat啊,我们现在做的是发布项目之前先把那个文件夹剪切出来,然后新项目发布以后再剪切回去,覆盖原来的,虽然有点笨,但是可以解决!
------解决方案--------------------
探讨

这个没有办法弄虚拟目录吧?因为就算虚拟目录你还是只能访问tomcat啊,我们现在做的是发布项目之前先把那个文件夹剪切出来,然后新项目发布以后再剪切回去,覆盖原来的,虽然有点笨,但是可以解决!

------解决方案--------------------
部署项目到tomcat,千万别在MyEclipse中点来点去的部署,具体步骤如下:
(1),清空 D:\Program Files\Tomcat 6.0\webapps\ 目录下的所有文件和文件夹
(2),清空 D:\Program Files\Tomcat 6.0\logs\ 目录下的所有文件
(3),清空D:\Program Files\Tomcat 6.0\temp\ 目录下的所有文件
(4),清空D:\Program Files\Tomcat 6.0\work\Catalina\localhost\ 目录下的所有文件和文件夹
(5),修改D:\Program Files\Tomcat 6.0\conf\web.xml 文件:
false改为true
Java code

<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>

------解决方案--------------------
就算你的那个文件不改了,放上去就定了,那你就直接指定一个盘符的目录建文件夹,到时候直接读就是了。要不就是直接在你的项目根目录建文件夹存放,但是你要改动里面的东西同样要自己手动去。
把你的思维定势换一下,不就传东西上去再显示么,项目里加个上传的地方传到指定目录里,在读出来显示不就完了,别再在这里绕了,6L说的那两个路径对你的问题而言没有任何用处,我再给你加一个路径,都告诉你:
<Context path="/lc" reloadable="true" docBase="E:\workspace\lc\webapp" workDir="E:\workspace\lc\work" />
path是你的项目访问路径,docbase是你的项目发布路径,workdir是你的项目临时文件存放路径,前两个路径你可以自己取名字,不一定非要是webapp,最后那个路径的work目录项目运行起来后自动建立的,你只需要制定到你的项目根目录即可,再给你一个做参考:
<Context path="/cas2" reloadable="true" docBase="E:\workspace\cas_saml\cas2" workDir="E:\workspace\cas_saml\work">
所以你就按照前面的人说的方法在服务器上建好目录自己管理,闲麻烦就在项目里加个上传删除的维护功能,也花不了多少时间。