這次我們主要講一下用 dom 4j 文件讀取中過程中的路徑問題。關(guān)于 dom4j 讀取XML文件路徑問題,其 原因主要不在于 dom4j, 而在于 web 項(xiàng)目發(fā)布之前的文件和 web 項(xiàng)目發(fā)布后的文件在位置上發(fā)生變化導(dǎo)致了路徑問題的產(chǎn)生 。
Web 項(xiàng)目發(fā)布之前
為了更好的解釋這種現(xiàn)象,我在首先項(xiàng)目中創(chuàng)建了幾個(gè) xml 文件,如下圖所示:
在上圖中, file1.xml 位于 test 包中; file2.xml 位于 src 目錄下; file3.xml 位于 WEB-INF 文件夾下; file4.xml 位于 WebRoot 文件夾下; file5.xml 位于項(xiàng)目 XmlTest 下與 src 同級(jí) 。
Web 項(xiàng)目發(fā)布之后
了解了 Web 項(xiàng)目發(fā)布之前的文件位置之后,我們再來看一下 Web 項(xiàng)目發(fā)布之后的文件位置和能夠找到的文件都有哪些?
fil e5.xml
我們從最外層看 xml 文件的變化。首先,打開項(xiàng)目文件夾 XmlTest ,可以看出 位于項(xiàng)目 Xml Test 下與 src 同級(jí)的 file5.xml 文件,在 web 項(xiàng)目發(fā)布之后就找不到了 ,所以如果讀取 file5.xml 文件肯定會(huì)出錯(cuò)的!如下圖所示:
file 4.xml
接下來,我們看一下 fil e4.xml 文件夾,可以看出 位于項(xiàng)目中 WebRoot 中的 file4.xml 文件將直接位于項(xiàng)目 XmlTest 文件下 。如上圖所示。
file3.xml
打開 Web-INF 文件夾,我們依然能夠在其中找到 fil e3.xml 文件,所以我們得出結(jié)論 位于 WEB-INF 文件夾下的文件 file3.xml 文件位置相對不 變 。
file 2.xml
通過分析 XmlTest 文件夾我們可以看出,我們找不到 src 文件夾,那么 src 文件夾到哪里去了呢?其實(shí) src 文件夾在 web 項(xiàng)目發(fā)布之后就會(huì)將 *.java 的文件編譯,編譯完成之后的文件將位于 WEB-INF/classes 文件下,所以我們得出結(jié)論 位于 src 文件夾下的文件,經(jīng)過項(xiàng)目編譯后將位于 WEB-INF/classes 文件下 ,其相對文件位置不變。如下圖所示
fil e1.xml
還剩最后一個(gè) file 1.xml 文件,其實(shí)我們根據(jù)上面的解釋可以猜測出, 位于包中的 file1.xml 在項(xiàng)目發(fā)布之后,其位置相對于包不變,只是將包變成文件夾 。如下圖所示:
到目前位置我們已經(jīng)基本上可以看出, web 項(xiàng)目發(fā)布之前和發(fā)布之后一些文件的變化,這對于我們分析項(xiàng)目路徑,對一些文件進(jìn)行操作至關(guān)重要。
分析完畢路徑問題之后,讀取 xml 文件就變得簡單了,這里不再贅述,下次我們將介紹一下 Struts 框架的幾個(gè)重要概念。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
