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: