0

所以我试图从一个jsp页面读取一个xml。它可以工作,但我正在阅读的 .xml 文件的路径似乎真的很挑剔。

<%
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("new.xml");

doc.getDocumentElement().normalize();

%>

将其重定向到我硬盘上的 xml 文件可以正常工作,但是每当我尝试将其重定向到应用程序上的 .xml 文件时,我都会不断收到找不到路径文件、格式​​错误的 url 异常等。我什至尝试将其放入 WEB -INF 看看它是否可以从那里读取但它不能。

有没有办法或者不可能?

4

1 回答 1

1

必须创建 Java 类(Servlet 或模型类)来解析XML文档。在您的代码片段中,您必须指定 XML 文档的真实路径,并且ServletContext.getRealPath(virtualPath)将使用从虚拟路径获取真实路径的方法。

您在 Servelt 中的代码应该是,

String realPath=getServletContext().getRealPath("/WEB-INF/new.xml"); or "/new.xml"

在 JSP 中,您可以使用隐式对象 - application.getRealPath(string).

于 2012-10-15T04:11:36.730 回答