JSF Servlet Arch Требуется помощь - PullRequest
0 голосов
/ 20 апреля 2010

Мне нужен механизм в моем веб-приложении, как описано ниже:

пользователь будет вводить mydomain.com/CompanyName, в зависимости от того, будет ли CompanyNameit отображать свой логотип и свою настроенную страницу, и я приму этот проанализированный параметр в сеансе снова при каждом запросе, я буду сравнивать проанализированный CompanyName и один, сохраненный в сеансе, и если они совпадают, то приложение покажет запрашиваемую страницу с данными пользователя. Иначе она будет перенаправлена ​​на страницу входа. и главное, я хочу эту вещь в арке JSF.

Я попытался получить сервлет, который разрешит все запросы, проанализирует, а затем отправит запрос предпочтительному сервлету, но проблема в том, что он зацикливается, поскольку снова разрешается на тот же сервлет контроллера,

Ответы [ 2 ]

3 голосов
/ 20 апреля 2010

Вы можете сделать это через слушатель фазы. Вы можете определить глобальный в faces-config.xml (или используя аннотации, если используется JSF 2.0)

<lifecycle>
    <phase-listener>com.yourcompany.CompanyPhaseListener</phase-listener>
</lifecycle>

Там у вас есть доступ к FacesContext, из которого вы можете получить текущий URI запроса. Разберите его и сохраните соответствующие атрибуты в запросе, которые вы позже сможете прочитать на своих страницах.

Фазовый прослушиватель выполняется в указанные фазы, и, возможно, вам следует выбрать RENDER_RESPONSE

Для определения способа отображения ваших URL в браузере установите флажок PrettyFaces .

1 голос
/ 21 апреля 2010

Я попытался взять сервлет, который разрешит все запросы, и он проанализирует и затем отправит запрос предпочтительному сервлету, но проблема в том, что он снова зацикливается, поскольку снова разрешается в тот же сервлет контроллера,

Используйте взамен Filter.По умолчанию он не прослушивает перенаправленные запросы, поэтому вы не получите бесконечный цикл при пересылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...