如何从JSP打开pdf文档

时间:2011-06-07 21:10:20

标签: java jsp pdf browser

如何从JSP打开PDF文档?我有很多PDF文件的链接。在Eclipse中,当我单击链接时,PDF将在PDF阅读器中打开。但是在像Firefox和Chrome这样的网络浏览器中,没有任何反应。

我通过以下方式生成PDF文件的链接:F:\....\...pdf

<%
    while (iter.hasNext()) {
        element = iter.next(); 
        bookName = getBookName(element);

%>
        <ul>
            <li><a href="<%=element %>"><%=bookName %></a>
        </ul>
<% 
    }
%>

这个问题是如何引起的?如何解决?

1 个答案:

答案 0 :(得分:7)

链接必须指向URL,而不是指向本地磁盘文件系统路径或其他内容。由于安全限制,平均webbrowser不会吞下这个。即便如此,当它与Web服务器在物理上不同的机器上运行时,它也不会在生产环境中工作,因此根本无法访问F:磁盘。

所以,你应该使用

<a href="F:\....\...pdf">link</a>

但你应该使用

<a href="http://example.com/filename.pdf">link</a>

或者当它在例如当前JSP文件的同一文件夹中时

<a href="filename.pdf">link</a>

如果您无法将PDF文件放在自己的Web项目中,那么您需要寻找不同的解决方案。

  • 将外部文件夹添加为servletcontainer的另一个上下文。
  • 将外部文件夹移动到servletcontainer的deploy文件夹中。
  • 创建一个servlet,从磁盘读取它并将其写入响应。

您可以在以下问题的答案中详细找到上述解决方案: