Похоже, вы неправильно поняли назначение как файла приветствия, так и папки /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.
person
BalusC
schedule
11.04.2013