Мы успешно использовали Tomcat 7.0.19 во встроенном режиме. Однако недавно из-за некоторых исправлений в нашей области мы решили перейти на tomcat 7.0.32. Большинство вещей работает так, как ожидалось, с тем же кодом и более новой версией, однако развертывание войны по какой-то причине не сработало. У меня есть пара сервлетов, зарегистрированных в моем коте. Столкнувшись с двумя проблемами,
Что-то изменилось с 7.0.19 на 7.0.32 из встроенного поведения tomcat. Чтобы подробно рассказать об этом, позвольте мне объяснить разницу в поведении: с 7.0.19 я мог развернуть свое приложение, и когда я нажимал «host: port / contextpath», он загружал стартовую страницу приложения (т.е. страницу приветствия, эта страница ориентирована на пользовательский интерфейс и не требует вмешательства сервера, поэтому ни один из моих сервлетов не вызывается). Однако с 7.0.32 тот же URL-адрес приводит к вызову моего сервлета.
Итак, чтобы отладить проблему, я прокомментировал большую часть своего кода, чтобы у меня была реализация vanilla tomcat, только самые простые вещи, то есть установка имени движка, хоста по умолчанию, настройка свойств хоста, добавление коннектора (nio, со свойствами по умолчанию) и разворачивая войну. Никаких сервлетов и прочего, просто чтобы проверить, работают ли самые простые вещи. К моему удивлению, когда я запускал этот код, он все еще не работал с той же проблемой в моем сервлете, как это произошло, теперь, когда мой код прокомментирован, он не регистрирует никаких сервлетов, но откуда он его находит? Сохраняет ли встроенный tomcat некоторые старые ссылки, которые не очищаются при последующих запусках? Я попытался сменить порт, но это тоже не помогло.
Я упираюсь в стену здесь, не в состоянии понять это странное поведение, если я выясню № 2, только тогда я смогу добиться некоторого прогресса в № 1.
Заранее спасибо,
Викрам