Apache Tomcat Servlet 404 Устранение неисправностей
Я поддерживаю веб-приложение GWT, которое использует 3 сервлета Java для загрузки / выгрузки файлов и передачи данных. У меня был свой грешный сервлет, отображающий место греха, и я не трогал их месяцами, всего несколько дней назад я начал получать 404 ошибки при попытке доступа к моим сервлетам. Кажется, я даже не могу получить доступ к сервлетам, набрав их полный путь из каталога WEB-INF/classes (то есть /servlet/com/company/project/servletname).
К сожалению, они запускаются из плана общего хостинга, и у меня нет доступа к запуску или остановке tomcat или чего-либо еще. Перед тем, как отправлять заявку на устранение неполадок моему хостинг-провайдеру, я просто хотел проверить, верны ли мои предположения о сервлетах, и узнать, есть ли какие-либо действия, которые я должен предпринять для такой ситуации.
Нужно ли перезапускать tomcat, чтобы использовать новый сервлет, загруженный в каталог "WEB-INF/classes"? Нужно ли перезапускать tomcat, чтобы прочитать изменения в файле web.xml в каталоге "WEB-INF"?
Если я помещу файл.class в /WEB-INF/classes/foo/bar.class, я смогу немедленно получить к нему доступ через " http://www.mydomain.com/servlet/foo/bar" или мне нужно не ждать, пока Tomcat распознает этот новый файл класса? Или я должен включить его в существующий файл отображения сервлета web.xml?
Спасибо за любую помощь
1 ответ
Нужно ли перезапускать tomcat, чтобы использовать новый сервлет, загруженный в каталог "WEB-INF/classes"?
Это зависит, если ваш
Нужно ли перезапускать tomcat, чтобы прочитать изменения в файле web.xml в каталоге "WEB-INF"?
Это зависит, если ваш
Если я помещу файл.class в /WEB-INF/classes/foo/bar.class, я смогу немедленно получить к нему доступ через " http://www.mydomain.com/servlet/foo/bar" или мне нужно не ждать, пока Tomcat распознает этот новый файл класса?
Нет, класс будет доступен для загрузчика классов веб-приложения немедленно, если ваш контекст перезагружается, см. Выше.
Или я должен включить его в существующий файл отображения сервлета web.xml?
Чтобы получить доступ к вашему классу (при условии, что он расширяет HttpServlet) через HTTP, ему потребуется сопоставление web.xml
(при условии, что вы используете прямые http-сервлеты)