加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java.lang.IllegalStateException: Cannot create a session after the

(2012-10-10 09:51:34)
标签:

response

it

有时候在操作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();

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有