当前位置: 代码迷 >> J2EE >> web.xml配置中,Classpath:com/./spring-context.xml怎的取得其文件流
  详细解决方案

web.xml配置中,Classpath:com/./spring-context.xml怎的取得其文件流

热度:480   发布时间:2016-04-17 23:49:00.0
web.xml配置中,Classpath:com/.../spring-context.xml怎样取得其文件流
在使用Spring框架等各种框架的时候,我们经常需要配置一些web初始化参数init-param, 例如Spring的上下文环境配置文件
classpath:com/config/spring-context.xml, 实际文件spring-context.xml是放在com.config包的下面, 那么我们需要在ServletContextListener中取到这个spring-context.xml的文件流。我现在只是在启动的时候使用servletContext.getInitParam("");取到了初始化参数classpath:com/config/spring-context.xml, 然后怎样根据这个参数取得文件流呢??请各位大侠不吝赐教。。。
------解决方案--------------------
引用:
Quote: 引用:

new DefaultResourceLoader(/*这里可能要指定classLoader*/).getResource(location);

可以读到Resource对象。然后按照你需要,转成相关的URL, inputstream,File等
这个方法我试了一下是可以实现,可是用的是Spring框架里面的东西,还有其他方式吗??

你不是已经说了是Spring吗

一般通用的配置,就不一定会写成classpath:xxxxxxx的形式了

如果确定一定是classpath:开头,那么去掉开头的classpath:,也就是用com/config/spring-context.xml

String path = "com/config/spring-context.xml";
ClassLoader ctxClsLdr = Thread.currentThread().getContextClassLoader();
InputStream input = ctxClsLdr.getResourceAsStream(path); // getResource获得url
  相关解决方案