JSP随记:储存Cookie 和获取Cookie

一、储存Cookie:

1、从表单中获取数据: request.getParameter("username")

2、创建Cookie对象: Cookie usernameCookie = new Cookie("username",username);

3.储存Cookie对象: response.addCookie(usernameCookie);

<%    
    request.setCharacterEncoding("utf-8");  //设置编码    
    //首先判断用户是否选择了记住登录状态    
    String[] isUseCookie = request.getParameterValues("isUseCookie");    
    if (isUseCookie !=null && isUseCookie.length > 0){
        //把用户名和密码保存在Cookie对象里面
        String username = URLEncoder .encode(request.getParameter("username"),"utf-8"); 
       //使用URLEncoder 解决无法在Cookie当中保存中文字符串问题
        String password = URLEncoder .encode(request.getParameter("password"),"utf-8");
        Cookie usernameCookie = new Cookie("username",username);
        Cookie passwordCookie = new Cookie("password",password); 
       usernameCookie.setMaxAge(864000); 
       passwordCookie.setMaxAge(864000);
        response.addCookie(usernameCookie); 
       response.addCookie(passwordCookie);
    }else {
        Cookie[] cookies = request.getCookies(); 
       if (cookies!=null && cookies.length>0){
            for (Cookie c:cookies){
                if (c.getName().equals("username") || c.getName().equals("password")){ 
                   c.setMaxAge(0);  //设置Cookie失效
                    response.addCookie(c); //重新保存 
               } 
           }
        }
    }
%>

二、 获取Cookie 信息

1.获取Cookie数据: request.getCookies();

2.遍历获取到的Cookie数组,取到当中的值: c.getValue()

<%
    request.setCharacterEncoding("utf-8"); 
   String username = "";
    String password = "";
    //获取Cookie数据    Cookie[] cookies = request.getCookies();
    //判断Cookie数据是否存在
    if (cookies!=null && cookies.length>0){
        for (Cookie c:cookies){
            //获取用户名
            if (c.getName().equals("username")){
                username = URLDecoder.decode(c.getValue(),"utf-8");
            }
            //获取密码
            if (c.getName().equals("password")){
                password = URLDecoder.decode(c.getValue(),"utf-8");
            }
        }
    }
%>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,937评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 1、不安全的随机数生成,在CSRF TOKEN生成、password reset token生成等,会造成toke...
    nightmare丿阅读 3,750评论 0 1
  • 今天带女儿在店里面玩,附近有几家做生意的小孩在一起玩。最大的一个小男孩,上一年级胖胖的,他们家是开花店的。...
    泅海阅读 155评论 0 0
  • 最近,某卫视热播了一档军营真人秀,虽然不知道是不是有剧本台稿的演出,但是每每看到军营中那种坚韧、毅力、热血、流汗,...
    猫猫cat阅读 442评论 0 0