应用信息:
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
日志记录的错误:
org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Broken pipe
xxxx
意思很明确, response之后创建session出错.
但是这个apk文件我是放入了static中了, 配置是不拦截这个文件夹中的任何文件的. 为何还有session的创建之类的?
我本地测试访问时没有报错的. 但是到了阿里云就有问题了. 文件还是可以继续下载, 但是日志总是记录报错信息.
这个错误和你的文件放哪没有关系,是请求结束后你的程序又去试图访问SessionContext里的东西。检查下你的Filter,看是不是有这种情况,如果有,看看是不是可以用ApplicationContext而不是SessionContext。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。