一些路径问题



(1)${pageContext.request.contextPath}


参考链接:

${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%>

比如我的项目名称是demo1,在浏览器中输入为http://localhost:8080/demo1/a.jsp
${pageContext.request.contextPath}或<%=request.getContextPath()%>取出来的就是/demo1,而"/"代表的含义就是http://localhost:8080
故有时候项目中这样写${pageContext.request.contextPath}/a.jsp




(2)request.getSession().getServletContext().getRealPath()


  • 通常我们可以通过request.getSession().getServletContext().getRealPath()来获取网站的物理路径。

  • 假设我们访问http://localhost:8080/myWeb/test.jsp,那么从这个URL地址中我们看到整个的项目名叫myWeb

  • 例如myWeb项目的物理路径被配置在E:/aaa下,那么我们使用getRealPath()得到的就是“E:/aaa”

  • getRealPath("/upload")也可以有参数,作用就是获取在项目根路径下的子文件夹的物理路径。即E:/aaa/upload。




3)classpath


classpath是指 WEB-INF文件夹下的classes目录

参考链接:


一个小例子:


相关