黑马程序员技术交流社区
标题:
在Servlet中使用ServletContext会出现的问题、、、
[打印本页]
作者:
yting_xmei1129
时间:
2013-9-21 11:32
标题:
在Servlet中使用ServletContext会出现的问题、、、
本帖最后由 yting_xmei1129 于 2013-9-21 20:05 编辑
web程序中,在Servlet中读取资源文件用ServletContext,在其它的程序中(class)使用类加载器的方式读取资源文件,但是读取资源文件的时候会有点问题,就是类加载器的加载的时候只加载一次,所以文件更新后的问题就出来了,文件更新后读取不到;阅读下面代码。。。
//以下这种方式通过类加载器获得资源文件的数据,但是类加载器只加载一次,所以就算文件更新了,但是读的还是内存中
//的数据,无法读取更新后的数据
/*InputStream in = UserDao.class.getClassLoader().getResourceAsStream("db1.properties");
Properties pro1 = new Properties();
pro1.load(in);
String url1 = pro1.getProperty("url");
System.out.println("url="+url1);
*/
//通过类加载器的方式得到资源文件位置,再通过传统方式获得文件数据,这样可以得到更新后的数据(更新后的数据指的是文件被修改了)
String path = UserDao.class.getClassLoader().getResource("db1.properties").getPath();
FileInputStream fis = new FileInputStream(path);
Properties pro = new Properties();
pro.load(fis);
重点还是类加载器的问题、、、、、、理解了类加载器就好办了、、、
作者:
黄文伯
时间:
2013-9-21 12:18
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2