获取XML文件JSP Java的网站URL

获取XML文件JSP Java的网站URL,java,html,xml,file,jsp,Java,Html,Xml,File,Jsp,假设我已经创建了这个文件 String path = application.getRealPath("userSearchFolder"); String name = path + "/" + (String) session.getAttribute("username") + ".xml"; File file = new File(name); 然后我想让它成为一个链接,例如 <a href"<%=file.toURI()%>">File</a>

假设我已经创建了这个文件

String path = application.getRealPath("userSearchFolder");
String name = path + "/" + (String) session.getAttribute("username") + ".xml";
File file = new File(name);
然后我想让它成为一个链接,例如

 <a href"<%=file.toURI()%>">File</a>
当它到达Firefox时,我将鼠标悬停在链接上,我看到的是

file:///D:/Documents/NetBeansProjects/2012/GATE_Project/build/web/userSearchFolder/mjoraid.xml
当我右键单击并选择复制链接位置并将其粘贴到URL中时,xml文件将打开,但当我单击链接时,什么也没有发生

我怎么能得到这样的链接

http://localhost:8080/GATE_Project/somepage/somepage/mjoraid.xml

getRealPath
将给出一个文件系统路径(因此为“real”),而不是web应用程序路径。所以你不能让它成为一个href

以下几点就足够了

<a href="/userSearchFolder/${userName}.xml">


(当然,对于这样的公共可访问的XML文件,您可能会冒数据挖掘的风险。)

您可以使用servlet来服务该文件

这显示了如何提供pdf文件(!)

理论是一样的:

  • 将文件加载到servlet中
  • 设置任何必需的标题
  • 将数据写入响应

ContentType可能应该是“application/xml”。

好的,我是手动创建的,类似于我在php中所做的,创建一个包含网站主目录的变量

  String searchFolderURL = "http://localhost:8080/GATE_Project/userSearchFolder/"; 
然后

 <a href="<%=searchFolderURL + file.getName()%>" target="_blank"  >See original txt File </a>

谢谢你

 <a href="<%=searchFolderURL + file.getName()%>" target="_blank"  >See original txt File </a>