【问题标题】:How to open a pdf document from JSP [closed]如何从 JSP 打开 pdf 文档 [关闭]
【发布时间】:2024-05-02 14:20:03
【问题描述】:

如何从 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>
<% 
    }
%>

这个问题是怎么引起的,我该如何解决?

【问题讨论】:

    标签: java jsp pdf browser


    【解决方案1】:

    链接必须指向一个 URL,而不是指向本地磁盘文件系统路径之类的。由于安全限制,一般的网络浏览器不会接受这一点。即使这样,当网络浏览器在与网络服务器不同的物理机器上运行时,它也无法在生产环境中工作,因此根本无法访问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 的部署文件夹中。
    • 创建一个 servlet,它从磁盘读取它并将其写入响应。

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

    【讨论】: