將用戶名保存至cookie中
阿新 • • 發佈:2018-02-15
http 記住我 class new nbsp cookies esp length get
1、前臺頁面實現:
<input id="remember" name="remember" type="checkbox" value="remember-me">記住我
2、後臺獲取remember參數,判斷它的值是否為remember-me,如果是,則:
if ("remember-me".equals(remember)) { rememberMe(username, password, resp); }
/** * 將用戶名和密碼存放到cookie中 * @param username * @param password *@param response */ private void rememberMe(String username,String password,HttpServletResponse response){ Cookie user = new Cookie("user",username+"-"+password); user.setMaxAge(1*60*60*24*7);//生命周期為一星期 response.addCookie(user); }
3、前臺頁面獲取cookie中的user值時需要進行判斷
<% if(request.getAttribute("user")==null){//如果user不為空,說明是第一次登錄用戶名或密碼輸錯,後臺設置的user值 String username = null; String password = null; Cookie[] cookies = request.getCookies(); for(int i=0;cookies!=null && i<cookies.length;i++){ if(cookies[i].getName().equals("user")){ username= cookies[i].getValue().split("-")[0]; password = cookies[i].getValue().split("-")[1]; } } if(username==null){ username = ""; } if(password==null){ password = ""; } pageContext.setAttribute("user", new User(username,password)); } %>
將用戶名保存至cookie中