web里的路径获取方法总结

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() 

你可能感兴趣的:(Web)