2012-10-15 222 views
0

所以我想從jsp頁面讀取xml。它的工作原理,但它看起來像我正在閱讀的.xml文件的路徑真的挑剔。從jsp文件讀取xml

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

doc.getDocumentElement().normalize(); 

%>

它重定向到我的硬盤驅動器上的XML文件中工作正常,但每當我試圖把它重定向到應用程序的.xml文件,我不斷收到文件的路徑沒有找到,畸形url異常等等,我甚至試圖把它放在WEB-INF中,看它是否可以從那裏讀取,但它不能。

有沒有辦法做到這一點,或者這是不可能的?

+0

不是不可能的,請將jsp和xml放入webinf中,並使用「new.xml」或「。\ new.xml」 –

+0

「我嘗試將其重定向到應用程序中的.xml文件」是什麼意思? –

+0

xml文件在應用程序中,所以我試圖訪問與jsp文件位於相同位置的xml。 – user1704756

回答

1

必須必須創建Java類(Servlet或模型類)來解析XML文檔。在你的代碼片段中,你必須必須必須指定XML文檔的真實路徑,並且將使用方法ServletContext.getRealPath(virtualPath)從虛擬路徑獲得實際路徑。

你在的servelt代碼應和,

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

,並在JSP中你可以使用隱式對象 - application.getRealPath(string)