//1.创建属性对象
Properties properties = new Properties();
//2.指定载入的数据源
/**
* 此处,如果想获得web工程下的资源,用普通的FileInputStream写法是不行的
* 因为路径不对了。这里相对的路径其实是根据jre来确定的。但是我们这个是web工程
* jre后面会由tomcat管理,所有这里真正相对的路径是tomcat的bin目录
*/
InputStream is = new FileInputStream("src/config.properties");
properties.load(is);
所以想要获取web工程下的资源 有以下两种方法:
//1.创建属性对象
Properties properties = new Properties();
//获取该java文件的class,然后获取到加载这个class到虚拟机中的那个类加载器对象。
/**
* 相对谁?
* ClassLoader
* D:\Apache\apache-tomcat-7.0.85\wtpwebapps\Demo03\WEB-INF\classes
*
* 默认的ClassLoder的路径是上面的这个路径,我们必须回到Demo03这个目录下才能进去file目录
* ../../file/config.properties即可
*
* 文件路径
* D:\Apache\apache-tomcat-7.0.85\wtpwebapps\Demo03\file\config.properties
*
*/
InputStream is = this.getClass().getClassLoader().getResourceAsStream("../../file/config.properties");
properties.load(is);
//获取ServletContext对象
ServletContext context = getServletContext();
//1.创建属性对象
Properties properties = new Properties();
//获取web工程下打的资源,转化为流对象。前面隐藏当前工程的根目录。
/**
* 相对路径:
* 有参照物 相对谁?
* 相对工程在tomcat里面的根目录D:\Apache\apache-tomcat-7.0.85\wtpwebapps\Demo03
* 与\file\config.properties拼起来就好。
* 绝对路径:
* 无参照物
* D:\Apache\apache-tomcat-7.0.85\wtpwebapps\Demo03\file\config.properties
*/
InputStream is = context.getResourceAsStream("file/config.properties");
properties.load(is);