有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java html链接在JSP页面中不起作用

我试图通过从本地驱动器指定文本文件的路径,从jsp打开文本文件。下面是不起作用的代码片段

《兄弟》的消息来源。jsp:

<html>
<body>
<a href="D:/data.txt">Click Me</a>
</body>
</html>

几乎类似的HTML扩展代码也可以工作

《兄弟》的消息来源。html:

<html>
<body>
<a href="D:/data.txt">Click Me</a>
</body>
</html>

我可以理解服务器可能无法从本地驱动器读取文件。因此,我将路径更改为几种类似的方式,但没有一种是从JSP工作的。有什么想法吗

<a href="//D:/data.txt">Click Me</a>

<a href="file://D:/data.txt">Click Me</a>

<a href="file:///D:/data.txt">Click Me</a>

<a href="file://localhost/D:/data.txt">Click Me</a>

共 (2) 个答案

  1. # 1 楼答案

    我同意之前的回答,并想补充一点澄清。 这实际上不是一个JSP问题,而是HTTP和浏览器的问题

    如果使用以下内容创建html文件(甚至不是jsp):

    <a href="file://d://data.txt">click</a>
    

    然后,浏览器查看本地计算机的D:驱动器(例如用户的家庭计算机,而不是服务器)。此外,在大多数情况下,由于浏览器安全限制,它会失败。 你通常想要的是浏览器在服务器机器上请求一个页面,而一个解决方案确实是返回应用程序(href=“/myapp/test/data.txt”),并要求它为页面提供服务器,假设它有页面

  2. # 2 楼答案

    另一种方法是在web inf文件夹中保留data.txt,在web inf文件夹中保留另一个文件夹,例如test,即web-inf/test/data.txt

    那就这样吧

    <a href="${pageContext.request.contextPath}/test/data.txt">Click Me</a>