相对路径:
1.相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。
2.相对路径,是指仅根据访问路径无法准确定位资源的路径。相对路径必须要结合其参照路径才可组成可以准确定位资源的绝对路径。
3.相对路径又分为以斜杆开头的路径和不以斜杆开头的路径,根据路径所在文件所处位置的不同,分为两种:前台路径与后台路径。
(1)所谓前台路径是指,由浏览器解析执行的代码中所包含的路径。例如,html、css、js中的路径,及 jsp 中静态部分的路径。像 html 及 jsp 中的静态部分中的<img src=" "/>、<a href=" "></a>、<form action=" "></form>等;像 css 中的 background:img("")等;像 js 中的window.location.href=" "等,都属于前台路径。前台路径的参照路径是 Web 服务器的根路径,即 http://127.0.0.1:8080/
(2) 所谓后台路径是指,由服务器解析执行的代码及文件中所包含的路径。例如,java 代码中的路径、jsp 文件动态部分(java 代码块)中的路径、xml 文件中的路径(xml 文件是要被java 代码加载入内存,并由 java 代码解析的)等。后台路径的参照路径是 Web 应用的根路径。如 http://127.0.0.1:8080/primary/ primary是Web应用的项目名。
(3)后台路径特例
对于后台路径的参照路径有一个特例:当代码中使用 response 的 sendRedirect()方法进行重定向时,其参照路径不是 web 应用的根路径,而是 web 服务器的根路径。例如,执行 response.sendRedirect(“/show.jsp”);将会报 404 错误。因为其参照路径是Tomcat 的根,而非当前项目的根。所以若要使用重定向,要么写为无斜杠的相对路径(参照的是当前资源的访问路径):response.sendRedirect(“show.jsp”);要么写在路径上添加上项目名称:response.sendRedirect(request.getContextPath + “/show.jsp”);
(4)不以斜杠开头的相对路径
不以斜杠开头的相对路径,无论是前台路径,还是后台路径,其参照路径都是当前资源的访问路径,而不是当前资源的保存路径。
(5)当前资源路径
当前路径是指比如在servlet文件包package下的路径。