Referer是怎么用的,在Servlet當(dāng)中請(qǐng)給出一個(gè)例子
Referer:
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。
馬克-to-win:我要是幫你賣出產(chǎn)品。我是不是不能白勞動(dòng)?是不是該拿提成?對(duì),沒錯(cuò)。用戶經(jīng)過(guò)我的網(wǎng)站跳到你的網(wǎng)站上,買了你的東西,應(yīng)該給我提成。這件事情用Servlet如何實(shí)現(xiàn)呢?下面就給出一個(gè)例子。如果經(jīng)過(guò)AAA.html跳轉(zhuǎn)到我們的Servlet,我們就打印“給他提成”。如果直接訪問(wèn)我們的Servlet,而沒有經(jīng)過(guò)任何其他頁(yè)面跳轉(zhuǎn)過(guò)來(lái)的。我們就打印“不用給任何人提成”。其實(shí)實(shí)現(xiàn)這個(gè)技術(shù)的關(guān)鍵就在于:html的Header當(dāng)中有一個(gè)叫做Referer的鍵,取他對(duì)應(yīng)的值就可以了。
例:4.3.1:
package com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ServletHello1 extends HttpServlet {
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("GBK");
String referer = request.getHeader("Referer");
System.out.println(referer);
if (referer == null) {
response.getWriter().println("不用給任何人提成,他自己來(lái)的");
}else{
if(referer.indexOf("AAA.html")!=-1)
response.getWriter().println("應(yīng)給提成的人是 is "+referer+"<br>");
}
}
}
AAA.html:
<html>
<body>
Click <A HREF="/ServletHello/MarkToWinServlet">here</A>
</body>
</html>
假如你先訪問(wèn)AAA.html,得到的結(jié)果將是以下:
當(dāng)你點(diǎn)擊here, 結(jié)果變成:
假如你直接訪問(wèn)ServletHello1: