使用Cookie记录用户名和密码

使用Cookie记录用户名和密码

--------------------------------------------------------------------------------
一、用户登录操作

       在用户填写登录数据后,提交表单进行登录验证,如果用户名和密码正确,则把用户名和密码保存在客户端。页面如图1所示。


图1 保存Cookie信息的登录页面

                实现代码如下所示。
                ...
         response.setContentType("text/html;charset=gbk");
                //获取用户名
                String userName = request.getParameter("username");
                //获取用户密码
                String password = request.getParameter("password");

                //验证用户是否合法
                if ("accp".equals(userName) &&"accp".equals(password)) {
                                    //如果合法,把用户名和密码保存在客户端Cookie中

                                      //获取客户选择的Cookie保存时间
                                      String cookieDate = request.getParameter("cookieDate");
                                    int date = 0;

                                    if (cookieDate != null &&cookieDate != "")
                                                        date = Integer.parseInt(cookieDate);

                                    //创建用户名Cookie对象
                                    Cookie cookieName = new Cookie("accpLoginName", userName);
                                      //设置Cookie保存时间
                                    cookieName.setMaxAge(date);
                                    //添加到客户端
                                    response.addCookie(cookieName);

                                    //创建用户密码Cookie对象
                                    Cookie cookiePass = new Cookie("accpLoginPass", password);
                                    //设置保存Cookie时间
                                      cookiePass.setMaxAge(date);
                                      //添加到客户端
                                    response.addCookie(cookiePass);

                                      response.sendRedirect("success.jsp");
                } else {
                                      response.sendRedirect("fail.jsp");
                }
                ...



二、用户再次登录时操作

       服务器首先读取客户端Cookie信息,如果存在用户名和密码数据,则直接登录,否则显示登录页面。
                实现代码如下所示。

                response.setContentType("text/html;charset=gbk");
                //用户名和密码是否存在以及合法的判断参数
                boolean bool=false;
                //获取客户端Cookie数组
              Cookie[] cookies = request.getCookies();

                //判断客户端是否存在Cookie对象
              if (cookies != null) {
                                  //预定义保存用户名和密码的变量

                                    String userName = "";
                                    String password = "";
                                  //遍历Cookie数组

                              for (int i = 0; i < cookies.length; i++) {
                                                      //取得每一个Cookie对象
                                                    Cookie cookie = cookies[i];
                                                  //判断Cookie的名称是否等于"accpLoginName"
                                                  if ("accpLoginName".equals(cookie.getName())) {
                                                                  userName = cookie.getValue();
                                                                                     

                                                  //判断Cookie的名称是否等于"accpLoginPass"
                                                if ("accpLoginPass".equals(cookie.getName())) {
                                                                    password = cookie.getValue();
                                                  }
                                    }
                                //判断用户名和密码是否合法
                                if ("accp".equals(userName) &&"accp".equals(password))
                                                  bool=true;
                                  }

                              //判断对客户端的Cookie的操作是否成功,成功则显示登录成功后的页面,
                                //否则,重定向到登录页面
                                if(bool)
                                                response.sendRedirect("success.jsp");
                                else
                                                  response.sendRedirect("login.jsp");


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值