Referer是怎么用的,在Servlet当中请给出一个例子

Referer:
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
马克-to-win:我要是帮你卖出产品。我是不是不能白劳动?是不是该拿提成?对,没错。用户经过我的网站跳到你的网站上,买了你的东西,应该给我提成。这件事情用Servlet如何实现呢?下面就给出一个例子。如果经过AAA.html跳转到我们的Servlet,我们就打印“给他提成”。如果直接访问我们的Servlet,而没有经过任何其他页面跳转过来的。我们就打印“不用给任何人提成”。其实实现这个技术的关键就在于:html的Header当中有一个叫做Referer的键,取他对应的值就可以了。



例: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("不用给任何人提成,他自己来的");
         }else{
             if(referer.indexOf("AAA.html")!=-1)   
             response.getWriter().println("应给提成的人是 is "+referer+"<br>");
         }
    }
}


AAA.html:


<html>
<body>
 Click <A HREF="/ServletHello/MarkToWinServlet">here</A>
</body>
</html>




假如你先访问AAA.html,得到的结果将是以下:














当你点击here, 结果变成:

















假如你直接访问ServletHello1: