java.lang.IllegalStateException: не удается создать сеанс после того, как ответ был зафиксирован - PullRequest
0 голосов
/ 09 декабря 2010

У меня действительно странный запрос на неверный URL:

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

Это вызывает следующую ошибку:

 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)
...

Как я могу решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

У меня была эта проблема из-за нескольких тегов <h:outputScript target="head">

3 голосов
/ 09 декабря 2010

Что происходит, поток ответов был закрыт.Либо вы уже отправили перенаправление, либо отправили ответ другого типа.Я рекомендую получить объект сеанса до того, как вы выполните какой-либо ответ, и сохраняйте ответ до тех пор, пока не останется ничего общего с объектами HttpServletRequest или HttpServletResponse.

Хорошей практикой является возврат права вашего сервлетапосле выполнения перенаправления вы можете избежать некоторых из этих проблем.

...