当前位置: 代码迷 >> J2EE >> 用户登录怎样实现记住密码,该怎么解决
  详细解决方案

用户登录怎样实现记住密码,该怎么解决

热度:99   发布时间:2016-04-22 01:46:30.0
用户登录怎样实现记住密码
很多网站的登录页面都有“记住登录状态”的选项,这个功能怎么实现啊?表示不懂,拜托给位高手指点迷津啦!

------解决方案--------------------
使用cookie可以保存的。一下是例子,仅供参考。
Java code
HttpServletRequest request = ServletActionContext.getRequest();Cookie cookies[]=request.getCookies();String login=null; String password=null; for (int i = 0; i < cookies.length; i++){   //取最后一次我保存的    if(cookies[i].getName().equals("userName")){             login = cookies[i].getValue();     }    if (cookies[i].getName().equals("password")){         password = cookies[i].getValue();         break;    }    }    if(!AssertUtil.isEmpty(login)&&!login.equals("JSESSIONID")){    request.setAttribute("login", login);    request.setAttribute("password", password);}
------解决方案--------------------
cookie
先在校验页面创建
HTML code
<%@ page contentType="text/html" pageEncoding="GBK"%><%@ page import="org.xiong.demo.vo.*,org.xiong.demo.factory.*"%><%    request.setCharacterEncoding("GBK");    String rand = (String) session.getAttribute("rand");    String userName = request.getParameter("username");    String userPass = request.getParameter("password");    String code = request.getParameter("code");    long cookieTime = 0;    try    {        cookieTime = Long.parseLong(request.getParameter("saveTime"));    }    catch (Exception ex)    {    }%><%    //判断用户名密码是否为空    if (("".equals(userName) || null == userName)            || ("".equals(userPass) || null == userPass))    {        request.setAttribute("errMsg", "用户名或密码不能为空!");%><jsp:forward page="login.jsp" /><%    }%><%    //判断验证码是否正确    if (!code.equalsIgnoreCase(rand))    {        request.setAttribute("errMsg", "输入的验证码不正确");%><jsp:forward page="login.jsp" /><%    }%><%    RegisterUser user = new RegisterUser();    user.setUsername(userName);    user.setPassword(userPass);    boolean flag = false;    if (DaoFactory.getUserDaoInstance().findLongin(user))    {        session.setAttribute("username", userName);        Cookie c1 = new Cookie("username", userName);        Cookie c2 = new Cookie("password", userPass);        c1.setMaxAge((int) cookieTime);        c2.setMaxAge((int) cookieTime);        response.addCookie(c1);        response.addCookie(c1);        flag = true;    }    else    {        request.setAttribute("errMsg", "用户名或密码不正确!");    }%><%    if (flag)    {%><jsp:forward page="welcome.jsp" /><%    }    else    {%><jsp:forward page="login.jsp" /><%    }%>
  相关解决方案