2010-12-08 6 views
0

Ich habe diese wirklich seltsam Anforderung für eine ungültige URL bekam auf:java.lang.IllegalStateException: Kann nicht eine Sitzung erstellen, nachdem die Reaktion begangen wurde

Invalid URL: /cgi-bin/1st.cgi 

Dies verursacht den folgenden Fehler:

SEVERE: Exception initializing page context 
java.lang.IllegalStateException: Cannot create a session after the response has been committed 
     at org.apache.catalina.connector.Request.doGetSession(Request.java:2381) 
     at org.apache.catalina.connector.Request.getSession(Request.java:2098) 
     at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833) 
     at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:216) 
     at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544) 
... 

Wie kann ich dieses Problem lösen?

Antwort

3

Was passiert, ist der Antwort-Stream wurde geschlossen. Entweder haben Sie bereits eine Weiterleitung gesendet oder eine andere Art von Antwort gesendet. Ich empfehle, dass Sie Ihr Sitzungsobjekt abrufen, bevor Sie eine Antwort ausführen, und speichern Sie die Antwort, bis nichts mehr mit den Objekten HttpServletRequest oder HttpServletResponse zu tun hat.

Eine gute Übung besteht darin, nach einer Umleitung sofort von Ihrem Servlet zurückzukehren, um einige dieser Probleme zu vermeiden.

+1

„Eine gute Praxis von Ihrem Servlet zurückzukehren ist sofort nach einer Umleitung durchgeführt wird, auf diese Weisen Sie einige diese Probleme vermeiden können“ guter Punkt, unter dem anderen, Das hat den Trick für mich gemacht. – reallynice

3

ich wegen mehr Tages hatte dieses Problem <h:outputScript target="head">

Verwandte Themen