页面是用的框架结构,左边一个left.jsp,中间是main.
left.jsp里就一句话 :
<a href="servlet/LookFileServlet" target="main" >查看</a></td>调用 的 LookFileServlet具体代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
       String filePath = "d:/file/1.doc";
      String fileName = "1.doc";      response.setContentType("Application/msword");
      response.setHeader("Content-Disposition","filename="+fileName);
      OutputStream out = response.getOutputStream();
    
      byte[] bs = new byte[2048];
      FileInputStream fis = new FileInputStream(filePath);      for( int i = fis.read(bs); i > -1; i = fis.read(bs)){
        
         System.out.println("555")
         out.write(bs,0,i);  
      }
    
    
      fis.close();
      out.close();      return;}
就很简单的代码,出现的问题是:
当第一次点 “查看”连接,main中正常显示 1.doc的内容。但第二次再点 “查看”连接,main中空白,啥都不显示。第三次点 “查看”连接,main中还是正常显示 1.doc的内容。第四次还是一片空白。第五次点击又是好的了。就这样一直循环下去的情况。我跟踪的时候,第二次显示不正常的情况是 "555"打印到一半就没有了,停在那里不动了。我不知道是什么情况,还请高手能帮帮忙解决。谢谢了。

解决方案 »

  1.   

    用post请求试一下。
    就是写一个form,将target指定为main,action指定为相应的servlet.然后提交。
      

  2.   

    是报异常了
    ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error我是在循环的时候用异常包起来的。 
        FileInputStream fis = new FileInputStream(filePath);
        for( int i = fis.read(bs); i > -1; i = fis.read(bs)){
          
        try{
          out.write(bs,0,i);  
        }catch(Exception ex){
          ex.printStackTrace();
        }
          
        }
      

  3.   

    你看看那word文件的内容里有没有<xml >标签之类的。
      

  4.   

    你用这样的代码看看int i = -1;
    while( (i = fis.read(bs))!=-1){ 
      System.out.println("555") 
      out.write(bs,0,i);   
      

  5.   

    SocketException是哪里来的?楼主异常信息全部发上来啊
      

  6.   

    你这问题我也遇见过的,你需要做两次跳转的。先发送给一个jsp,然后再发给servlet,这样就正常了。  还有你那个异常也是正常的。当一个word还没整个读完的时候,你再去点击的话,就出现在这异常了。正常的,不影响啥。
      

  7.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wxh828】截止到2008-06-25 13:38:22的历史汇总数据(不包括此帖):
    发帖数:8                  发帖分:440                
    结贴数:4                  结贴分:220                
    未结数:4                  未结分:220                
    结贴率:50.00 %            结分率:50.00 %            
    楼主加油