1,相对路径
相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。
也就是说:
对于如图所示:一news.html为例
在WEB15工程下的WebContent下的WEB-INF下的news.html
当我访问的news.html的时候,进入该页面
当点击 超链接点击跳转 的时候,Tomcat会根据Web.xml找到referer这个url,然后找到该方法
相对路径
访问结果如下:
//news.html 相对路径
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>beyondyanyu~~</title>
</head>
<body><h1><a href="/WEB15/referer">点击跳转</a></h1>
</body>
</html>
绝对路径访问如下:
//news.html 绝对路径
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>beyondyanyu~~</title>
</head>
<body><h1><a href="WEB15/referer">点击跳转</a></h1>
</body>
</html>
根据访问的页面可得,结果是不一样的
当然,我们将上面两个html进行对比可以发现
区别仅仅在于两行代码中的一个/
的区别
<h1><a href="/WEB15/referer">点击跳转</a></h1> 相对路径 最后访问的网站为:localhost:8080/WEB15/referer
<h1><a href="WEB15/referer">点击跳转</a></h1> 绝对路径 最后访问的网站为:localhost:8080/WEB15/WEB15/referer
有/这个符号的是相对地址,接着该文件(WEB15)下的一个路径,接着WEB15往下走,即WEB15/referer
无/这个符号的是绝对路径,是整个路径,是WEB15之后的再加上全部的路径。即WEB15/WEB15/referer
//referer
package com.itheima.header;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class RefererServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//第一次有referer,而第二次没有referer//对该新闻的来源进行判断String header = request.getHeader("referer");if(header != null && header.startsWith("http://localhost")){//网站开始为http://localhost 即我的网站//是从我自己的网站跳转过去的,可以看新闻response.setContentType("text/html;charset = UTF-8");response.getWriter().write("原谅我这一生不羁放纵爱自由....");}else{response.getWriter().write("zhizhangbao?hahaha ting ting hua de ma!!!hahaha");}}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}
2,绝对路径
绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。
一般没有/
符号,为一个全部的路径