一、xml文件一般的存放位置有三个: 
1.放在WEB-INF下; 
2.xml文件放在/WEB-INF/classes目录下或classpath的jar包中; 
3.放在与解析它的java类同一个包中,不一定是classpath;

二、相对应的两种使用相对路径的读取方法:

方法一:(未验证) 
将xml文件放在WEB-INF目录下,然后 
程序代码: 
InputStream is=getServletContext().getResourceAsStream( "/WEB-INF/xmlfile.xml" );

方法二:将xml文件放在/WEB-INF/classes目录下或classpath的jar包中,则可以使用ClassLoader的静态方法getSystemResourceAsStream(String s)读取; 
程序代码: 
String s_xmlpath="com\xml\hotspot.xml"; 
InputStream in=ClassLoader.getSystemResourceAsStream(s_xmlpath);

方法三:xml在随意某个包路径下: 
String s_xmlpath="com\xml\hotspot.xml"; 
ClassLoader classLoader=HotspotXmlParser.class.getClassLoader(); 
InputStream in=classLoader.getResourceAsStream(s_xmlpath);

java中相对路径加载xml的更多相关文章

  1. 通过源码浅析Java中的资源加载

    前提 最近在做一个基础组件项目刚好需要用到JDK中的资源加载,这里说到的资源包括类文件和其他静态资源,刚好需要重新补充一下类加载器和资源加载的相关知识,整理成一篇文章. 理解类的工作原理 这一节主要分 ...

  2. 浅析java中ClassLoader如何加载Class

    我的博客地址:https://blog.csdn.net/qq_41907991 ClassLoader是一个经常出现又让很多人望而却步的词.本文试图以最浅显易懂的方式来讲解ClassLoader,希 ...

  3. java中的动态加载和热替换

    https://blog.csdn.net/u010833547/article/details/54312052 ****************************************** ...

  4. Spring中加载xml配置文件的六种方式

    Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog  因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...

  5. 海康JAVA SDK库动态路径加载

    海康JAVA SDK初始化路径默认是放在classes下面,见下: HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("HCNetSDK&q ...

  6. 在Spring Boot中从类路径加载文件

    介绍 创建Spring Boot Web应用程序时,有时有时需要从类路径中加载文件:war和jar的加载文件格式是不一样的 在下面,您将找到在WAR和JAR中加载文件的解决方案. 资源加载器 使用Ja ...

  7. 详解web.xml中元素的加载顺序

    一.背景 最近在项目中遇到了启动时出现加载service注解注入失败的问题,后来经过不懈努力发现了是因为web.xml配置文件中的元素加载顺序导致的,那么就抽空研究了以下tomcat在启动时web.x ...

  8. 在Android的App中动态的加载Java类

    原文的地址:http://yenliangl.blogspot.com/2009/11/dynamic-loading-of-classes-in-your.html 我正在编写一个应用程序能够加载别 ...

  9. Spring加载xml配置文件的方式 ApplicationContext

    大家都知道Java读普通文件是通过Basic I/O 中的InputStream.OutStream.Reader.Writer 等实现的.在spring 框架中,它是怎样识别xml这个配置文件的呢? ...

随机推荐

  1. iOS开发之解析XML格式数据

    XML格式的数据是一种数据的传输格式.因为它方便编写.结构清晰,所以深受程序猿的喜爱,非常多人都喜欢使用XML格式数据传输或者作为程序的配置信息. 如今我将来实如今iOS中解析XML格式数据,语言使用 ...

  2. Node.js学习笔记(5)——关于child_process模块

    child_process是node一个比较重要的模块,通过它可以实现创建多线程,来利用多核CPU. 这个模块提供了四个创建子进程的函数. spawn.exec.execFile.fork. spaw ...

  3. hdu 2814 Interesting Fibonacci

    pid=2814">点击此处就可以传送 hdu 2814 题目大意:就是给你两个函数,一个是F(n) = F(n-1) + F(n-2), F(0) = 0, F(1) = 1; 还有 ...

  4. vim diff 的使用

    vimdiff 是vim的比较工具可以对两个文件进行差异比较和快速合并 1. 使用vimdiff 比较两个文件 方式一 vimdiff  file_left  file_right   或者  vim ...

  5. Struts2学习七----------Struts2后缀

    © 版权声明:本文为博主原创文章,转载请注明出处 Struts2后缀 - Struts2默认后缀是action - Struts2使用默认后缀时*.action和*都是同一个请求 - Struts2自 ...

  6. mycat可以干什么

     单纯的读写分离,此时配置最为简单,支持读写分离,主从切换 分表分库,对于超过 1000 万的表进行分片,最大支持 1000 亿的单表分片 多租户应用,每个应用一个库,但应用程序只连接 Myca ...

  7. Dell 刀片服务器CentOS6.5mini开机20~30分钟宕机

    今天查看系统日志发现大量的nf_conntrack: table full, dropping packet. 错误 cat /var/log/messages | moreJun  7 09:52: ...

  8. CxImage新手教程,图文并茂

    作为一个游戏client程序猿,须要对图像处理有一定的知识. CxImage是C++实现的功能强大的.能处理多种文件格式的图像管理类.它可以简单高速的实现图像的导入.保存.显示和变换. 同一时候又具有 ...

  9. CentOS搭建git服务器实测

    Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议 1,安装: CentOS/Fedora: yum install git Ubuntu/Debian: ...

  10. ASP.NET MVC 相关的社群与讨论区

    ASP.NET MVC 官方论坛  http://forums.asp.net/1146.aspx 台湾微软MSDN论坛 --- ASP.NET 与 AJAX(ASP.NET AND AJAX)讨论区 ...