一、概述  

  无论是做网页,还是WEB系统,我们都会用到链接,图片,文件的地方,这些地方都涉及到路径的问题,例如:background-image:url();这一CSS样式,而url()的定义方式有两种,一种是绝对路径,一种是相对路径,我们平时在写网页用到最多的是相对路径,这篇文章主要介绍的是绝对路径和相对路径在项目中的应用,这里有人会说相对路径更利于项目的移植和部署,那么我们为什么还要用到绝对路径呢?以下做简要介绍与分析:

二、什么是绝对路径

   绝对路径是指文件在硬盘上真正存储的路径。比如我们在D盘里的images文件夹下存了一张图片logo.png,那么这个图片的绝对路径就是D:\images\logo.png。所以我们在使用绝对路径指向该图片的时候的语句应该为:

  background-image:url("D:\images\logo.png");

  在我们实际编程中我们很少会用到绝对路径,因为本地电脑上的图片的当前位置,很可能在传输到WEB服务器上发生改变,举个简单的例子,假如你得项目文件夹在本地C盘,此时你定义了一个背景图的路径,C:\demo\images\logo.png,此时你把项目整体移动到D盘此时该图片的真正路径为D:demo\images\logo.png,而根据原路径是找不到的。

  

三、什么是相对路径:

  相对路径是指,相对于本文件的目标文件的位置。相对路径可以避免在项目整体目录改变时,绝对路径找不到的问题。相对路径有以下几种情况:

  (1)本文件与目标文件在同一根目录下,例如:demo.html与logo.png在同一目录下:

    

    这时指向logo的相对路径为:background-image:url(logo.png);

    

  (2)本文件与目标文件的上级目录在同一根目录下,例如demo与image在同一目录下,logo在image文件夹内:

      

    这时指向logo的相对路径为:background-image:url(image/logo.png);

  (3)本文件的上级目录与目标文件的上级目录在同一根目录下,例如:demo.html在html文件夹下,logo在image下:

    

    这时指向logo的相对路径为:background-image:url(../image/logo.png); 这里的../是指向上一级目录,如果你的本文件在第2层目录下用../../去找,依次类推在n层就用n个../。  

四、绝对路径与相对路径的优缺点及使用的地方

  1、绝对路径的优点:

    如果网页位置改变,里面的链接还是指向正确的URL。

  2、绝对路径的缺点:

   在编码编写时不方便使用绝对路径,因为链接应该指向真正的域名而不是开发站点。

  3、相对路径的优点:

  A、容易移动内容,可以整个目录移动。

  B、测试方法比较灵活,本机测试时比较方便。

  4、相对路径的缺点:

    A、部分内容页面换了位置时,链接容易失效。

  B、容易被人大面积采集抄袭。

  结合实际情况,我在项目进行的过程中,分别编写了两个提示页面,一个是无权限访问页,一个是未登录或登录超时页面,这两个页面的跳转地址不固定,尤其是无权限访问页,跳转地址变化非常大,网页内图片不能显示,这时就需要用到绝对路径了,但是为了项目的正常运行绝对路径不能写死(这里有的人叫做相对虚拟目录,其实就是绝对路径的原理),我用JS取值:

//获取项目路径
var contextPath = "${pageContext.request.contextPath}";//  将   项目路径   与   相对虚拟目录   拼接成绝对路径
var url = contextPath + "/images/logo.jpg";//给元素URL赋值
$("元素").css("background-image","url(" + url + ")");

  这样无论我们项目部署在哪或者是访问地址如何改变,访问路径都能正确的指向我们想要的url,解决了我们所说的项目移植等问题。

转载于:https://www.cnblogs.com/shazhou-blog/p/5182895.html

