2012-04-02 41 views
0

我正在创建一个在我的WebContent文件夹中生成一些文件/目录的应用程序,我希望Tomcat提供这些静态文件(某些后台作业的日志)。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我用FileServlet根据http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.html,它工作正常。

回答

1

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

+0

你说得对。这是问题的核心。 情况实际上比较复杂,有2个这样的目录。我会将更新发布到该问题以供将来参考。 – Michal 2012-04-03 08:39:16