一些路径问题


(1)$


参考链接:https://www.cnblogs.com/zshibo/p/8011514.html

${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)request.getRequestURL()


  • request.getRequestURL() 返回全路径

  • request.getRequestURI() 返回除去host(域名或者ip)部分的路径

  • request.getContextPath() 返回工程名部分,如果工程映射为/,此处返回则为空

  • request.getServletPath() 返回除去host和工程名部分的路径

例如:

request.getRequestURL() http://localhost:8080/jqueryLearn/resources/request.jsp
request.getRequestURI() /jqueryLearn/resources/request.jsp
request.getContextPath()/jqueryLearn
request.getServletPath()/resources/request.jsp




4)classpath


  • classpath是类加载时的路径,当我们通过java 类名称来执行一个java类时,此时就启动了Java虚拟机来解释所需要执行的.class文件,Java虚拟机是通过classpath属性配置的路径来找到所需要解释的.class文件的,默认情况下,classpath都表示当前目录,比如当前目录在D盘,那么classpath就是表示此时在D盘,不会在C盘,E盘。

参考链接:https://www.cnblogs.com/tjava/p/13665926.html


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

参考链接:https://www.cnblogs.com/wangenxian/p/10926317.html


一个小例子:


posted @   卡卡发  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示