关于url路径的定义方式相关推荐

  1. Django 基础(6)-路由Routers-SimpleRouter-DefaultRouter、 action装饰器、URL路径参数

    文章目录 一.路由Routers 工作常见问题总结 提交表单报错:RuntimeError: You called this URL via POST, but the URL doesn't end ...

  2. 简述css属性选择器的几种定义方式_CSS基础试题

    一.单选题 1.CSS是利用(  B   )XHTML标签构建网页布局. A. C.       D. 2.在CSS语言中下列哪一项是"左边框"的语法(  C  ) A.borde ...

  3. ANSYS——初学路径之路径的定义、作用以及ansys路径模块GUI的操作解释

    目录 一.路径的定义 二.路径的作用 三.路径GUI相关操作面板解释 1.路径的定义 2.删除路径 3.路径的绘制与切换 4.路径求解项的设置(即映射) 5.路径结果的绘制展示 6.不知道的两项? 7 ...

  4. 修改goods对ECshop的url路径进行优化

    首先我们找到ecshop并打开include/lib_common.php,找到文件中的build_uri函数.找到下面这样的代码. case 'goods': if (empty($gid)) { ...

  5. 基于域名或URL路径进行转发

    基于域名或URL路径进行转发 更新时间:2020-08-18 09:07:49 编辑我的收藏 本页目录 域名或URL路径转发 添加域名或URL路径转发策略 编辑转发策略 删除转发策略 负载均衡支持配置 ...

  6. 网站SEO域名、URL路径优化

    网站SEO域名.URL路径优化http://www.seodt.org/498.html 对SEO新手来说,觉得网站站内优化没有多大必要性,SEO基础教程太原SEO数据处理技术团队与大家进行分享一下, ...

  7. http/https服务器安全:嗅探漏洞url路径

    简介 这里记录一下我知道的一些经常被黑客嗅探的路径. 1.有些可能是正常路径,比如:GET /robots.txt 2.有些是需要加入安全策略的路径,比如:GET /phpMyAdmin/index. ...

  8. 做好URL路径优化,帮你快速实现网站排名

    对于我们的网站来说,网站的路径很重要,相当于我们回家的路.其是否简短,不仅能节约蜘蛛抓取的时间,更有利于打开速度,同时也有利于让用户记忆,方便用户打开.当然,一个简短的路径对于我们的排名很重要. 对于 ...

  9. python私有属性怎么定义_Python中私有属性的定义方式

    Python没有类似于Java的private关键字, 但也可以为类定义私有属性. 只需将属性命名变为以__开头, 例如 __field. 示例代码: class Vector2D(object): ...

最新文章

  1. HDU2544最短路---(Dijkstra)
  2. [html] 举例说明html的修饰元素有哪些?
  3. Audio-based snore detection using deep neural networks解读
  4. 【OpenCV 例程200篇】81. 频率域高斯低通滤波器
  5. linux 驱动基础知识(2)---设备树
  6. mysql 最左_mysql索引最左匹配原则
  7. 盛大“传奇”的网游启示录
  8. 【项目总结】订单性质识别
  9. 器械传递的方法_天津304不锈钢传递窗报价_碧海云天
  10. windows10 显示实时网速
  11. Html网页设计-动漫网站设计
  12. 18种证明公安部门不再开具应该找谁开
  13. 面试官:说说你对SPA(单页应用)的理解?
  14. red linux更换显卡,转:Linux(centos6.0/redhat) 安装 ATI / Nvidia 显卡驱动
  15. No.476 数字的补数
  16. mysql导入oracle dmp文件_Oracle:记一次导入dmp文件
  17. VS2017的C++开发心得(五)项目开发的文件夹管理
  18. 海康威视python实习生面试
  19. EBS创建会计科目请求报错问题查询
  20. 用傅里叶卷积实现万物隐身!三星这个LaMa神器可试玩!

热门文章

  1. DE19 Introduction to the Laplace Transform
  2. 3.7.4 - Indexing and Slicing Strings
  3. MATLAB关于Mesh的相关命令
  4. 创建窗口,输入一个无符号整数,输出其对应的二进制数
  5. BorderLayout布局管理器设置3个按钮
  6. linux 修改php配置,PHP部署时的几个配置修改说明
  7. java. tcp. 权限,java - tcpdump的不能够写PCAP文件。没有权限 - SO中文参考 - www.soinside.com...
  8. indigo中用roslaunch启动RViz观察机器人模型
  9. java cookie共享_cookie共享
  10. 随机森林算法入门(python)