1、获取web系统根目录
String dirPath = request.getServletContext().getRealPath("/");
结果:
D:\Program Files (x86)\apache-tomcat-7.0.54-2014spring\webapps\webname\
2、获取类路径下的文件
(1)获取class目录(在web中好用,但打成jar包不能用)
String rootPath = TestController.class.getResource("/").getPath();
结果:
D:\Program Files (x86)\apache-tomcat-7.0.54-2014spring\webapps\webname\WEB-INF\classes\
(2)获取class目录文件输入流(在web和jar包都可以使用)
InputStream is = LoadForbiddenApiKey.class.getClassLoader().getResourceAsStream("properties/forbiddenapikeys.conf");
注:properties/forbiddenapikeys.conf放在classes目录下
完整代码如下:
Properties pro = new Properties();
InputStream is = LoadForbiddenApiKey.class.getClassLoader().getResourceAsStream("properties/forbiddenapikeys.conf");
try {
pro.load(is);
if(is != null){
is.close();
}
Params.FORBIDDEN_APIKEY.removeAll(Params.FORBIDDEN_APIKEY);
for (Enumeration<Object> keyEnum = pro.keys(); keyEnum.hasMoreElements();){
Params.FORBIDDEN_APIKEY.add(pro.getProperty((String) keyEnum.nextElement()));
}
} catch (IOException e) {
}
3、ServletContext对象获得几种方式:
(1)session中
Javax.servlet.http.HttpSession.getServletContext()
(2)request中
request.getServletContext()
(3)jsp中
Javax.servlet.jsp.PageContext.getServletContext()
(4)servletconfig中
Javax.servlet.ServletConfig.getServletContext()