解决Tomcat的java.lang.IllegalStateException: Cannot create a session after the response has been committed问题


0x00

  level: 0x04

0x01

  code:

           try {// TOMCAT 下将原 sessionId 赋值给新 request
                    if (request instanceof org.apache.catalina.connector.RequestFacade) {
                        java.lang.reflect.Field field = org.apache.catalina.connector.RequestFacade.class.getDeclaredField("request");
                        field.setAccessible(true);
                        org.apache.catalina.connector.Request r = (org.apache.catalina.connector.Request) field.get(request);
                        r.setRequestedSessionCookie(true);
                        r.setRequestedSessionId(request.getSession().getId());
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }

0x02

  PS: 感觉这样子,吊爆了。这问题情况很复杂,这种方法对其他的项目不一定有效


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM