Q
quazogen
Gast
Hallo,
ich habe ein Problem mit dem Umgang beim Timeout bei JSF 2.0. Und zwar habe ich in der web.xml einen Session Listener und einen SessionTimeoutFilter definiert. Nun möchte ich in dem SessionListener bei dem sessionDestroyed-Event eine Weiterleitung auf die Login-Seite implementieren. Da die Login-Seite sich für verschieden Nutzer unterscheidet hole ich mir hier aus der Session die nötigen Informationen. Das klappt auch soweit. Das Problem ist, dass ich hier kein FacesContext-Objekt habe und mir somit nicht die Navigation zur Verfügung steht. (Ich bräuchte die URLs und die redirect-Funktion). Gibt es eine Möglichkeit ein FacesContext-Objekt zu erzeugen oder zu holen? Bin für jeden Tipp dankbar.
e.: Ich habe eine Logout-Methode, die ich gerne für die Weiterleitung nutzen möchte, jedoch bekomme ich hier immer eine NullPointerException, weil das FacesContext-Objekt null ist.
web.xml
[XML]<listener-class>
myPackage.MySessionListener
</listener-class>
</listener>
<filter>
<filter-name>SessionTimeoutFilter</filter-name>
<filter-class>
myPackage.SessionTimeoutFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionTimeoutFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>1</session-timeout>
</session-config>[/XML]
mySessionListener
ich habe ein Problem mit dem Umgang beim Timeout bei JSF 2.0. Und zwar habe ich in der web.xml einen Session Listener und einen SessionTimeoutFilter definiert. Nun möchte ich in dem SessionListener bei dem sessionDestroyed-Event eine Weiterleitung auf die Login-Seite implementieren. Da die Login-Seite sich für verschieden Nutzer unterscheidet hole ich mir hier aus der Session die nötigen Informationen. Das klappt auch soweit. Das Problem ist, dass ich hier kein FacesContext-Objekt habe und mir somit nicht die Navigation zur Verfügung steht. (Ich bräuchte die URLs und die redirect-Funktion). Gibt es eine Möglichkeit ein FacesContext-Objekt zu erzeugen oder zu holen? Bin für jeden Tipp dankbar.
e.: Ich habe eine Logout-Methode, die ich gerne für die Weiterleitung nutzen möchte, jedoch bekomme ich hier immer eine NullPointerException, weil das FacesContext-Objekt null ist.
web.xml
[XML]<listener-class>
myPackage.MySessionListener
</listener-class>
</listener>
<filter>
<filter-name>SessionTimeoutFilter</filter-name>
<filter-class>
myPackage.SessionTimeoutFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionTimeoutFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>1</session-timeout>
</session-config>[/XML]
mySessionListener
Code:
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
LoginBean loginBean = (LoginBean) session.getAttribute("loginBean");
Zuletzt bearbeitet von einem Moderator: