开发者社区> 问答> 正文

服务器上下载文件出现session commited异常

菜豆先生 2016-08-10 19:53:43 1345

应用信息:
tomcat7,jdk1.7,springmvc+freemarker,阿里云的服务器,
在springmvc的配置文件中配置了静态文件过滤.

其他的访问全部被拦截:


<property name="mappingURL" value=".*/login/.*" />


我把SessionTimeoutInterceptor现在全部返回true
现在我在static文件夹放入一个apk文件.
通过我自己的域名,可以直接访问下载. 但是后台会报错:
SEVERE: Servlet.service() for servlet [springMVC] in context with path [] threw exception [javax.servlet.ServletException: java.lang.IllegalStateException: Cannot create a session after the response has been committed] with root cause

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

日志记录的错误:
org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Broken pipe
xxxx

意思很明确, response之后创建session出错.

但是这个apk文件我是放入了static中了, 配置是不拦截这个文件夹中的任何文件的. 为何还有session的创建之类的?
我本地测试访问时没有报错的. 但是到了阿里云就有问题了. 文件还是可以继续下载, 但是日志总是记录报错信息.

前端开发
分享到
取消 提交回答
全部回答(1)
  • 有桥
    2019-07-17 20:03:15

    这个错误和你的文件放哪没有关系,是请求结束后你的程序又去试图访问SessionContext里的东西。检查下你的Filter,看是不是有这种情况,如果有,看看是不是可以用ApplicationContext而不是SessionContext。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程