Я столкнулся с проблемой веб-проекта на Java. Проект, над которым я работаю, был сделан со стандартным jsp, смешанным со страницами jsf.
Главная страница приложения, называемая main.jsp, является стандартной страницей jsp, которой требуется доступ к управляемому бину с областью сеанса, созданной в фильтре сервлета, который используется для проверки аутентификации пользователя.
В моем web.xml я настроил, что движок Faces должен отвечать на .jsf и / Faces / * Request
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
Если я открою свое приложение с помощью http//myserver/myapp/faces/main.jsp
, все будет нормально.
Если я открою свое приложение с помощью http://myserver/myapp/main.jsp
, я получу ошибку, потому что контекст лиц еще не создан.
Ни установив страницу приветствия, ни установив перенаправление apache, я могу позволить приложению открыть нужную страницу (main.jsp в контексте лица), когда пользователи просто набирают h ** p: // myserver / myapp в своих браузерах: это потому, что страница /faces/main.jsp физически не существует.
Я думаю, что может быть 2 решения: возможность позволить контексту лиц начинаться даже вне шаблона /faces / * или найти способ перенаправить tomcat в /faces/main.jsp, даже если страница этого не делает существуют ... но я провалил все, что я пытался.