我正在创建一个在我的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,它工作正常。
你说得对。这是问题的核心。 情况实际上比较复杂,有2个这样的目录。我会将更新发布到该问题以供将来参考。 – Michal 2012-04-03 08:39:16