绝对路径

  • 绝对路径就是完整路径
  • 比如,D:\Windows\System32\calc.exe

    以\\?\开头的路径

  • 还不知道这种命名方式是什么,反正绝对路径也可以用它来表示,比如,\\?\C:Windows\System32\calc.exe

    相对路径

  • 比如使用cd命令进入一个文件夹,那么这个文件夹就成为当前文件夹(工作文件夹)。如果在进程操作文件时传递一个相对路径,那么进程会将当前文件夹的路径与这个相对路径合并,得到一个完整路径。
  • 相对路径格式如下,Windows\System32\calc.exe。
  • 要注意的是相对路径开头不能有\,有\是另一种路径。

    以\开头的路径

  • 相当于当前文件夹根目录的路径
  • 例如当前文件夹是C:Windows,那么\System32\calc.exe就表示C:\System32\calc.exe。无论当前文件夹的路径有多深,只取根目录进行合并。对于SpringBoot项目是当前项目(有时可能是项目所在盘)。

    .\的表示

  • ./src/ 当前目录中的src文件,./对于SpringBoot项目是就是这个项目
  • ../src/ 当前目录的上一级目录中的src文件夹
  • /src/ 项目根目录(可以指磁盘这种根目录,也可以指项目根目录,SpringBoot项目的话就是项目)

    PS

  • Unix使用/作为路径分隔符,而Windows使用反斜杠\,但是目前Windows下两种都可以。

    java中路径的书写

  • Javaweb路径书写
  • java中各种获取路径方法

    ${pageContext.request.contextPath}

  • 获得工程名——/工程名,/表示localhost:8080/;等价于<%=request.getContextPath()%>.
  • 把一个相对路径解析为绝对路径:request.getRealPath(String str),但已过
  • 可替换的方法:request.getSession().getServletContext().getRealPath(String str)
  • 在XxxServlet里面用this.getServletcontext.getRealPath(“/“):获取项目根路径,得到的应该是项目所在目录,如,D:/Eclise/myprojects/market2
  • 例如:exper.tx位于C:/tomcat 6.0/webapps/root/下,在该目录下写一个.jsp文件:

    ServletContext context=getServletContext();
    context.getRealPath("exper1.txt"); //C:/tomcat 6.0/webapps/root/exper1.txt
    
    添加学生
    
  • 相当于在网址栏上刷新之前的路径换成localhost:8080/工程名/student/preSave.do,访问这个路径会被后台web.xml拦截并分发到RequestMapping为/student/preSave的Controller处理。
  • 这种获取绝对路径的方法是为了防止相对路径有时会出现嵌套、重复等访问失灵情况。
  • 代码实例:SpringMvc02/WebContent/WEB-INFO/jsp/student/list.jsp

    classpath根目录

  • maven项目中为src/main/java、resources和webapp。
  • 具体参见笔记:classpath根目录