欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开发中遇到的问题(持续更新)

程序员文章站 2022-07-03 14:50:39
...

1.java web项目读取配置文件问题

问题描述:jdbc的工具类我之间在普通的java项目中写好了,但是现在的java web项目中需要用到,我就直接copy过来,但是报错了。检查了一下,发现是没有读取到配置文件,仔细研究了一下,这是因为编译后的目录结构不一样导致的。

java项目:webDemo\bin\jdbc.properties 

java web项目: webDemo\WEB-INF\classes\webDemo\jdbc.properties 

可以很明显的看出区别:普通的java项目,java文件编译完class文件直接在bin目录下,但是Java web项目中,java文件编译完的class文件在WEB-INF\classes目录下

所有读取的时候要由原来的:

JdbcUtils.class.getClassLoader().getResourceAsStream("conf/jdbc.properties")

变成:

InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("webDemo/conf/jdbc.properties");

备注:

Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取

 Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源

 ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关