Предпочитаемый способ настроить стартовую страницу JSF? - PullRequest
1 голос
/ 11 августа 2010

Я использую JSF 2.0 для создания веб-сайта. Eclipse сгенерировал следующий файл web.xml

...
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
...

Так что для просмотра моего приложения мне нужно посетить "localhost / myApp / face / index.xhtml". Я бы предпочел просмотреть его напрямую, посетив "localhost / myApp / index.xhtml"

Я вижу два варианта для этого:

Изменение файла web.xml на следующий

...
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
...

Или настройте index.xhtml в моем базовом каталоге, который делает javascript / meta непосредственным для face / index.xhtml.

Как вы думаете, что лучше? Или есть другой способ, как бы вы это сделали?

1 Ответ

1 голос
/ 11 августа 2010

Не отображать FacesServlet на все запросы. Вы не хотите, чтобы статические (не JSF) запросы проходили весь жизненный цикл JSF. Это только добавит ненужные накладные расходы. Скорее отобразите FacesServlet на url-pattern из *.xhtml.

Если у вас есть и другие xhtml файлы, которые не нужно проходить через фабрику JSF, то лучше выберите другой url-pattern, такой как обычно используемый *.jsf. Вам не нужно переименовывать фактическое расширение файла, FacesServlet автоматически найдет нужный ресурс.

Определенно не используйте перенаправление JS / meta для домашней страницы. Просто объявите это как <welcome-file> в web.xml.


Тем не менее, при наличии последней версии и правильной конфигурации Eclipse должен по умолчанию автоматически генерировать web.xml с FacesServlet, сопоставленным с url-pattern из *.jsf. Убедитесь, что вы используете последнюю версию (Helios) и все делаете правильно в Eclipse (настройте фасеты проекта).

...