1、 毕业了,还在迷茫么?还在为找工作发愁么?来选择软件测试工作,加入我们吧! 2、 作为一名软件测试人员,业余时间想提高技能水平,在工作中脱颖而出,加入我们吧! 3、 本人从事软件测试行业十年,负责过若干大型项目的测试,精通软件测试流程,熟悉性能测试,自动化测试,现成立了一个工作室,把这几年的工作中遇到的问题和一些实践经验分享给大家! 我们交朋友,结识同行,扩展人脉!随时开课! 4、 在这个大家庭,我们可以畅所欲言,谈工作中遇到的不顺,谈人生理想,谈兴趣爱好!帮大家互相介绍工作!

Cannot create a session after the response has been committed

上一篇 / 下一篇  2010-04-01 08:45:36 / 个人分类:Java web

有时候在操作Session时,系统会抛出如下异常

java.lang.IllegalStateException: Cannot create a session after the response has been committed

之所以会出现此类问题是因为我们在Response输出响应后才创建Session的。

(因为那时候服务器已经将数据发送到客户端了,即:就无法发送Session ID 了)

解决办法:

你只需要在你的程序中将创建访问Session的语句【request.getSession()】提前至Response输出数据之前就好了。

例如改成下面的写法OK:

ServletOutputStream ut = response.getOutputStream();
// 最好这样紧挨着 response.getOutputStream()
HttpSession seesion = request.getSession();
seesion.setAttribute("xxx", rand);


// 输出数据
out.print("<h1>hello</h1>");
out.close();


TAG:

 

评分:0

我来说两句

Open Toolbar