首先我们要知道:相对路径+参照路径=绝对路径,浏览器或服务器最终都是要根据绝对路径访问资源的。相对路径都是由我们写的,所以只要搞清楚参照路径是什么,就知道要访问的资源在哪里。
以下以IntellJ idea中的maven项目为例。
我们在web项目中写的路径有两种形式:
1、 以”/”开头的路径
2、 以名称或者”.”开头的路径
它们都是相对路径。
先讨论第二种情况:以名称或者”.”开头的相对路径,它的参照路径是要访问的资源文件所在的目录(web.xml文件中的路径另论),下图的资源文件为jsp/hello.jsp而不仅仅是hello.jsp.
可以使用".“表示当前目录,可以使用”…“表示上一级目录,比如”…/…/index.jsp"表示本文件所在目录的上上级目录下的index.jsp文件
现在来讨论第一种情况:以”/”开头的路径
我们知道,访问目标资源的请求如果是由浏览器发出的则相对路径由浏览器来解析成绝对路径,如果访问目标资源的请求如果是由服务器发出的则相对路径由服务器来解析成绝对路径。然而浏览器和服务器解析路径时参照路径是不一样的,因为浏览器使用的是虚拟路径,服务器使用的是真实路径。所以要知道以”/”开头的路径的参照路径,必须清楚访问目标资源的请求是由谁发出的。
先说明请求页面的写法,在web中,页面路径主要写的有以下几种
1、请求重定向
2、浏览器的请求被服务器请求到新页面(即“转发”ÿ
web项目中路径问题改进篇2
最新推荐文章于 2021-06-01 14:29:49 发布
本文探讨了在Web项目中,尤其是IntelliJ IDEA中的Maven项目,如何处理以"/"和名称或"."开头的相对路径。浏览器和服务器对以"/"开头的路径有不同的解析方式,分别涉及上下文路径和真实路径。通过分析请求重定向、页面转发、超链接和表单提交等方式,阐述了不同路径解析的参照路径,强调了ContextPath在获取上下文路径中的作用,并提及了web.xml中标签下的路径解析规则。
摘要由CSDN通过智能技术生成