`
zhengshuangxi1226
  • 浏览: 51341 次
  • 性别: Icon_minigender_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");

分享到:
评论
Global site tag (gtag.js) - Google Analytics