Struts学习 之 XML文件读取路径问题

     这次我们主要讲一下用dom4j文件读取中过程中的路径问题。关于dom4j读取XML文件路径问题,其原因主要不在于dom4j,而在于web项目发布之前的文件和web项目发布后的文件在位置上发生变化导致了路径问题的产生

 

Web项目发布之前

     为了更好的解释这种现象,我在首先项目中创建了几个xml文件,如下图所示:

计算机生成了可选文字: ‘启xmll-est‘产src‘毋test卜囚xmlCon石gReaderjava。目JREsystem匕bra卿〔dkl·7·0--17]卜翻JZ〔〔1.4Libraries卜酬ReferencedLibraries·乡webRoot卜它,META一INF‘乡wEB一INF卜公,1ib对web·xml熏乒

 

     在上图中,file1.xml位于test包中;file2.xml位于src目录下;file3.xml位于WEB-INF文件夹下;file4.xml位于WebRoot文件夹下;file5.xml位于项目XmlTest下与src同级

 

Web项目发布之后 

     了解了Web项目发布之前的文件位置之后,我们再来看一下Web项目发布之后的文件位置和能够找到的文件都有哪些?

 

file5.xml 

     我们从最外层看xml文件的变化。首先,打开项目文件夹XmlTest,可以看出位于项目XmlTest下与src同级的file5.xml文件,在web项目发布之后就找不到了,所以如果读取file5.xml文件肯定会出错的!如下图所示:

计算机生成了可选文字: 'XmlTestMETA一INF卜Jw〔B一INr卜Jwork'apache一tomcat一7.0.:META一INFwEB一INF6le4.xmlindex.jsp,图」

 

file4.xml 

     接下来,我们看一下file4.xml文件夹,可以看出位于项目中WebRoot中的file4.xml文件将直接位于项目XmlTest文件下。如上图所示。

 

file3.xml 

     打开Web-INF文件夹,我们依然能够在其中找到file3.xml文件,所以我们得出结论位于WEB-INF文件夹下的文件file3.xml文件位置相对不

计算机生成了可选文字: 'XmlTestclassesMETA一INF'WEB一INF',cla'se'巴‘Ie3·xml画w拓.x而妇test如1ib

 

file2.xml

     通过分析XmlTest文件夹我们可以看出,我们找不到src文件夹,那么src文件夹到哪里去了呢?其实src文件夹在web项目发布之后就会将*.java的文件编译,编译完成之后的文件将位于WEB-INF/classes文件下,所以我们得出结论位于src文件夹下的文件,经过项目编译后将位于WEB-INF/classes文件下,其相对文件位置不变。如下图所示

计算机生成了可选文字: 'XmlTestMETA一INF卜Jw〔B一INr卜Jwork'apache一tomcat一7.0.:META一INFwEB一INF6le4.xmlindex.jsp,图」

 

计算机生成了可选文字: ‘几WEB一INF名称J日te弓ttest石leZ.xml山图如lib

 

file1.xml 

     还剩最后一个file1.xml文件,其实我们根据上面的解释可以猜测出,位于包中的file1.xml在项目发布之后,其位置相对于包不变,只是将包变成文件夹。如下图所示:

计算机生成了可选文字: 加wEB一INF'澎cIa,SeS名称

 

     到目前位置我们已经基本上可以看出,web项目发布之前和发布之后一些文件的变化,这对于我们分析项目路径,对一些文件进行操作至关重要。

     分析完毕路径问题之后,读取xml文件就变得简单了,这里不再赘述,下次我们将介绍一下Struts框架的几个重要概念。

你可能感兴趣的:(struts)