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,絕對路徑
絕對路徑是指目錄下的絕對位置,直接到達目標位置,通常是從盤符開始的路徑。
一般沒有/
符號,為一個全部的路徑