//1、在JSF环境中获取到ServletContext:
ServletContext sc = (ServletContext)FacesContext.
getCurrentInstance().getExternalContext().getContext();
//2、servlet中获得项目绝对路径
String filePath=this.getServletConfig().
getServletContext().getRealPath("/");
//根目录所对应的绝对路径
request.getServletPath();
//文件的绝对路径
request.getSession().getServletContext().getRealPath(request.getRequestURI())
//当前web应用的绝对路径
servletConfig.getServletContext().getRealPath(“/”);
//3、jsp中获取服务器路径
String contextPath = request.getContextPath();
String realPath = request.getSession().
getServletContext().getRealPath("/");
String basePath = request.getScheme()+"://"+request.getServerName()+":"+
request.getServerPort()+contextPath+"/";
//说明:
contextPath =”/项目名称”; //获取的是项目的相对路径
realPath = F:\tomcat_home\webapps\项目名称\ //获取的是项目的绝对路径
basePath = https://localhost:8080/项目名称/ //获取的是服务的访问地址
//4、ServletContext对象获得几种方式
Javax.servlet.http.HttpSession.getServletContext()
Javax.servlet.jsp.PageContext.getServletContext()
Javax.servlet.ServletConfig.getServletContext()
//文件的绝对路径
request.getSession().getServletContext().getRealPath(request.getRequestURI())
//当前web应用的绝对路径
servletConfig.getServletContext().getRealPath(“/”);