开发中遇到的问题(持续更新)
程序员文章站
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是否以’/'开头无所谓,当然这和具体的容器实现有关
上一篇: ArcEngine 字段小结