文章目录

  • 1.访问路径的组成
  • 2.绝对路径
  • 3.相对路径
    • 3.1.以斜杠开头的相对路径
    • 3.2.以路径名称开头的相对路径
    • 3.3.总结
  • 4.前台路径问题举例
  • 5.后台路径问题举例
  • 6.以路径名称开头的相对路径举例

1.访问路径的组成

URL,统一资源定位符,用于定位资源的一种方式。 通常的 URL 资源访问路径由两部分
构成:资源路径资源名称 。资源名称指的是要访问资源的直接名称,如 show.html ,或与要访问资源存在映射关系的间接名称,如 show.do 。而资源路径,则是通过该路径则可以定位到指定的资源,即资源路径是指在 URL 资源访问路径中除了资源名称以外的其它部分。
根据以上规则,URI ,统一资源标识符,也可以分为资源路径与资源名称两部分。
一般情况下,在 URL 或 URI 中,最后一个斜杠后的部分为资源名称,而其它部分则为资
源路径。


根据“资源路径是否可以独立完成资源准确定位”的判别标准,可以将访问路径分为绝
对路径与相对路径。

2.绝对路径

绝对路径,是指根据给出的访问路径可以准确定位到资源的路径。例如,你要告诉对方
你现在的位置,你说:我现在在北京故宫游客 A 入口处。这就是个绝对地址,听者根据你所
述地址,可以准确的找到你。
而对于计算机中 Web 应用的绝对路径,则是指带访问协议的路径 ,即 URL 。 例如下面
的路径就是一个带有 http 访问协议的绝对路径。
http://127.0.0.1:8080/primary/index.jsp

3.相对路径

相对路径,是指仅根据访问路径无法准确定位资源的路径。 相对路径必须要结合其参照
路径才可组成可以准确定位资源的绝对路径。 参照路径的不同,所形成的可以准确定位资源的绝对路径也是不同的。在进行资源访问时,必须要将相对路径转换为绝对路径才可完成资源的准确定位。它们的关系如下:

绝对路径 = 参照路径 + 相对路径

例如,你要告诉对方你现在的位置,你说:我在人民公园的正门门口。这就是个相对地
址。因为很多城市都有人民公园,每个人民公园也都有正门。当对方不知道你在哪个城市时,他是无法准确定位你的。当然,你之所以不说是哪 个城市,是因为这里存在一个默认的参照路径:与听者在同一个城市。听者会将你所说的相对地址,自动转换为一个绝对地址:与听者在同一城市的人民公园正门门口。

在Web 应用中,浏览器或服务器会自动为不同的相对路径添加不同的参照路径,将相
对路径转换为绝对路径,以定位这个资源。作为程序员,必须要理解并掌握浏览器或服务器
为相对路径添加参照路径的规则,这样才能在编程时更为准确地书写相对路径。

相对路径的写法有两种:一种是以斜杠开头的相对路径,一种是以路径名称开头的相对
路径。 根据相对路径是否以斜杠开头,且路径出现的文件的不同 ,其默认的参照路径是不同的。 这是我们学习的重点,是路径问题中最容易出错的地方:确定相对路径的参照路径。

3.1.以斜杠开头的相对路径

以斜杠开头的相对路径,根据路径所在文件所处位置的不同,分为两种:前台路径与后
台路径。

  1. 前台路径
  • 所谓前台路径是指,由浏览器解析执行的代码中所包含的路径。例如, html 、 css 、 js 中的路径,及 jsp 文件中静态部分的路径( HTML 标签中的路径 )。 例如, html 及 jsp 文件中的<img src=''"/>、<a href=""></a>、<form action=""></form>等标签中的路径再如, css 文件中的 background:img("")( 等属性中的路径,js 文件中的 window.location.href="" 等属性中的路径 ,都属于前台路径。

  • 前台路径的参照路径是Web服务器的根路径,即 http://127.0.0.1:8080。

  • 将前台路径转换为绝对路径的工作,是由浏览器自动完成的。该路径的作用是要为用户提交对某种资源的请求,是要查找并定位服务器中的某资源。简单来说,前台路径的作用是“查找”。

  1. 后台路径
  • 所谓后台路径是指,由服务器解析执行的代码及文件中所包含的路径。例如, java 代码中的路径、jsp 文件动态部分( java 代码块)中的路径、 xml 等配置文件中的路径( 配置文件是要被 java 代码 解析后加载到内存的,其中的路径会出现在 Java 代码中 )等。

  • 后台路径的参照路径是 Web 应用的根路径 。如 http://127.0.0.1:8080/BookShop 。

  • 将后台路径转换为绝对路径的工作,是由服务器自动完成的。 该路径的作用是标识出该资源在服务器中的路径,以便客户端能够按照这个设定路径来查找相应资源。简单来说,后台路径的作用是“标识”。

  1. 后台路径特例
  • 对于后台路径的参照路径有一个特例:当代码中使用 response 的 sendRedirect() 方法进行重定向时, 若其参照路径是以斜杠开头,则其参照路径不是 web 应用的根路径,而是 web服务器的根路径。

3.2.以路径名称开头的相对路径

以路径名称开头的相对路径,无论是出现在前台页面 ,还是出现在后台 Java 代码或配置文件中 其参照路径都是当前访问路径的资源路径 。 即使是 response 的 sendRedirect() 方法的参数路径,若不以斜杠开头,其也属于以路径名称开头的相对路径”类,参照路径为当前访问路径的资源路径。

3.3.总结

4.前台路径问题举例

1.超链接例子:

项目名称:relativePath

在项目中添加图片资源:

