其中: Constants.MAX_BUF_SIZE = 65535

解决方案 »

  1.   

    debug
    能行吗?
    好象是jsp
    吧?
    你把65535改小.
      

  2.   

    action 中只转发
    另一个页面写下载代码试试
      

  3.   

    response.reset();  //这行很重要!!!!!!!!
      

  4.   

    晕,你都
    out.close();了

    return mapping.findForward(SUCCESS);不错才怪!
      

  5.   

    上面出错的原因可能是1. 在 Forward 前使有了 close,如楼上所说
    2. 即使没有写 close,在某些情况下也会出错,如你下载的文件很大,造成 response buffer 已经 commit,这样也会出错,这点请参考 Servlet 规范的 buffer 的处理和 forward 的规范
    3. 即使 buffer 没有 commit,使用 forward 会清空你上在所输出的内容,也得到你所要的结果正确的写法我想应该是把 return mapping.findForward("success") 改成 return null;上述解决方法我自己没有试过,不知道是不是可以,如果不行,建议直接使用 Servlet,那样简洁,也不容易也错
      

  6.   

    已经输出到下载页面,再使用return mapping.findForward(SUCCESS);报错.
    解决办法是return null;