Я создаю приложение, которое создает некоторые файлы / каталоги в моей папке WebContent, и я хотел бы, чтобы Tomcat обслуживал эти статические файлы (журналы некоторых фоновых заданий).
Однако Tomcat, похоже, не распознает новые файлы (возможно, файлы в новых папках) и продолжает возвращать для них 404.После перезагрузки Tomcat файлы обслуживаются. Хорошо.
Я использую Tomcat 7.0, форму в Eclipse.Файлы обслуживаются сервлетом по умолчанию.
Я предполагаю, что Tomcat каким-то образом сначала проходит через WebContent, и он просто использует этот кэшированный список файлов для более быстрой работы.Есть ли способ отключить такое поведение (или, может быть: как правильно обслуживать новые файлы, созданные другими процессами)?
Спасибо за помощь / предложения.Я новичок в Tomcat, поэтому я могу пропустить что-то простое.
Обновление (на основе принятого решения)
Кажется, что в папке веб-приложения есть некоторая двойственность,Один находится в проекте Eclipse (и возвращается getServletContext().getRealPath
, другой по умолчанию находится где-то в метаданных Eclipse и его можно увидеть в конфигурации запуска в свойстве wtp.deploy
. Файлы каким-то образом копируются из Eclipse в каталог deploy.Я начал генерировать свои файлы под wtp.deploy
, проблема была исправлена.
Однако я до сих пор не знаю, как решить эту проблему надлежащим образом, которая будет работать как в Eclipse WTP, так и в обычном Tomcat.условия.
Обновление
Окончательное решение было вообще избегать DefaultServlet
. Я использовал FileServlet
на основе http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.html, и он отлично работает.