最近正在努力学习中。。。我会把我每天学到的知识上传到我的博客中,希望和大家交流,勿喷》、
首先要明白普通java项目跟服务器中的路径是不同的,普通java项目寻找路径直接写绝对路径就可以,但是服务器上的路径不能直接写你的eclips中的路径。
当你的servlet类编译以后,它会编译到你的tomcat文件夹下的webapps/projectName/WEB-INF/classes文件夹中。
可以使用ServletContext对象的getReSourceAsStream()方法获取一个文件输入流,配合Properties对象进行使用。
代码演示:--纯手写
在Servlet类中
//首先获取ServletContext对象
ServletContext servletContext = this.getServletContext();
//通过ServletContext调用getReSourceAsStream();传入一个路径
InputStream is = servletContext.getReSourceAsStream("/WEB-INF/classes/db.properties");
//创建Properties对象
Properties properties = new Properties();
properties.load(is);
//获取文件中的属性
String user = properties.getProperty("user");
String password = properties.getProperty("password");
//这样就可以读取到服务器中的文件了
System.out.println(user);
ServletContext对象还有另一个方法叫做getRealPath()方法,他会返回磁盘中的绝对路径。跟上个方法不同的是返回输入流对象。
//代码如下
//获取ServletContext对象
ServletContext servletContext = this.getServletContext();
String path = servletContext.getRealPath("WEB-INF/classes/db.properties");
Properties properties = new Properties();
properties.load(new FileInputStream(path));
System.out.println(properties.getProperty("username"));
java交流请加qq 839533677
原文地址:https://www.cnblogs.com/Hymen-/p/9043603.html