当前位置: 首页 > news >正文

Web路径专题

文章目录

  • Web路径专题
    • 什么是路径?
      • 绝对路径
      • 相对路径
    • 如何使用路径?
      • 使用base标签
  • 注意事项
  • 小结

Web路径专题

在Web开发中,路径是一个非常重要的概念。路径用来定位资源的位置,包括文件、目录、网页等。在本文中,我们将介绍一些与Web路径相关的知识,包括绝对路径和相对路径。

什么是路径?

路径是用来指定资源在计算机文件系统中的位置的字符串。在Web开发中,路径通常用来定位网站上的文件或页面。路径可以分为绝对路径和相对路径两种类型。

一个非常重要的规则:页面所有的相对路径,在默认情况下,都会参考当前浏览器地址栏的路径 http://ip:port/工程名/ + 资源 来进行跳转

绝对路径

绝对路径是从根目录开始的完整路径,包括所有父级目录。例如,http://www.example.com/images/logo.png 是一个绝对路径。绝对路径通常用于指定外部资源的位置,比如引用其他网站上的图片或样式表。

相对路径

相对路径是相对于当前文件位置的路径。相对路径不包括根目录,只包括当前文件所在的目录及其子目录。例如,images/logo.png 是一个相对路径。相对路径通常用于引用同一网站内的资源。

如何使用路径?

在HTML和CSS中,我们经常需要使用路径来引用图片、样式表和脚本文件。以下是一些常见的使用路径的示例:

使用base标签

  1. base 标签是 HTML 语言中的基准网址标记,它是一个单标签,位于网页头部文件的 head
    标签内
  2. 一个页面最多只能使用一个 base 元素,用来提供一个指定的默认目标,是一种表达路
    径和连接网址的标记。
  3. 常见的 url 路径形式分别有相对路径与绝对路径,如果 base 标签指定了目标,浏览器
    将通过这个目标来解析当前文档中的所有相对路径,包括的标签有(a、img、link、form)
  4. 也就是说,浏览器解析时会在路径前加上 base 给的目标,而页面中的相对路径也都转
    换成了绝对路径。使用了 base 标签就应带上 href 属性和 target 属性

实例

<html lang="en">
<head>
<meta charset="UTF-8">
<title>b.html</title>
<!-- 解读
1. 如果没有<base href="http://localhost:10000/webpath/">
2. 当点击 返回 a.html 超链接,将会以当前浏览器的地址为路径来确定 路径
3. 如果增加了<base href="http://localhost:10000/hspedu_servlet/">
4. 将以 base 指定的 href 的地址为路径,来确定 超链接的路径
-->
<!--<base href="http://localhost:10000/webpath/">-->
<!--简写形式-->
</head>
<body>
<h1>这是/d1/d2/b.html</h1>
<a>返回 a.html~</a>
</body>
</html>

注意事项

  1. Web 工程的相对路径和绝对路径
    ● 相对路径是:
    ● .表示当前目录
    ● …表示上一级目录
    ● 资源名 表示当前目录/资源名
    ● 绝对路径: http://ip:port/工程路径/资源路径
  2. 在实际开发中,路径都使用绝对路径,而不是相对路径
  3. 在 web 中 / 斜杠 如果被浏览器解析,得到的地址是:http://ip[域名]:port/比如: <a
    href=“/”>斜杠</a>
  4. 在 web 中 / 斜杠 如果被服务器解析,得到的地址是:http://ip[域名]:port/工程路径/,
    你也可以理解成 /工程路径/ 下面的几种情况就是如此:
    ● <url-pattern>/servelturl</url-pattern>
    ● servletContext.getRealPath(“/”); ==> 是得到执行路径/工作路径
    ● request.getRequestDispatcher(“/”);
  5. 在 javaWeb 中 路径最后带 / 和 不带 / 含义不同, 一定要小心,
    比如:
    <a href=“/a/servlet03”>网址</a> servlet03表示资源
    <a href=“/a/servlet03/”>网址</a> : servlet03 表示路径
  6. 特别说明:重定向 response.sendRediect(“/”); 这条语句虽然是在服务器执行的,但是,服务器是把斜杠 / 发送给浏览器解析。因此得到地址 http://ip[域名]:port/

小结

在编写资源路径时: , 考虑这么几点
(1) 这个路径 前面有没有 /
(2) 这个路径 在哪里被解析 [服务器还是浏览器] , 如果前面有 / , 并且是在 浏览器被解析的 被解析成 http://ip:port/ , 如果在服务器端被解析 , 被解析成 /工程路径/
(3) 如果这个路径,前面没有 / , 并且在浏览器被解析,则以浏览器当前的地址栏去掉资源部分,作为一个相对路径.
(4) 这个路径,最后有没有 / , 如果最后有/ 表示路径, 如果没有 / 表示资源

http://www.lryc.cn/news/347361.html

相关文章:

  • 解决vue3项目打包后部署后某些静态资源图片不加载问题
  • 传感网应用开发教程--AT指令访问新大陆云平台(ESP8266模块+物联网云+TCP)
  • 项目提交到空的git仓库流程
  • 【Python】在Windows Server上部署Flask后端服务器
  • 机器学习作业4——朴素贝叶斯分类器
  • BUU-[GXYCTF2019]Ping Ping Ping
  • 代码随想录Day 41|Leetcode|Python|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
  • 【吴恩达机器学习-week2】多个变量的特征缩放和学习率问题
  • C#字符串的拼接
  • 哈希表Hash table
  • jdk8新特性----Lambda表达式
  • 在STM32中用寄存器方式点亮流水灯
  • TCP(TCP客户端、服务器如何通信)
  • pdf 文件版面分析--PyMuPDF (python 文档解析提取)
  • sql update 多表关联 inner join
  • 【OceanBase诊断调优】—— 租户资源统计项及其查询方法
  • 【一键录音,轻松转换:用Python打造个性化音频记录工具】
  • Java类与对象(一)
  • python中的装饰器,例子说明
  • Leetcode经典题目之用队列实现栈
  • DBSCAN聚类算法
  • 【tauri】安装
  • (Java)心得:LeetCode——19.删除链表的倒数第 N 个节点
  • 树莓派安装opencv
  • bert 的MLM框架任务-梯度累积
  • Nginx配置/.well-known/pki-validation/
  • iOS LQG开发框架(持续更新)
  • Python 自动化脚本系列:第3集
  • Matlab-粒子群优化算法实现
  • python 新特性