Как получить страницу приветствия из корня Tomcat, а не из контекста веб-приложения?

В Tomcat 7 я хочу, чтобы моя страница приветствия (index.html) загружалась при доступе к localhost:8080/. Прямо сейчас мне нужно перейти в контекст веб-приложения, localhost:8080/MyWebApp.

Есть ли в Tomcat папка для размещения страниц, не являющихся частью веб-приложения? Я запутался, как это работает...

РЕДАКТИРОВАТЬ: я заметил, что в файле web.xml для сервера в Eclipse есть сервлет с именем «по умолчанию», который сопоставлен с «/»... Интересно, нужно ли мне что-то здесь менять?

EDIT2: я нашел это: http://wiki.apache.org/tomcat/HowTo#How_do_I_override_the_default_home_page_loaded_by_Tomcat.3F

Но у меня уже есть index.html в моей папке ROOT, и я все еще получаю 404 от корневого URL-адреса. Если я запускаю сервер без использования Eclipse, он работает. Что тут происходит? Что именно делает Eclipse, когда вы через него запускаете сервер? Очевидно, что он не воспроизводит корневую папку моей установки.


person Tony R    schedule 28.01.2011    source источник


Ответы (3)


У вас отсутствует папка ROOT из «webapps» — возможно, она была удалена во время установки другого приложения. В папке ROOT есть файлы конфигурации для страницы «Добро пожаловать» для tomcat. Вы можете скопировать его из другого файла tar в папку ../webapps, и все будет хорошо.

person efg    schedule 21.08.2012
comment
Симлинк ROOT с папкой вашего веб-приложения отлично работает и добавляет немного больше гибкости. - person Mike Shultz; 02.04.2015

В Apache Tomcat все веб-сайты развертываются как отдельные веб-приложения. Вы можете проверить это с помощью диспетчера конфигурации Tomcat, где вы можете запускать/останавливать/перезагружать определенные веб-приложения.

Я полагаю, что вы хотели бы разместить страницу приветствия по пути tomcat/webapps/index.html — все файлы, расположенные здесь, а не в подпапках webapp, должны отображаться как корень URL-адреса.

Только все, что выше веб-приложений в tomcat, защищено от просмотра веб-страниц. возможно, вы можете попробовать поместить файл в index.html и настроить ссылку, которой предшествует ../, чтобы указать «перейти на уровень каталога выше в дереве», чтобы получить этот требуемый файл, или попробуйте перечислить каталог корневого URL-адреса, чтобы увидеть в каком контексте вы находитесь на самом деле.

Надеюсь, это хоть что-то прояснит.

person evandrix    schedule 28.01.2011
comment
Да, забыл добавить, о странице индекса tomcat по умолчанию. - person evandrix; 28.01.2011
comment
Возможно, мне следовало упомянуть, что я использую Eclipse, поэтому у меня нет явной папки webapps — у меня есть динамический веб-проект и проект Servers. - person Tony R; 28.01.2011
comment
О, я вижу, вам все равно нужно как-то правильно связать Eclipse с вашей папкой Tomcat, чтобы запустить сервер и просмотреть ваше веб-приложение и все такое, потому что Eclipse — это просто Java IDE (действительно удивительная и мощная, но да) - person evandrix; 28.01.2011
comment
Я попытался поместить index.html в папку веб-приложений установки Tomcat, но это не сработало. В любом случае это проблематично, поскольку мой проект Eclipse находится в SVN, и мне пришлось бы добавлять страницы в папку веб-приложений Tomcat в свое репо - не очень элегантно. - person Tony R; 28.01.2011