一些路径问题
(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
一个小例子:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix