1、在JSF环境中获取到ServletContext:
1 2 | ServletContext sc = (ServletContext)FacesContext. getCurrentInstance().getExternalContext().getContext(); |
2、servlet中获得项目绝对路径
1 2 | String filePath= this .getServletConfig(). getServletContext().getRealPath( "/" ); |
根目录所对应的绝对路径 request.getServletPath(); 文件的绝对路径 request.getSession().getServletContext().getRealPath(request.getRequestURI()) 当前web应用的绝对路径 servletConfig.getServletContext().getRealPath(“/”); 3、jsp中获取服务器路径
1 2 3 4 5 | 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 = http://localhost:8080/项目名称/ //获取的是服务的访问地址 4、ServletContext对象获得几种方式 1 2 3 | Javax.servlet.http.HttpSession.getServletContext() Javax.servlet.jsp.PageContext.getServletContext() Javax.servlet.ServletConfig.getServletContext() |
文件的绝对路径
request.getSession().getServletContext().getRealPath(request.getRequestURI()) 当前web应用的绝对路径 servletConfig.getServletContext().getRealPath(“/”);