javaweb项目读取本地配置文件.properties,都是通过在项目发布后在tomcat中的相对路径获取的,根据路劲不同大致分为以下三种情况。
主要用到的Api有getServletContext()返回一个ServletContext对象,再根据这个对象的getResourceAsStream(String path)获取对应的文件路径,然后进行读取。
一、 src目录下的配置文件
src在被发布到tomcat中的路径为/WEB-INF/classes/xxx.properties,所以我们在写路径的时候先写一个“/”表示当前项目名称,后面就是其在tomcat中对应该项目下的具体路劲。
ServletContext servletContext = getServletContext();
/**
* src目录下
*/
InputStream inputStream = servletContext.getResourceAsStream("/WEB-INF/classes/db.properties");
Properties properties = new Properties();
properties.load(inputStream);
String db_driver = properties.getProperty("db_driver");
String db_url = properties.getProperty("db_url");
System.out.println(db_driver);
System.out.println(db_url);
二 包名路径下的配置文件
这个和src类似,就是在classes目录下多了对应的包名路径
ServletContext servletContext = getServletContext();
/**
* 包路径下
*/
InputStream inputStream = servletContext.getResourceAsStream("/WEB-INF/classes/com/jrt/test/db.properties");
Properties properties = new Properties();
properties.load(inputStream);
String db_driver = properties.getProperty("db_driver");
String db_url = properties.getProperty("db_url");
System.out.println(db_driver);
System.out.println(db_url);
三 Webroot目录下的配置文件
这个更简单,就是相对于“/”(项目名称)的相对路径
ServletContext servletContext = getServletContext();
// servletContext.getRealPath("/db.properties");获取web 项目中的绝对路径
/**
* Webroot目录下
*/
InputStream inputStream = servletContext.getResourceAsStream("/db.properties");
Properties properties = new Properties();
properties.load(inputStream);
String db_driver = properties.getProperty("db_driver");
String db_url = properties.getProperty("db_url");
System.out.println(db_driver);
System.out.println(db_url);
总结:
其实只要你对项目发布到tomcat中的路劲足够熟,这东西应该很好写。
学一点,总结一点,每天都要进步一点。