绝对路径与相对路径

时间:2024-01-25 18:06:57

绝对路径:在web应用中的绝对路径,就是带访问协议的路径。例如下面路径就是一个绝对路径。http://127.0.0.1/primary/index.html

相对路径:仅仅根据相对路径是无法准确的定位访问资源的路径,相对路径必须结合参考路径才能确定访问资源的路径,下面有一个公式

      资源路径=参考路径+相对路径

    注意:在web应用中相对路径根据是否以“/”开头已经出现在文件的位置,其默认的参照路径是不同的,下面我们说一说默认的参考路径

(1)以斜杠“/”开头的路径

    A:前台路径

      所谓前台路径,指的是由浏览器解析执行的代码中所包含的路径。例如:html,css,js中的路径以及jsp中静态部分的路径像<img src=" "> <a href=""> </a> <form     action=""></from>等

    前台路径默认参考路径是web服务器的根,即http://127.0.0.1:8080/

 

    B:后台路径

      所谓后台路径指的是服务器解析的代码和文件中所包含的路径,例如:java代码中的路径,jsp动态部分(java代码块),xml文件中的路径等

     后台路径默认参考的路径是web应用的根路径。例如:http://127.0.0.1:8080/primary/

    C:后台路径的特例

      对于后台路径有一个特例,当代码中使用response的sendRedirect()方法进行重定向,其参考的路径不是web应用的根路径,而是web服务器的根

      例如:执行一个response.sendRedirect("/show.html");则会报404错误。因为其参考路径是Tomcat的根,而非当前项目的根,所以若要使用重定向要么写无斜杠“/”的相                   对路径response.sendRedirect("show.html");

      要么在路径上添加项目名称:response.sendRedirect(request.getContextPath+"show.html");

(2)不以斜杠“/”开头的相对路径

    不以斜杠“/”开头的相对路径,无论是前台路径,还是后台路径,其参照路径都是当前资源的访问路径,而不是当前资源的保存路径

 

 

由于个人水平有限,写作经验不足,如有错误的地方,欢迎批评指正!