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

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

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


//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目录下。也不知道对不对,还请高手解答。谢谢。 app

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

相关文章
相关标签/搜索