zoukankan      html  css  js  c++  java
  • 分步学习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框架的几个重要概念。

  • 相关阅读:
    【转】Yeoman自动构建 Angularjs 项目
    【转】jquery的extend和fn.extend
    Centos查看已经安装的软件或者包
    Big Boss
    利用防火墙实现向外网提供内网web和dns服务
    从浏览器控制和管理 Android 及iOS设备 stf
    python 3 解决 ERROR: Could not find a version that satisfies the requirement xxx 的问题
    一直在说高并发,多少QPS才算高并发?
    压力/负载/性能(强度、容量、稳定性)测试之异同
    CPU利用率、内存利用率、磁盘IO、网卡负载解读和学习
  • 原文地址:https://www.cnblogs.com/zs234/p/3233354.html
Copyright © 2011-2022 走看看