Я читал об этом в Tomcat guide здесь и некоторые вопросы SO. И мне кажется, что я делаю практически то же самое. Но каким-то образом не могу добиться успеха.
Прежде всего, я должен сказать, что мое приложение развернуто на общем сервере Tomcat, который я не контролирую. Я просто бросаю свой .war файл, и он развертывается.
Я пытался упаковать свое приложение как ROOT.war , но ничего не вышло. Администратор сказал мне упаковать его под любым именем, которое я хочу, и они позаботятся об этом. Я упаковал его как my-application.war и оно развернулось, но мне пришлось ввести http://my-host/my-application чтобы попасть на сайт.
После обращения к администратору они сказали мне, что они поместили контекстный элемент для моего хоста в конфигурационный файл Tomcat как:
который должен был установить my-application как приложение по умолчанию для всех запросов, приходящих на my-host
. Но этого не произошло и всякий раз, когда я ввожу http://my-host я получаю:
HTTP Status 404 - / The requested resource (/) is not available
Но когда я ввожу http://my-host/my-application все работает нормально. Любые предположения о том, что может быть не так, будут приняты с благодарностью.
Обновления:
Я попытался выполнить шаги, описанные в документации tomcat о том, как сделать приложение по умолчанию. Описано 3 способа, и я попробовал все три способа и смог успешно развернуть свое приложение как ROOT на localhost.
Я также попытался воспроизвести проблему, с которой я столкнулся, на удаленном сервере, чтобы найти причину и сообщить о ней администратору. Я обнаружил несколько проблем.
В любом случае, я не смог точно определить, что именно мешает ROOT.war развернуться, поскольку для этого требуется доступ к лог-файлам и conf-файлам Tomcat, чтобы проверить описанные выше случаи.
Также из всего, что я вижу, мой администратор кажется неспособным поддерживать сервер Tomcat и найти проблему. Поэтому я решил использовать выделенный сервер Tomcat после того, как столкнулся с проблемой общего сервера.