zoukankan      html  css  js  c++  java
  • cookie的使用

    cookie的使用

    通过简单的登录验证,保存用户Cookie,

    并在第二次访问登录时判断Cookie是否存在,从而区别新旧用户。

     实验结果

     

     Servlet doGet方法:

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            String name = request.getParameter("name");
            String password = request.getParameter("password");
            String boxvalue = request.getParameter("boxcookie");
            System.out.println(boxvalue);
    
            List<String> info = new ArrayList<String>();
    
            if (name == null || "".equals(name)) { // 用户名输入格式问题
                info.add("用户名不能为空");
                System.out.println("用户名不能为空");
            }
            /*
             * if (password == null || "".equals(password)) {// 密码输入格式问题 info.add("密码不能为空");
             * System.out.println("密码不能为空"); }
             */
            if (info.size() == 0) {
                User user = new User();
                user.setName(name);
                user.setPassword(password);
    
                // 检查Cookie
                boolean isolduser = false;
                Cookie cookie = null;
                Cookie[] cookies = null;
                cookies = request.getCookies();
                for (int i = 0; i < cookies.length; i++) {
                    cookie = cookies[i];
                    if (cookie.getName().compareTo(user.getName()) == 0) {
                        // 判断cookie是否已存在
                        isolduser = true;
                        break;
                    }
                }
                if (isolduser) {// 老用户
                    info.add("欢迎用户" + user.getName() + "回来!");
                    if (boxvalue.compareTo("zero") == 0) {
                        // 如果有,删除cookie
                        for (int i = 0; i < cookies.length; i++) {
                            cookie = cookies[i];
                            if (cookie.getName().compareTo(user.getName()) == 0) {
                                cookie.setMaxAge(0);
                                response.addCookie(cookie);
                                System.out.println("Deleted cookie " + cookie.getName() + cookie.getValue());
                            }
                        }
                    }
                } else {// 新用户
                    UserDAOProxy userDAOProxy = new UserDAOProxy();
                    try {
    
                        if (userDAOProxy.findLogin(user)) {
                            info.add("用户登录成功,欢迎" + user.getName() + "光临!");
                            if (boxvalue.compareTo("zero") != 0) {
                                // 设置cookie
                                Cookie cookieuser = new Cookie(user.getName(), user.getName());
                                cookieuser.setMaxAge(60 * 60 * 24);
                                response.addCookie(cookieuser);
                                System.out.println(
                                        "ADD cookie Key:  " + cookieuser.getName() + "Value:  " + cookieuser.getValue());
                            }
                        } else {
                            info.add("用户登录失败,错误的用户名和密码");
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                // 对新旧用户有效
    
            }
            System.out.println("USER  " + name);
            System.out.println("PASSWD  " + password);
            request.setAttribute("outputMessage", info);// 保存错误信息
            request.getRequestDispatcher("NewFile.jsp").forward(request, response);// 跳转
    
        }
    View Code

    百度云

    链接: https://pan.baidu.com/s/14cp6t_CURLfYEbl_xpsSEw 提取码: edry 复制这段内容后打开百度网盘手机App,操作更方便哦

  • 相关阅读:
    WebSVN 2.3.3
    webSVN客户端(转) initOS的日志 网易博客
    分享:httping 2.0 发布,测试 HTTP 连接的工具
    ThriftUsageC++ Thrift Wiki
    硬盘接口:SCSI、IDE与SATA的区别
    把event sql导入数据库难点
    cpu插槽 LGA 1155
    Processing简介
    技嘉主板GAB75MD3V产品规格
    pci Express
  • 原文地址:https://www.cnblogs.com/HuppertWu/p/10651143.html
Copyright © 2011-2022 走看看