荐 相对路径和绝对路径详解
程序员文章站
2022-03-12 18:45:24
相对路径例子绝对路径例子给客户端浏览器使用给服务器使用相对路径不以斜杠/开头。以点.开头的路径。比如./:当前目录../:后退以及目录既不以/开头,也不以./开头的路径,默认为./开头,比如xxx等价于./xxx通过相对路径不可以确定唯一资源例子先看我们的项目目录接口,有2个页面,a.html和b.html,不在同一级目录,还有一个资源是/demo4a.html的代码为
相对路径
不以斜杠/开头。以点.开头的路径。比如
- ./:当前目录
- ../:后退以及目录
- 既不以/开头,也不以./开头的路径,默认为./开头,比如xxx等价于./xxx
通过相对路径不可以确定唯一资源
例子
先看我们的项目目录接口,有2个页面,a.html和b.html,不在同一级目录,还有一个资源是/demo4
a.html的代码为
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>a</title> </head> <body> <h1>这是a</h1> <h3>a的路径为http://localhost:8080/bServlet/a.html</h3> <a href="demo4">相对路径到demo4</a><br> <a href="./demo4">相对路径到demo4</a><br> <a href="http://localhost:8080/bServlet/demo4">绝对路径到demo4</a> </body> </html>
b.html的代码为
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>b</title> </head> <body> <h1>这是b</h1> <h3>b的路径为http://localhost:8080/bServlet/html/b.html</h3> <a href="../demo4">相对路径到demo4</a><br> </body> </html>
资源/demo4的代码为
package com.lingaolu.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import java.io.IOException; /** * @author 林高禄 * @create 2020-07-07-16:46 */ @WebServlet(value="/demo4") public class ServletDemo4 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doGet.....demo4."); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost......demo4"); } }
启动访问
从上面可以知道
- /demo4的全路径为http://localhost:8080/bServlet/demo4
- a.html的全路径为http://localhost:8080/bServlet/a.html
- b.html的全路径为http://localhost:8080/bServlet/html/a.html
所以,对本次例子来说:
- a.html相对路径访问/demo4的时候,可以是./demo4也可以是demo4,因为demo4也会被转为./demo4
- a.html绝对路径访问/demo4的时候,是http://localhost:8080/bServlet/demo4
- b.html相对路径访问/demo4的时候,因为b.html和/demo4不在同一层路径目录,而b.html的上一层html和/demo4才在同一层目录,所以b.html相对路径访问/demo4是../demo4,(../表示返回上一层)
以上a.html和b.html的所以a标签都能访问到资源/demo4
绝对路径
以斜杠/开头的路径,比如
- /xxx
通过绝对路径可以确定唯一资源
绝对路径规则,看需不需要加虚拟目录
- 给客户端浏览器使用,需要加虚拟目录
- 给服务器使用,不需要加虚拟目录
例子
给客户端浏览器使用
比如Response重定向详情,因为重定向是多次请求,每次请求都是返回给客户端重新请求的,所以需要加虚拟路径
给服务器使用
比如Request请求转发详解,因为请求转发是服务器内部的转发,只请求一次,所以不需要加虚拟路径
本文地址:https://blog.csdn.net/lgl782519197/article/details/107254789
上一篇: 设计模式之享元模式
下一篇: 网络编辑需要认知和了解什么?