JAVA获取服务器路径的方法
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(“/”);