定义 index 页面:

2.表单例子:
项目名称:relativePath2

定义 index 页面:

定义并注册 Servlet:

5.后台路径问题举例

1.配置文件中路径的分析
直接分析
relativePath2 项目的 web.xml 配置文件中对 SomeServlet 的注册,其中<url pattern/> 路径以斜杠开头,表示的意义。

2.Java代码中的路径分析
项目名称:relativePath3

定义并注册 SomeServlet:

定义并注册 OtherServlet:

3.特例举例
直接修改 relativePath3 项目中的 SomeServlet 的跳转方式。

6.以路径名称开头的相对路径举例

1.超链接例子
直接修改项目 relativePath 中的 index 页面,在其中添加如下内容:

2.表单例子
直接修改项目 relativePath2 中的 index 页面,,在其中添加如下内容:

3.Java代码中的路径问题
直接修改项目 relativePath3 中的 SomeServlet。

JavaWeb中访问路径问题相关推荐

  1. JavaWeb中绝对路径和相对路径

    以下是参考别人的博客做出的自我总结: 详情可参考https://www.cnblogs.com/jasonHome/p/5551358.html 1.绝对路径的问题 1)开发时建议编写"绝对 ...

  2. Java 中访问路径的问题

    在Java中路径分为绝对路径和相对路径 访问路径 通常访问路径也就是URL,统一资源定位符,URL由两部分组成资源路径和资源名称 资源名称也就是你要访问的路径,就比如我的image,我的image是访 ...

  3. IDEA 修改JavaWeb的访问路径

    问题描述        对于我这个刚刚使用IDEA不久的新手来说,能够正常运行就不错了,不过到了后面,可能会觉得IDEA给你分配的默认访问路径很不顺手,比如访问的时候需要通过: http://loca ...

  4. java css路径_java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?...

    ---------------------------------------------------------------------------------------------------- ...

  5. idea 启动php项目路径,关于idea中Java Web项目的访问路径问题

    说明 这里只以 servlet 为例,没有涉及到框架,但其实路径的基本原理和框架的关系不大,所以学了框架的同学如果对路径有疑惑的也可以阅读此文 项目结构 在 idea 中新建一个 Java Web 项 ...

  6. java web项目 相对路径怎么写_理解JavaWeb项目中的路径问题——相对路径与绝对路径...

    背景:html 在刚开始学习javaweb,使用servlet和jsp开发web项目的过程当中,一直有一个问题困扰着我:servlet 和 jsp 之间相互跳转,跳转的路径应该如何书写,才能正确的访问 ...

  7. Javaweb中上传图片,获取相对路径,绝对路径

    标题:Javaweb中上传图片,获取相对路径,绝对路径 实际上获取的是绝对路径,不过通过浏览器查看到的不会是绝对路径,而是被浏览器保护好,给你看到的一个假的路径,而我们要做的就是获取图片的名字即可,人 ...

  8. MyEclipse中怎么修改项目访问路径

    mye中和eclipse中修改路径还是有点不同的,现在就介绍一下Mye的修改方法.方便项目在浏览器中的访问. 1.打开Mye,找到你要修改的项目,左键点击后,点击右键,弹出属性,点击propertie ...

  9. java路径向上引用_关于javaweb中的绝对路径和相对路径(关于引用外部资源时的路径问题)...

    相信大家在写web项目时,对于外间资源的引用多多少少都会用到,而此时引用的路径就显得十分重要!(在跳转或者其它请求后页面样式得丢失便就是路径得问题) 在开始之前大家需要明白一点就是web项目创建的时候 ...

最新文章

  1. 【C#串口编程计划】通信协议解析 -- byte[]与常用类型的转换
  2. 实战 | 某小公司项目环境部署演变之路
  3. linux显示不在sudoers文件中,Ubuntu无法使用sudo提权提示当前用户不在sudoers文件中...
  4. 前端学习(1538):angular特性简介
  5. 学维修电脑要多久_开奶茶店要学多久?预算大概要多少?
  6. 飞天茅台也可以在天猫上购买了,售价1499元!
  7. Manage,管道的简单应用,进程池,队列的简单应用
  8. libkyototycoon.so.2: cannot open shared object file: No such file
  9. Weblogic 连接池的建立程序应用
  10. 老李推荐:第6章2节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-获取命令字串...
  11. 现在流行的画原型图工具_原型资源图:8种流行原型工具的综合指南
  12. 电脑重装系统后谷歌浏览器连不上网的解决方案
  13. python明文密文_python实现对输入的密文加密
  14. JEECMS V8.1常用标签举例
  15. 结合Delphi和Python的优势:使用Delphi VCL组件快速构建超现代的Python本机Windows GUI桌面酷炫用户界面应用
  16. 智慧教室解决方案-最新全套文件
  17. 祝大家新年快乐,鼠年平安健康、阖家幸福如意!
  18. RISC-V 指令详解
  19. 深度卷积神经网络的数字实现——二维卷积的纯数字电路实现(二)
  20. dubbo直连、只订阅、只注册

热门文章

  1. 模块说和神经网络学说_为什么都说神经网络是个黑箱?
  2. 工业互联网安全建设发展趋势
  3. 新手怎么开网店?如何做好淘宝店?
  4. 财政部会计司:XBRL基本知识
  5. 详谈为什么要写测试用例
  6. Onvif协议控制球机云台
  7. 音乐播放器歌词的逐字渲染效果
  8. Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)
  9. LeetCode1-540题汇总,希望对你有点帮助!
  10. RTC音视频是什么意思?即构RTC音视频有什么优势