系统是jsp+javabean,数据库oracle,服务器weblogic6.1
有一个报表的功能,后台查询数据库得到结果集后,还要对每条记录进行另外的处理,然后把处理结果返回给JSP展现,但是可能由于数据量太大,处理时间过长(其实也不算长,不超过5分钟),前台JSP就显示“无法显示网页”,然后后台处理完毕的时候,就报错:
2009-05-14 09:04:42 INFO  QingFen.java:1037
成功返回!1932
java.net.SocketException: Connection aborted by peer: socket write error
        at java.net.SocketOutputStream.socketWrite(Native Method)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:91)
        at weblogic.servlet.internal.ChunkUtils.writeChunkTransfer(ChunkUtils.
va:224)
        at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:20        at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:272)
        at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.jav
331)
        at weblogic.servlet.internal.MultibyteOutput.write(ChunkOutput.java:43        at weblogic.servlet.internal.MultibyteOutput.print(ChunkOutput.java:41        at weblogic.servlet.internal.ChunkOutputWrapper.print(ChunkOutputWrapp
.java:136)
        at weblogic.servlet.jsp.JspWriterImpl.print(JspWriterImpl.java:120)
        at jsp_servlet._dshk.__qfdsfstatdetail_down._jspService(__qfdsfstatdet
l_down.java:184)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStub
pl.java:262)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:21)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.
va:27)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebApp
rvletContext.java:2643)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequest
pl.java:2359)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)开始以为是web.xml的session-config设置时间太短,因为这个功能以前查询3万多条记录也是没有问题的,后来改过一下这个session的设置,一段时间后就不行了,但是现在改回去改成60还是不行,现在看来应该是页面超时,后来还没处理完,但是又不知道怎么设置这个页面的超时,跪求各位大侠指点

解决方案 »

  1.   

    这个是socket写入错误,应该是程序中用到socket流时有问题.先减少数据,看程序是否能正常运行,如果可以,在去调整超时问题.
      

  2.   

    jsp 连接中断? 只要有数据传输很难终端。看样也不像并发超时。   <xsd:documentation>     The session-timeout element defines the default
        session timeout interval for all sessions created
        in this web application. The specified timeout
        must be expressed in a whole number of minutes.
        If the timeout is 0 or less, the container ensures
        the default behaviour of sessions is never to time
        out. If this element is not specified, the container
        must set its default timeout period.   </xsd:documentation>jsp--> buffer=128KB试试吧!
      

  3.   

    以前一直可以的,不知为什么突然不行了想想看这几天是改动了什么地方了吗?如果改动了代码,就仔细检查一遍代码来着不是的话,重新还原一下weblogic的默认配置试试
      

  4.   

    已经试过buffer=512KB都不行
    另,程序没改过,就是改过sessiontimeout的值,不过也已经还原了