Seite neu laden

javama

Erfahrenes Mitglied
ich habe eine Icefaces-Anwendung, wie kann ich eine Session neu anlegen wenn ein Fehler (zB. http Status 500) auftritt.
ich will das so haben, wenn ein Fehler auftritt und die Seite neu geladen wird, dass die Startseite (anmelde-Seite) angezeigt wird (neue Session anlegen).
also alte Session killen und eine neue anlegen!
hat jemand eine Idee?
 
Zuletzt bearbeitet:

Thomas Darimont

Erfahrenes Mitglied
Hallo,

eine Möglichkeit:
Definiere eine Custom Error Page für den Fehler: 500 Internal Server Error.
In dieser Custom Error Page machst du dann einen Redirect auf ein Servlet / eine JSP Page welche die aktuelle JSP Session invalidiert, eine neue erzeugt und auf die Hauptseite weiterleitet.

Gruß Tom
 

javama

Erfahrenes Mitglied
Hallo,

eine Möglichkeit:
Definiere eine Custom Error Page für den Fehler: 500 Internal Server Error.
In dieser Custom Error Page machst du dann einen Redirect auf ein Servlet / eine JSP Page welche die aktuelle JSP Session invalidiert, eine neue erzeugt und auf die Hauptseite weiterleitet.

Gruß Tom

hast du vielleicht ein konkretes beispiel, wie man das macht?
 

javama

Erfahrenes Mitglied
ich benutze Icefaces , habe leider keine ExceptionHandlerFactory!
hat jemand eine Idee, wie man Exception in IceFaces behandelt!
 
Zuletzt bearbeitet:

javama

Erfahrenes Mitglied
Java:
 package com.web;
 
 import com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet;
 import java.io.IOException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 
 public class PersistentFaces extends PersistentFacesServlet {
 
     @Override
     public void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
         try {
             super.service(arg0, arg1);
         } catch (Exception ex) {
             arg0.getSession().invalidate(); 
             arg1.sendRedirect("/index.html");         
     // redirect only to other of jsf filter ( no *.jsp ...)
         }
     }
 
 }
Java:
<servlet>
         <servlet-name>Persistent Faces Servlet</servlet-name>
         <servlet-class>com.web.PersistentFaces</servlet-class>
 <load-on-startup>1</load-on-startup>
     </servlet>

ich will aber dass die alte Session gekillt wird !
 
Zuletzt bearbeitet von einem Moderator: