绝对路径就是完整路径
比如,D:\Windows\System32\
以\\?\开头的路径
还不知道这种命名方式是什么,反正绝对路径也可以用它来表示,比如,\\?\C:Windows\System32\
相对路径
比如使用cd命令进入一个文件夹,那么这个文件夹就成为当前文件夹(工作文件夹)。如果在进程操作文件时传递一个相对路径,那么进程会将当前文件夹的路径与这个相对路径合并,得到一个完整路径。
相对路径格式如下,Windows\System32\。
要注意的是相对路径开头不能有\,有\是另一种路径。
以\开头的路径
相当于当前文件夹根目录的路径
例如当前文件夹是C:Windows,那么\System32\就表示C:\System32\。无论当前文件夹的路径有多深,只取根目录进行合并。对于SpringBoot项目是当前项目(有时可能是项目所在盘)。
.\的表示
./src/ 当前目录中的src文件,./对于SpringBoot项目是就是这个项目
../src/ 当前目录的上一级目录中的src文件夹
/src/ 项目根目录(可以指磁盘这种根目录,也可以指项目根目录,SpringBoot项目的话就是项目)
PS
Unix使用/作为路径分隔符,而Windows使用反斜杠\,但是目前Windows下两种都可以。
java中路径的书写
Javaweb路径书写
java中各种获取路径方法
${}
获得工程名——/工程名,/表示localhost:8080/;等价于<%=()%>.
把一个相对路径解析为绝对路径:(String str),但已过
可替换的方法:().getServletContext().getRealPath(String str)
在XxxServlet里面用(“/“):获取项目根路径,得到的应该是项目所在目录,如,D:/Eclise/myprojects/market2
例如:位于C:/tomcat 6.0/webapps/root/下,在该目录下写一个.jsp文件:
ServletContext context=getServletContext();
(""); //C:/tomcat 6.0/webapps/root/
<a href="${}/student/">添加学生</a>
相当于在网址栏上刷新之前的路径换成localhost:8080/工程名/student/,访问这个路径会被后台拦截并分发到RequestMapping为/student/preSave的Controller处理。
这种获取绝对路径的方法是为了防止相对路径有时会出现嵌套、重复等访问失灵情况。
代码实例:SpringMvc02/WebContent/WEB-INFO/jsp/student/
classpath根目录
maven项目中为src/main/java、resources和webapp。
具体参见笔记:classpath根目录