关于servlet中properties配置文件的存放位置

∥☆過路亽.° 提交于 2019-12-03 11:31:30

    本人是新手,在自学java web,再做一个练手项目时,在properties配置文件具体存放位置遇到了问题,现已基本解决,分享一下解决办法,还请高手勿喷。

    在程序中载入properties配置文件时,我先在只知道两种办法:1.是利用servlet中的servletContext得到;2.是利用java类加载本地文件的方式得到。下面来具体说一下两种方法:


//1.  首先介绍利用servletContext的方法,这种方法可以直接将properties配置文件放在WebRoot目录下

//读取位于WebRoot中的userInfo.properties文件
//getResourceAsStream方法会以InputStream方式返回一个IO流
InputStream inputStream = this.getServletContext().getResourceAsStream("userInfo.properties");
//创建properties
Properties properties = new Properties();
properties.load(inputStream);
		
out.println("username " + properties.getProperty("username"));
out.println("password " + properties.getProperty("password"));


//2.  下面介绍一下利用java类加载本地文件的方式

//需要注意的是properties文件的存放位置,我是放在classpath中的,也就Tomcat 7.0\webapps\项目名称\WEB-INF\classes这个目录下面。需要在本地文件夹中手动存放,如果在编译器(我用的myeclipse)下面,是看不到这个目录的。

//再说一下加载方法:
InputStream in = getClass().getClassLoader().getResourceAsStream("userInfo.properties");
Properties properties = new Properties();
properties.load(in);


    我猜想是因为src的.java文件被编译到了class这个目录下,所以想要找到配置文件,还需要将配置文件放在classs目录下。也不知道对不对,还请高手解答。谢谢。

    文章补充:在过了将近一个月以后,学习到struts2的时候,在李刚编写的<轻量级Java EE企业应用实战 第二版>一书中,介绍了在“Eclipse生成、部署web项目时,会自动将src路径下除*.java外的所有文件都复制到web应用的classes路径下”,所以,我认为,关于property文件的存放位置,我们也可以使用该机制。直接在项目的src中新建property文件,这样项目部署的时候,就可以自动放在classes路径下,而不需要手动的配置了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!