[常见FAQ] 日志里老是报 Response already committed
crabdave
2008-07-15
在我们系统的webshere日志常出现这种情况:
WARNING: Cannot set header. Response already committed 接着页面就出现“该页无法显示”了。 不知道这是为什么,对于Response 我们能不能在websphere中做 一些设置让它迟一些做commit啊? |
|
qiuye402
2008-07-21
WARNING: Cannot set header. Response already committed
应该不影响,出现“该页无法显示”可能不是这个问题引发的。 你应该检查一下是否有无效链接,比如,某个js文件、图片等等,在路径上根本找不到,对于was5等版本中有这个问题,页面中如果某个链接是无效的,就会导致真个页面出现“该页无法显示”。而tomcat就不会。 |
|
crabdave
2008-07-22
没有无效连接,这些页面一直都很正常,只是在数据量很大时,查询要花不少时间,页面得不到响应的数据时会出现这种情况;再说我们用的是was6。
|
|
programmer
2008-07-24
以前做开发的时候碰到过这个问题,也查了很多资料,不影响功能就是后台会抛出来一系列恶心的错误异常,但没有找到解决办法。主要原因是response已经返回了,如果这时候servlet 的response再返回 就会抛这样的异常,举个简单的例子,如果在struts的action 实现一个下载报表的功能,下载完好再return forward 那么就回抛这样的一个异常。如果没有那种两次返回请求,那么一般不会出现这样的问题。
|
|
crabdave
2008-07-24
programmer 写道 以前做开发的时候碰到过这个问题,也查了很多资料,不影响功能就是后台会抛出来一系列恶心的错误异常,但没有找到解决办法。主要原因是response已经返回了,如果这时候servlet 的response再返回 就会抛这样的异常,举个简单的例子,如果在struts的action 实现一个下载报表的功能,下载完好再return forward 那么就回抛这样的一个异常。如果没有那种两次返回请求,那么一般不会出现这样的问题。
刚又地震了。关健是我们这个影响功能了,用户要查询的数据长时间得不到响应,页面直接报“该页无法显示”。有没有办法把response返回的时间设置长一些呢? |
|
programmer
2008-07-25
servlet 处理完后,系统才会执行 response 返回请求应答,你到底是一个什么应用场景,能否把相关的代码贴出来。
|
|
crabdave
2008-07-25
programmer 写道 servlet 处理完后,系统才会执行 response 返回请求应答,你到底是一个什么应用场景,能否把相关的代码贴出来。
代码还是不要贴了!这么跟你说吧,在业务层进行查询的时候,如果数据库中的数据量小查询速度快,一切正常;如果此时数据库中的数据量大,查询速度缓慢,就会出现这种情况。业务层用Spring框架,视图层使用的是struts框架。 |
|
angushj
2008-08-01
遇到一样的问题了~
我用的是Spring的mvc,页面如果太多<form:input>之类的标签就会出问题。 只要页面的<form:input>标签不超过10个,页面还是可以打开,不过第一次loding贼慢,大概要个3~4分钟,但第二次访问的速度就正常了~ 现在用的是spring2.0.8和was6.1的network版本 还有一个情况,刚开始的时候是所有带<form:input>的表单都打不开,后来把jsp的文件头换了一下就能打开一部分了,只是第一次还是很慢~不知道有没有关系。 更换前的头: <%@ page contentType="text/html; charset=UTF-8"%> <html> <head> </head> 更换后的头: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> |