Я не могу установить страницу по умолчанию, загружаемую в браузере, когда я запускаю проект Java EE, используя Tomcat 8.0 от Eclipse. Я пытаюсь изучить JSF, поэтому я следил за этот учебник
Все работает отлично, но я могу видеть только созданные страницы, когда я нажимаю правой кнопкой мыши на файле login.xhtml
или welcome.xhtml
и выбираю "Запуск от имени/запуска на сервере".
До сих пор во всех других веб-приложениях я создал загруженную страницу по умолчанию при запуске всего проекта. По умолчанию используется загрузка страницы index.html
(или, может быть, index.jsp, если она есть). Поэтому я добавил страницы index.html
и index.xhtml
в мою папку WEB-INF
в проекте, надеясь, что будет показан хотя бы один из них. Однако ничего не происходит. Браузер всегда показывает только страницу на localhost:8080/JSFFaceletsTutorial/
URL, но страница белая, даже сообщение об ошибке. Я думаю, что я получаю ошибку 404 в процессе решения этой проблемы на этом пути, однако я больше не могу воспроизвести эту ошибку, и я не помню, что вызвало ее.
Я обнаружил, что изменить начальную страницу по умолчанию
Однако для меня это тоже не работает. Независимо от того, редактирую ли файл web.xml
или нет, я получаю тот же результат.
Что еще более озадачивает, так это то, что когда я пытался изменить веб-браузер: "Window/Web Browser/..." он действовал некоторое время по-разному во внешних веб-браузерах, чем во внутреннем веб-браузере Eclipse. Внутренняя всегда была пустой страницей - но внешним веб-браузерам удалось показать страницу index.html
, но это была некоторая устаревшая версия. Несмотря на то, что я абсолютно уверен, что я его отредактировал, сохранил изменения, перезапустил сервер... и все же показал мне устаревшую версию страницы.
И даже в этом случае он по-прежнему игнорирует изменения, внесенные в файл web.xml
.
Но когда я сейчас пытаюсь это сделать, он снова показывает пустую белую страницу во всех браузерах. Я не знаю никаких изменений, которые я сделал, кроме редактирования файла web.xml
...
Моя догадка заключается в том, что проблема заключается в технологии JSF, которую я пока не полностью понимаю. Это связано с тем, что, когда я выбираю использовать страницы login.xhtml
и welcome.xhtml
, используя правый щелчок "Запуск от имени/запуска на сервере", URL-адрес этих страниц находится на localhost:8080:
с помощью пути /JSFFaceletsTutorial/faces/login.xhtml
и /JSFFaceletsTutorial/faces/welcome.xhtml
. Это странно, потому что у меня нет никаких "лиц" в моем проекте.
Ввод всех возможных перестановок:
<welcome-file-list>
<welcome-file>faces/index.html</welcome-file>
<welcome-file>faces/index.xhtm</welcome-file>
</welcome-file-list>
в web.xml
тоже не помогло. Это не помогло, когда я набрал здесь полный адрес.
Вот предупреждения, которые я получаю в консоли (я пропустил записи журнала INFO):
"19 декабря 2014 9:39:55 org.apache.tomcat.util.digester.SetPropertiesRule begin ПРЕДУПРЕЖДЕНИЕ: [SetPropertiesRule] {Сервер/Сервис/Двигатель/Хост/Контекст} Установка свойства 'source' в 'org.eclipse.jst.jee.server: JSFFaceletsTutorial' не нашел свойство соответствия.... ПРЕДУПРЕЖДЕНИЕ: JSF1074: Управляемый bean с именем 'loginBean' уже зарегистрирован. Замена существующего управляемого типа bean класса com.tutorial.LoginBean с помощью com.tutorial.LoginBean. 19 декабря 2014 9:39:57 org.apache.coyote.AbstractProtocol start"
Я не уверен, что это полезно. Теперь я не в курсе.