Java 中访问路径的问题

在Java中路径分为绝对路径和相对路径

访问路径
通常访问路径也就是URL,统一资源定位符,URL由两部分组成资源路径和资源名称

在这里插入图片描述

资源名称也就是你要访问的路径,就比如我的image,我的image是访问的控制器的一个方法再由控制器方法转跳到页面
资源路径就是出去你的资源名称之后剩下的路径
由此类推URI

在这里插入图片描述

不管URL还是URl,资源名称都是以最后一个斜杠为分界线,前面的是资源路径,后面的是资源名称

绝对路径
绝对路径,是指根据给出的访问路径可以准确定位到资源的路径
而对于计算机中 Web 应用的绝对路径,则是指带访问协议的路径,即 URL。例如下面的路径就是一个带有 http 访问协议的绝对路径。
如下
http://localhost:8086/springstudy/image

相对路径

对于相对路径来说分为以/开头的相对路径和不以/开头的相对路径,方式不同所用到的参照物也不相同

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

A前台路径

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

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

前台路径的参照路径是当前web服务器的根路径,也就是http://localhost:8086

B后台路径

所谓后台路径是指,由服务器解析执行的代码及文件中所包含的路径。例如,java 代码中的路径、jsp 文件动态部分(java 代码块)中的路径、xml 等配置文件中的路径(配置文件是要被 java 代码解析后加载到内存的,其中的路径会出现在 Java 代码中)等。后台路径的参照路径是 Web 应用的根路径。
如 http://localhost:8086/springstudy。

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

C 后台路径特例

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

例如,执行 response.sendRedirect(“/show.jsp”);将会报 404 错误。因为其参照路径是Tomcat 的根,而非当前项目的根。所以若要使用重定向,就需要在路径上添加上项目名称:response.sendRedirect(request.getContextPath + “/show.jsp”);为什么这里是特例?因为 sendRedirect()方法可以重定向到其它应用,若不指定要跳转的应用,其将无法确定跳转方向。

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hashcode、equals

一、hashcode是什么&#xff1f; 1、hash和hash表是什么&#xff1f; 想要知道这个hashcode&#xff0c;首先得知道hash&#xff0c;通过百度百科看一下 hash是一个函数&#xff0c;该函数中的实现就是一种算法&#xff0c;就是通过一系列的算法来得到一个hash值&#xff0…

word怎么设置页码为第几页共几页

1.首先在WORD文档中编辑好你的文档内容&#xff1b; 2.点击插入中的页眉&#xff08;或页脚&#xff09;&#xff0c;选择“空白内容”&#xff0c;出现[在此处键入]。如下面图片所示内容&#xff1b; 3.在[在此处键入]中输入第页&#xff0c;共页&#xff1b;&#xff08;[]…

Tue Jun 15 16:18:44 CST 2021 There was an unexpected error (type=Bad Request, status=400). Validatio

异常&#xff1a; 原因&#xff1a;点击链接&#xff0c;链接后边的参数值为null&#xff0c;controller中接受的对象不能接受到 id的值为null&#xff0c;不能封装到对象中 解决&#xff1a;

OS复习——设备管理习题

OS复习——设备管理习题 在I/O系统中引入缓冲的主要原因是什么&#xff1f;某文件占10个磁盘块&#xff0c;现要把该文件的磁盘块逐个读入主存缓冲区&#xff0c;并送用户区进行分析。一个缓冲区与磁盘块大小相等。把一个磁盘块读入缓冲区的时间为100μs&#xff0c;缓冲区数据…

职中心得体会300字高一计算机,职业高中毕业的自我鉴定范文300字

职业高中毕业的自我鉴定范文300字自我鉴定就是把一个时段的个人情况进行一次全面系统的总结&#xff0c;自我鉴定可以让我们对自己有个正确的认知&#xff0c;不如立即行动起来写一份自我鉴定吧。我们该怎么去写自我鉴定呢&#xff1f;下面是小编精心整理的职业高中毕业的自我鉴…

软件测试——语句覆盖

语句覆盖 一、定义&#xff1a; 程序中每一个语句至少能被执行一次 二、特点&#xff1a; 1、程序中每一个语句执行一次 2、对程序执行逻辑的覆盖率低&#xff0c;属于最弱的覆盖方式 3、无需测试程序的分支情况 4、无需测试程序分支判断的输入值以及输入值的组合 5、无需测试…

网络服务器最基本的是文件,你可能想知道的15个网络常用基础知识

原标题&#xff1a;你可能想知道的15个网络常用基础知识网络是一个复杂的系统&#xff0c;涉及知识很多。现在腾正小超人给大家分享15个常用的网络基础知识&#xff1a;1) 如何查看本机所开端口用netstat -a —n命令查看!再stat下面有一些英文&#xff0c;我来简单说一下这些英…

csdn如何插入多列表格?

csdn如何插入多列表格&#xff1f; 问题&#xff1a;点击插入表格只能插入两列 问题效果图&#xff1a; 如果我们想插入自己想要的表格效果该如何处理呢&#xff1f;首先可以百度Markdown 编辑器语法进行相关研究&#xff08;由于自己基础薄弱&#xff0c;所以我就偷个懒&am…

反编译后怎么修改服务器地址,反编译后怎么修改服务器地址

