八、记住账号密码功能的实现
8.1用户通过startPage.jsp页面上的超链接
<a href="/netBookStore/CheckUserLogin.do"></a>
访问CheckUserLogin.java Servlet控制器,调用的是doGet()方法。
8.2 用户为首次登录:客户端没有相应的cookie,直接转发到login.jsp页面进行登录
Cookie[] cookies=request.getCookies();
if(cookies==null){
response.sendRedirect("/netBookStore/user/login.jsp");
}
8.3 用户通过login.jsp页面进行登录,再一次访问CheckUserLogin.java Servlet控制器,调用doPost()方法。
8.4 如果用户选择记住账号密码,则将用户的账号和密码信息存入到cookie中,将是否记住账号密码的选择结果一并存入。
if((request.getParameter("check")!=null)&&
request.getParameter("check").equals("check")){
Cookie nameCookie=new Cookie("userName",userName);
Cookie checkCookie=new Cookie("isChecked","1");
response.addCookie(nameCookie);
response.addCookie(checkCookie);
}else{
Cookie nameCookie=new Cookie("userName","");
Cookie checkCookie=new Cookie("isChecked","0");
response.addCookie(nameCookie);
response.addCookie(checkCookie);}
8.5用户再一次尝试进行登录时,则读取存在客户端的cookie信息,存入到session对象中,在login.jsp页面中显示
<input type="text" name="userName" id="userName" value="${user.userName }">
<input type="checkbox" name="check" id="check" value="check" ${sessionScope.isChecked }>
注:中只要出现checked属性,选择框就会被选中,只有没有出现checked属性的时候才为未选中的状态