Cannot create a session after the response has been committed

Caused by: java.lang.IllegalStateException: Cannot create a session after the response has been committed
        at org.apache.catalina.connector.Request.doGetSession(Request.java:3058) ~[catalina.jar:7.0.73]
        at org.apache.catalina.connector.Request.getSession(Request.java:2430) ~[catalina.jar:7.0.73]
        at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:897) ~[catalina.jar:7.0.73]

检查代码中的处理session的代码是不是放在了response输出之后了。

request.getSession(true).setAttribute(sessionKey, randomString);

response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");

奇怪的是开发windows环境tomcat7无问题,而发布到linux下有问题。环境如下 :

C:\Users\admin>java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Server version: Apache Tomcat/7.0.75
Server built:   Jan 18 2017 20:54:42 UTC
Server number:  7.0.75.0
OS Name:        Windows 8.1
OS Version:     6.3
Architecture:   amd64
JVM Version:    1.7.0_79-b15
JVM Vendor:     Oracle Corporation

#  java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

Server version: Apache Tomcat/7.0.73
Server built:   Nov 7 2016 21:27:23 UTC
Server number:  7.0.73.0
OS Name:        Linux
OS Version:     2.6.32-431.23.3.el6.x86_64
Architecture:   amd64
JVM Version:    1.7.0_75-b13
JVM Vendor:     Oracle Corporation

 

转载于:https://my.oschina.net/kenzheng/blog/832421

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值