需要JSF Servlet Arch帮助

时间:2010-04-20 07:59:08

标签: java architecture jsf servlets

我想在我的网络应用中使用一种机制,如下所述:

用户将输入mydomain.com/CompanyName,具体取决于CompanyNameit将显示其徽标及其自定义页面,并且我将在每次请求时再次在会话中获取该解析参数,我将比较解析后的CompanyName和会话中存储的一个,如果匹配,那么应用程序将显示所请求的页面和用户的data.else它将被重定向到登录页面。 而主要的是我想在JSF arch中使用这个东西。

我尝试了一个将解析所有请求的servlet,它将解析然后将请求发送到首选的servlet,但问题是它是否循环再次解析为同一个控制器servlet,

2 个答案:

答案 0 :(得分:3)

您可以通过阶段监听器来完成此操作。您可以在faces-config.xml中定义全局的(或使用注释,如果使用JSF 2.0)

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

您可以访问FacesContext,从中可以获取当前请求URI。解析它并在请求中存储适当的属性,稍后您可以在页面上阅读这些属性。

阶段监听器在指定的阶段执行,也许你应该选择RENDER_RESPONSE

要影响您的网址在浏览器中的显示方式,请检查PrettyFaces

答案 1 :(得分:1)

  

我尝试了一个将解析所有请求的servlet,它将解析然后将请求发送到首选的servlet,但问题是它是否循环再次解析为同一个控制器servlet,

请改用Filter。默认情况下它不会侦听转发的请求,因此您不会在转发时获得无限循环。