管志鹏的计算机主页

C# ASP.NET Java J2EE SSH SQL Server Oracle
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用Cookie技术实现淘宝网效果

Posted on 2008-08-29 20:45  管志鹏  阅读(779)  评论(0编辑  收藏  举报
 1package lesson3_2.cookie;
 2/**
 3 * 使用Cookie技术实现淘宝网效果,
 4 * 用户第一访问显示显示用户登录(输入姓名)界面
 5 * 当用户登陆一次,以后不需要在登陆并在页面显示“XXX,欢迎您“
 6 * 
 7 */

 8import javax.servlet.*;
 9import javax.servlet.http.*;
10import java.io.*;
11import java.util.*;
12
13public class CookieLoginServlet extends HttpServlet {
14    private static final String CONTENT_TYPE = "text/html; charset=GBK";
15
16    //Initialize global variables
17    public void init() throws ServletException {
18    }

19
20    //Process the HTTP Get request
21    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
22            ServletException, IOException {
23        
24        request.setCharacterEncoding("gbk");
25        response.setContentType(CONTENT_TYPE);
26        
27        PrintWriter out = response.getWriter();
28//        获得输入的用户名
29        String userName =request.getParameter("userName");
30//        从客户端读取Cookie
31        Cookie cookie[] = request.getCookies();
32        
33//        声明一个引用来存放找到的Cookie
34        Cookie myCookie = null;
35       
36//        如果客户端有Cookie,则查找有没有与userName值相同的Cookie
37        if (cookie != null{
38            for (int i = 0; i < cookie.length; i++{
39                if (cookie[i].getName().equals("userName")) {
40                    myCookie = cookie[i];
41                    break;
42                }

43            }

44        }

45//        没有找到与当前输入的名称相同的Cookie时,则把当前的用户写到Cookie
46       if(userName!=null&&!userName.equals(""))
47       {
48           Cookie newCookie = new Cookie("userName",userName);
49           newCookie.setMaxAge(60*60*24);
50           response.addCookie(newCookie);
51           myCookie=newCookie;
52       }

53
54//         客户端有Cookie时,则读取Cookie,并显示欢迎,否则显示登录页面
55        if (myCookie!=null{
56            out.println(myCookie.getValue() + ":欢迎您登录");
57        }
 else {
58
59            out.println("<html>");
60            out.println("<head><title>SendServlet</title></head>");
61            out.println("<body bgcolor=\"#ffffff\">");
62            out.println(
63                    "<form action = '/WebModule/cookieloginservlet' method = 'post'>");
64            out.println("<input type='text' name='userName'/>");
65            out.println("<input type = 'submit' value = '登录'/>");
66            out.print("</form>");
67            out.println("</body>");
68            out.println("</html>");
69        }

70    }

71
72    //Process the HTTP Post request
73    public void doPost(HttpServletRequest request, HttpServletResponse response) throws
74            ServletException, IOException {
75        doGet(request, response);
76    }

77
78    //Clean up resources
79    public void destroy() {
80    }

81}

82
83