当前位置:  技术问答>java相关

用sevrlet打开一个PDF文件时出现的问题?

    来源: 互联网  发布时间:2017-03-16

    本文导语:  在IE中调用时Adobe能运行,但是IE窗口是空白的,什么都没有, 按F5刷新一下就可以在IE正常出现被调用的PDF,为什么? 我在代码中加入response.setHeader("Refresh","10"); 也不行,哪位高手能帮我解决这个问题? import java.io....

在IE中调用时Adobe能运行,但是IE窗口是空白的,什么都没有,
按F5刷新一下就可以在IE正常出现被调用的PDF,为什么?
我在代码中加入response.setHeader("Refresh","10");
也不行,哪位高手能帮我解决这个问题?

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.lang.*;
import java.net.*;


public class PDFCouponServlet extends HttpServlet {
  public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws IOException {
 
    ServletOutputStream out = response.getOutputStream();

    response.setContentType( "application/pdf" );
    
    response.setHeader("Refresh","10");
    
    String fileURL = "http://localhost:8080/examples/jsp/Chap0401.pdf";
    System.out.println(fileURL);
    URL url = new URL(/tech-qa-java/fileURL/index.html);
    BufferedInputStream bis = new BufferedInputStream(url.openStream());
    BufferedOutputStream bos = new BufferedOutputStream(out);

    byte[] buff = new byte[2048];
    int bytesRead;
  
    while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
        bos.write(buff, 0, bytesRead);
    }

bis.close();
bos.close();

  }
}

|
还有老大既然可以
String fileURL = "http://localhost:8080/examples/jsp/Chap0401.pdf";
您 refresh 的时候直接
/examples/jsp/Chap0401.pdf
不就可以了?
不然,web server 的压力不是多余的?

|
Netscape 和 IE 在保持http响应header始终一致有bug。
当需要绝对确保servlet输出不被缓存时,对每个servlet的请求都应使用
略有不同的URL,可以加上一点外加参数信息。

来自java servlet programming/java servlet 编程
(Jason Hunter & William Crawford)


|
加一行:

bos.flush();

bis.close();
bos.close();

若行了的话,分就是俺的了。

|
你的PDF文件有多大呢?将缓存重新设置一个合适的值是是看。

|
另外设置一下输出缓存,默认好象是8k你,如果你的PDF大就设置的大一些,然后调用flush()

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何向JSP中传送Sevrlet的实例?
  • 谁能告诉我从web html到j2ee做网站的全过程主要有几步。是不html-->jsp-->sevrlet-->javabean-->jdbc-->j2ee吧。不对的请指证,最好是那


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3