Изменение местоположения файла приветствия приводит к ошибке развертывания

Я получаю ниже ошибки.

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.

Другие вопросы по тегам