java.lang.IllegalStateException: Cannot create a session after the
(2012-10-10 09:51:34)
标签:
responseit |
有时候在操作Session时,系统会抛出如下异常
java.lang.IllegalStateException: Cannot create a session after the response has been committed
之所以会出现此类问题是因为我们在Response输出响应后才创建Session的。
(因为那时候服务器已经将数据发送到客户端了,即:就无法发送Session ID 了)
解决办法:
你只需要在你的程序中将创建访问Session的语句【request.getSession()】提前至Response输出数据之前就好了。
例如改成下面的写法OK:
ServletOutputStream out = response.getOutputStream();
// 最好这样紧挨着 response.getOutputStream()
HttpSession seesion = request.getSession();
seesion.setAttribute("xxx", rand);
// 输出数据
out.print("
hello
");out.close();
前一篇:秋天养生怎么吃
后一篇:Android越火越不安全