所以我试图从jsp页面读取一个xml。它的工作原理,但它似乎是非常挑剔与我正在阅读的.xml文件的路径。
<%
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("new.xml");
doc.getDocumentElement().normalize();
%GT;
将其重定向到我的硬盘上的xml文件可以正常工作,但每当我尝试将其重定向到应用程序上的.xml文件时,我会一直找不到路径文件,格式错误的网址异常等等。我甚至试过把它在WEB-INF中查看它是否可以从那里读取,但它不能。
有办法做到这一点还是不可能?
答案 0 :(得分:1)
您必须必须创建Java类(Servlet或模型类)来解析XML
文档。在您的代码段中,必须必须指定XML文档的真实路径,并且将使用方法ServletContext.getRealPath(virtualPath)
从虚拟路径获取实际路径。
您在Servelt中的代码应该是,
String realPath=getServletContext().getRealPath("/WEB-INF/new.xml"); or "/new.xml"
在JSP中,您可以使用隐式对象 - application.getRealPath(string)
。