服务器是weblogic8.1,访问web应用时速度非常慢,打不开,在后台报如下错误:
<Error> <HTTP> <piccdc_b> <myserver> <ExecuteThread: '4' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-101083> <Connection failure.
java.net.ProtocolException: Didn't meet stated Content-Length, wrote: '12216' bytes instead of stated: '18625' bytes.
at weblogic.servlet.internal.ServletOutputStreamImpl.ensureContentLength(ServletOutputStreamImpl.java:470)
at weblogic.servlet.internal.ServletResponseImpl.ensureContentLength(ServletResponseImpl.java:1176)
at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1188)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2590)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

重启一下weblogic就可以正常访问web应用了,这是服务器,老重启是不好的,想问一下到底是什么原因?谢谢!!!

解决方案 »

  1.   

    工程启动时报没报错?我用weblogic最常见的问题就是jar冲突
      

  2.   

    主要是因为在图片下载时,   bis = new BufferedInputStream(rs.getBinaryStream(img));           response.setContentLength(rs.getInt(2)); 
               response.setBufferSize(1024);
               response.setContentType("application/x-msdownload");
               response.setHeader("Content-Disposition", "filename=" + InfoVariable.converu2a("img"));
               ServletOutputStream op = response.getOutputStream();          byte[] b= new byte[1024];
              int size=0;
              while ((size = bis.read(b)) != -1)
         op.write(b, 0, size); 导入到response中的字节数没有设定,可以通过增加如下设置解决此问题,//其中rs.getInt(2)为在数据库中blob字段的大小,可以通过dbms_lob.getlength(img)函数取得response.setContentLength(rs.getInt(2));    //注意cotentlength的大小为图片的大小如果要是图片打不开,或者显示为乱码可以用response.resetBuffer();刷新一下缓存.
      

  3.   

    为什么重启一下weblogic就可以正常访问web应用了呢?这类原因肯定是和操作数据库有关系内存溢出之类的   
      

  4.   

    LZ看看这个帖子.http://luoyahu.javaeye.com/blog/443841
      

  5.   

    关于优化一时难以说清楚,一是环境配置,操作系统、weblogic等。二是架构,根据要实现的功能选择最佳的框架,并加以改进。三是代码规范。充分分析代码中的影响。根据你发的另一个贴子我说的,先把jdk、webloic的内存加大,改正你系统中连接(包括数据库连接等),看是否有未关闭的问题。代码效率,少建无用的对象,字符连接(例如sql连接)尽量少用+号连接等等。详细的可以在网上搜搜。
    先这样改改试试,看看效果。