反编译后怎么修改服务器地址 内容精选换一换业务接入DDoS高防后&#xff0c;经过高防转发的流量到服务端之后真实源IP将被隐藏&#xff0c;在业务应用开发中&#xff0c;通常需要获取客户端真实的IP地址。例如&#xff0c;投票系统为了防止刷票&#xff0c;需要通过获取客户端真…

五行塔怎么吃第五个_中医美容——“五行美容养颜法”,善用五行,女人会越来越漂亮...

人天生体质强人不同&#xff0c;俗话说“有人怎么吃都不胖&#xff0c;有人只喝水也长肉”&#xff0c;这说的就是体质不同&#xff0c;生活环境不同&#xff0c;饮食习惯不同。从中医的角度来讲&#xff0c;每个人都有属于自己的五行属性。这种属性深深的影响着你的身体器官、…

事务超时时间无效_什么是ZooKeeper?ZooKeeper分布式事务详解

前言zookeeper当初到底面临什么问题&#xff1f;而zookeeper又是如何解决这些问题的&#xff1f;实际上zookeeper主要就是解决分布式环境下的一致性问题。那么解决这个问题到底有哪些难点呢&#xff1f;我们一步一步来阐述和推理这个过程。分布式事务我们首先考虑一致性的特殊情…

MongoDB解决“Error parsing YAML config file: yaml-cpp: error at line 2, column value(安装服务)

解决“Error parsing YAML config file: yaml-cpp: error at line 2, column 13: illegal map value”&#xff08;安装服务&#xff09; 在安装 MongoDB服务中&#xff0c;我遇到以下报错&#xff1a; 解决&#xff1a; 于是我&#xff0c;我打开配置文件mongod.cfg&#x…

from mysql partition select_玩转select条件查询,避免踩坑

条件查询语法&#xff1a;select 列名 from 表名 where 列 运算符 值说明&#xff1a;注意关键字where&#xff0c;where后面跟上一个或者多个条件&#xff0c;条件是对前面数据的过滤&#xff0c;只有满足where后面条件的数据才会被返回。下面介绍常见的查询运算符。操作符描述…

Linux使用vi/vim打开文档/文件报错E325:ATTENTION Found a swap file by the name

重点&#xff1a;解决方法是&#xff1a; rm -rf .文件名.文件类型后缀.swp 如 rm -r .mongod.conf.swp 1、对于同一个文件如果上次已经打开&#xff0c;而未关闭的情况下&#xff0c;又打开该文件进行编辑时&#xff0c;会出现如下提醒&#xff1a; 这是由于已经打开但未闭关…

vue 怎么样不重复往数组里插入数据_前端数据结构与算法(1) -二分查找vs二叉树...

今天给大家开始介绍前端方面的数据结构&#xff0c;刚把vue源码过完就开始数据结构&#xff0c;可见它的地位有多重要。有人说我一前端又不是后端学这个数据结构干嘛&#xff0c;好吧&#xff0c;只能说你还没有这个意识&#xff0c;一是面试很多大厂就会考察&#xff0c;我面试…

MongoDB出错:ERROR: child process failed, exited with error number 1 To see additional infor

linux中安装mongoDB之后&#xff0c;启动不了&#xff0c;出现下边的错误&#xff0c;网上搜原因&#xff0c;很多说需要删除.lock文件&#xff0c;需要bin/mongod --repair修复&#xff0c;但是都不成功&#xff0c;最后发现是配置文件中路径问题。 [rootwqd mongodb]# bin/m…

js中立即执行函数会预编译吗_作为前端你了解JavaScript运行机制吗?

作为前端工程师&#xff0c;大家都知道js是前端一开始就要学会的知识点&#xff0c;js的代码你会写了&#xff0c;那js的运行机制你了解吗&#xff1f;只有了解了js的运行机制&#xff0c;才能在工作中如鱼得水&#xff0c;今天就跟随珠峰的老师一起来了解下js的运行机制吧。Ja…

nfine框架 上传文件_MVC之Struts2框架--你并不了解的高级应用

《“爱读书”--给你讲技术》&#xff0c;我来看书&#xff0c;你来进步&#xff0c;让我们开始吧&#xff01;本书简介书名为《轻量级JavaEE企业应用实战》&#xff0c;是本人在学习JavaEE框架的时候阅读的第一本书&#xff0c;本书对于框架及相关基础知识讲述的比较详细和浅显…

阿里云服务器ping不通解决办法

阿里云服务器ping不通解决办法 阿里云服务器ping不通解决办法&#xff08;云服务器搭建完环境访问不了ip解决办法&#xff09; 问题&#xff1a;这里的服务器我以阿里云为例最近搞服务器&#xff0c;然后Ubuntu16.04下搭建LAMP环境后发现输入ip&#xff08;http://1XX.XX.XX.…

java移动端接口测试_走进Java接口测试之测试框架TestNG数据驱动(入门篇)

前言我们在前面的文章中&#xff0c;和大家分享过接口自动化测试一些基本的实现方法&#xff0c;但是&#xff0c;你很快就会发现&#xff0c;如果在测试脚本中硬编码测试数据的话&#xff0c;测试脚本灵活性会非常低。而且&#xff0c;对于那些具有重复的请求&#xff0c;而只…