路径分类
路径分为两类:1.绝对路径。2.相对路径。
绝对路径
固定不变,无法改变路径。
本地路径:带盘符的路径(file:///F:/FireLang/marvel__dead.xml)
网络路径:带协议和服务器地址以及端口号的路径(http://www.domarvel.cn:80/Marvel__Dead/show.html)
相对路径
不是固定不变,可以改变的路径(存在一个基准路径,从基准路径开始查找资源)
基准路径:当前资源的访问路径。
比如我现在访问的路径为:http://domarvel.cn/Marvel__Dead/show.html
那么基准路径就为:http://domarvel.cn/Marvel__Dead/
访问的资源为:show.html
如果一个相对路径以斜杠开头,那么是特殊的相对路径,改变了默认的基准路径的位置。
前台路径:
有浏览器解析执行的代码,称之为前台代码,代码中的路径称之为前台路径。
代码示例:
HTML:
<img src="xxx">
<form action="xxx">
<a href="xxx">
CSS:
background:img('xxx.png')
JS:
window.location.href="xxx"
前台路径基准:如果一个相对路径以斜杠开头,那么是特殊的相对路径,会以web服务器的根路径为基准。
web服务器的根路径:http://localhost:8080/
后台路径:
由服务器解析执行的代码,称之为后台代码,代码中的路径称之为后台路径。
Java代码中:
request.getRequestDispatcher("").forword(req,resp);
xml中:
/user/test.jsp(Struts2的result标签值)
注意:Java代码中有一个比较特殊:
response.sendRedirect("");//它比较特殊,它的路径和前台路径表现现象一模一样,原因是因为该方法的实现原理是发送一个状态码到浏览器端,让浏览器自身根据路径实现跳转,这样也就和前台路径跳转方式相同了。
后台路径基准:如果一个相对路径以斜杠开头,那么是特殊的相对路径,会以web应用的根路径为基准。
web应用的根路径:http://localhost:8080/Marvel__Dead/
所以很多时候我们JSP页面写前台路径是这样写的:
<a href="${pageContext.request.contextPath}/hello">SimpleUrl</a>
前台路径要带/时,就把项目路径给打上。