在jsp中获取项目根目录
<%=request.getContextPath()%>
${pageContext.request.contextPath}”的作用是取出部署的应用程序名 //EL表达式
JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI();
文件的绝对路径:application.getRealPath(request.getRequestURI());
当前web应用的绝对路径:application.getRealPath("/");
取得请求文件的上层目录:newFile(application.getRealPath(request.getRequestURI())).getParent();
Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径:request.getSession().getServletContext().getRealPath();
当前web应用的绝对路径:servletConfig.getServletContext().getRealPath("/");
图例:
System.err.println(request.getContextPath());// /diary2 System.err.println(request.getServletPath());// /login System.err.println(request.getRealPath("/"));// D:WebTest.metadata.me_tcat7webappsdiary2 System.err.println(request.getRequestURI());// /diary2/login System.err.println(request.getRequestURL());// http://127.0.0.1:8080/diary2/login
ServletContext对象获得几种方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()