Изменение местоположения файла приветствия приводит к ошибке развертывания
Я получаю ниже ошибки.
FAIL - Приложение по контекстному пути /sampleJSF не может быть запущено
Я хочу изменить расположение моего файла приветствия. у меня есть index.jsp
страница в WEB-INF/pages/index.jsp
, Как я могу изменить отображение сервлетов и список файлов приветствия, чтобы добиться этого?
Вот мой servlet-mapping
а также welcome-file-list
от web.xml
,
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>WEB-INF/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>WEB-INF/pages/index.jsp</welcome-file>
</welcome-file-list>
1 ответ
Похоже, вы неправильно поняли цель настройки файла приветствия и /WEB-INF
папка.
Файл приветствия должен представлять имя файла, который должен обслуживать сервер из текущей папки, когда папка запрашивается, а не файл в URL. Например /
, /foo/
, /bar/
и т. д. Итак, когда вы установите его index.jsp
тогда это будет служить /index.jsp
когда /
запрашивается, и /foo/index.jsp
когда /foo/
запрашивается и т. д.
/WEB-INF
папка для файлов, которые не должны быть публично доступны независимо. Например, включите файлы, файлы шаблонов, файлы ошибок, файлы тегов, файлы конфигурации и так далее. Отображение сервлета Faces на /WEB-INF
не имеет никакого смысла, так как контейнер сервлета уже ограничивает прямой (публичный) доступ к /WEB-INF
папка, когда конечный пользователь намеренно входит в /WEB-INF
папка в URL.
Отмените все те изменения, которые вы внесли в пример веб-приложения. Они просто не имеют смысла. Какое бы функциональное требование вы не имели в виду, для которого вы ошибочно полагали, что это правильное решение, оно должно решаться по-разному.
Не похоже на конкретную проблему, похоже, что вы только начинаете работать с JSF, но знаете ли вы, что JSP устарела с момента выпуска JSF 2.0 в 2009 году? Вы абсолютно уверены, что изучаете JSF на основе правильных и актуальных ресурсов? Я настоятельно рекомендую это сделать, иначе у вас возникнет путаница с головной болью и сбоем кода. Начните с нашей вики-страницы JSF.