У меня возникла проблема с веб-проектом Java. Проект, над которым я работаю, был сделан со стандартным jsp, смешанным с страницами jsf. Главная страница приложения, называемая main.jsp, представляет собой стандартную страницу jsp, которая должна обращаться к управляемому компоненту с областью сеанса, созданной в рамках фильтра сервлетов, используемого для проверки подлинности пользователя. В моей web.xml я настроил, что стоит двигатель должен реагировать на .jsf и/лица/* ЗапросСоздание контекста jsf
<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, даже если страница doesn ' t существует ... но я провалил все, что я пробовал.
Я пытаюсь следовать вашему намеку, но мне что-то не хватает: просто переименовать main.jsp в main.jsf недостаточно, чтобы заставить его работать; tomcat отвечает содержимым main.jsf как текстовым, отправляя код страницы. Что я должен делать, чтобы страница работала так же, как она работает, когда я вызываю /faces/main.jsp? – themarcuz
Вам нужно переименовать его только в URL, а не в файл. Фактическое расширение файла должно быть '.jsp'. «FacesServlet» автоматически найдет правый JSP-файл. Расширение должно быть сохранено, потому что оно вызовет встроенный 'sservice' servletcontainer' для анализа JSP-файла. – BalusC
Я не могу заставить его работать :(Если бы я понял, что вы сказали, не изменяя ничего, просто называя http: //myserver/myapp/main.jsf, приложение должно создать контекст лиц и ответить с помощью main.jsp sandard jsp страница ... это так?? потому что это не работает. – themarcuz