关闭

Cookie技术

标签: cookie
50人阅读 评论(0) 收藏 举报

Http协议是无状态的,服务器不会记住每次客户端的请求。

什么是Cookie:

Cookie 是由服务器生成的发送给客户端(如浏览器)的片段信息,浏览器会将Cookie的key/value对保存到某个文本文件中,下次请求同一网站时将该Cookie发送给服务器。

Cookie的作用:

当你访问一个网页并对这个网页的一些设置进行修改,Cookie会记录并跟踪这些修改,下一次访问这个网页时会自动把这个cookie带到服务器,网页会解析这个cookie,进而采取措施像你返回更符合你个性化的网页。

Cookie的典型应用:

用户第一次登录某个网站,如果信息正确,会把用户信息保存到cookie中,服务器会把Cookie添加到响应内容中一块发送给客户端,客户端将cookie保存到本地硬盘上。第二次发出登录请求时,请求信息带上cookie,服务器收到cookie后判断cookie中的信息是否正确,如果正确直接给客户端资源。

具体应用

用户首次登录某个网站时,选择是否记住密码,如果要记住密码,就将密码的key/value对加入到cookie中,将cookie添加到响应信息中一块发送给这个浏览器,下次再在这个浏览器登录时,浏览器会将cookie自动带到服务器,取出cookie中保存的密码进行登录。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        request.setCharacterEncoding("utf-8");
        //获取前台传过来的参数
        String username = request.getParameter("username");
        //System.out.println(username);
        String password = request.getParameter("password");
        String isRem = request.getParameter("isRem");//判断记住密码框是否勾选

        //每次登陆前都要先判断cookie中的内容
                Cookie[] cookies = request.getCookies();
                if(cookies!=null){
                    //取出和password对应的值,赋给变量password
                    for(Cookie c :cookies){
                        if(c.getName().equals("password")){
                            password=c.getValue();
                            break;
                        }
                    }
                }

        if("1".equals(isRem)){
            //用户选择记住密码,就将用户和密码放到cookie中
            Cookie c1 = new Cookie("username", username);
            Cookie c = new Cookie("password", password);
            response.addCookie(c1);
            response.addCookie(c);
        }
        System.out.println(isRem);
        //验证用户是否存在
        LoginDao dao = new LoginDao();
        //如果存在,页面跳转到success.html
        if(dao.isExit(username, password)){
            response.sendRedirect("success.html");
        }
        else
            response.sendRedirect("fail.html");

    }
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4015次
    • 积分:370
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类