Tomcat没有看到新文件

时间:2012-04-02 16:19:38

标签: tomcat

我正在创建一个应用程序,它在我的WebContent文件夹中生成一些文件/目录,我希望Tomcat能够提供这些静态文件(一些后台作业的日志)。

然而,Tomcat似乎无法识别新文件(可能是新文件夹中的文件),并且它不断为它们返回404。 Tomcat重启后,文件服务正常。

我在Eclipse中使用Tomcat 7.0。这些文件由默认的servlet提供。

我认为Tomcat最初会以某种方式遍历WebContent,它只是使用这个缓存的文件列表来加快操作速度。有没有办法禁用这种行为(或者可能:提供其他进程生成的新文件的正确方法是什么)?

感谢您的帮助/建议。我是Tomcat的新手,所以我可能会忽略一些基本的东西。

更新(基于已接受的解决方案)

webapp文件夹中似乎存在一些二元性。一个是在Eclipse项目中(由getServletContext().getRealPath返回,另一个默认位于Eclipse元数据中的某个位置,可以在wtp.deploy属性的启动配置中看到。这些文件以某种方式从Eclipse复制到部署目录。当我开始在wtp.deploy下生成我的文件时,问题得到解决。

但是,我仍然不知道如何以正确的方式解决这个问题,这将在Eclipse WTP和正常的Tomcat条件下工作。

更新

最终解决方案是完全避免DefaultServlet。我使用基于http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.htmlFileServlet,它运行正常。

1 个答案:

答案 0 :(得分:1)

我对Netbeans有类似的经验 - 它通常将编译后的文件放入新文件夹并与该文件夹一起使用。不确定你是否属于这种情况;但如果放在正确的文件夹中,文件应该可用。