java关于cookie存取用户名和密码

1、存储到cookie最好是一个对象存一次,就比如用户名和密码可以存为一个记录,这样方便读取
2、存取中文的时候记得编码问题,直接存取cookie会报错,具体见代码

jsp中的代码

  <body>
  <%
  String username="";
  String userpsd="";
  Cookie [] cookies=request.getCookies();
  if(cookies!=null){
      for(int i=0;i<cookies.length;i++){
          if(cookies[i].getName().equals("namepsd")){
          //这里读的时候也记得转换编码,否则读出来会是乱码
          //split()是截取String型的方法
          //在jsp中使用这个方法需要导入java.net.*,在最上面写
        username=URLDecoder.decode(cookies[i].getValue(), "UTF-8").split("-")[0];
              userpsd=URLDecoder.decode(cookies[i].getValue(), "UTF-8").split("-")[1];
          }
      }
  }
  %>
    <form action="CookiesServlet" method="post">
    用户名:<input type="text" name="userName" value="<%=username%>"/><br />
   密码:<input type="password" name="userPsd" value="<%=userpsd%>" /><br />
   <input type="checkbox" name="userCk" value="ck" />记住用户名和密码<br />
   <input type="submit" value="提交" />
    </form>
  </body>

servlet中的主要代码:

response.setContentType("text/html");
        request.setCharacterEncoding("utf-8");
        String username=request.getParameter("userName");
        String userpsd=request.getParameter("userPsd");
        String userck=request.getParameter("userCk");
        if((username.equals("张"))&&(userpsd.equals("zhang"))){
            if(userck!=null){
            //这里存中文之前记得修改编码,要不然会报错
                Cookie namepsd=new Cookie("namepsd", URLEncoder.encode(username+"-"+userpsd,"UTF-8"));
                //设置cookie保存的时间
                namepsd.setMaxAge(60);
                //设置保存路径
                namepsd.setPath("/");
                //保存到cookie
                response.addCookie(namepsd);
            }
            request.getRequestDispatcher("success.jsp").forward(request, response);
        }else{
            response.sendRedirect("fail.jsp");
        }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值