Tomcat не может найти сборку для разработки Java сервлета - PullRequest
0 голосов
/ 03 апреля 2020

В моем проекте есть Java сервлет, расширяющий HttpServlet. В ops этот сервлет правильно отвечает на AJAX вызовы на сервер, на котором выполняется Tomcat 6. URL-адреса вызовов имеют вид host:port/App/Servlet(query-string).

Я добавляю новый AJAX вызов к сервлету. Я копирую файл WAR сервлета в каталог Tomcat webapps и переворачиваю сервис tomcat. Затем я запускаю свой проект (из сценария csh). Звонки сервлету теперь возвращают HTTP 404.

В файле журнала Catalina я ничего не вижу, указывающего, что сервлет даже запущен, но нет сообщений об ошибках, почему он не был найден. (Я подозреваю, что есть некоторые другие настройки журнала, которые мне нужно настроить, и какой-то другой файл журнала, который мне нужно просмотреть.)

Я перепроверил другой сервер разработки, на котором запущен оригинальный сервлет, и у него нет проблем.

Что не так с маршрутизацией к сервлету и как мне это исправить?

ETA1: сервлет имеет список вызовов: Call1, Call2, et c. Я добавил Call3 в список и использовал шаблон для Call1 столько, сколько смог найти. Теперь и Call1, и Call3 возвращают 404 ошибки.

ETA2: я сбросил WAR-файл сервлета с другого сервера разработки - где существующие вызовы AJAX работают правильно - на этот сервер разработки. Звонки продолжали работать правильно. Хотя я заметил причуду, что система сборки работает с JDK 1.7.0_51, а приложение работает с JDK 1.7.0_71. Я также скопировал URL-адрес запроса AJAX и пошел прямо туда. С существующим сервлетом я получил AJAX ответ, который был в значительной степени правильным. С моей версией для разработчиков я получил пустую страницу.

ETA3: Я уточню свой сценарий, основываясь на отзывах из комментариев.

В моем проекте есть Java веб-приложение. Он работает правильно сам по себе.

Приложение отправляет AJAX вызовы сервлету Java. Этот сервлет работает правильно в операциях. Кроме того, при копировании версии выпуска на сервер разработки Tomcat 6 версия выпуска работает правильно.

Я добавил функцию в сервлет и развернул файл WAR на сервере разработки Tomcat. Теперь Tomcat жалуется, что не может найти сервлет (HTTP 404), даже для идентичных вызовов и неизмененных функций, которые раньше работали должным образом.

Поскольку версия выпуска корректно работает на веб-сервере разработки, я заключаю, что Tomcat Сам работает правильно. Я также заключаю, что нет проблем с URL или портом. Насколько я могу судить, Tomcat либо не может запустить сервлет, либо сервлет перестает работать до достижения своего конструктора. Я не нашел файл журнала или параметр ведения журнала, который бы показывал ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...