第一步,登陸的時候一旦選擇了[自動登入]的選項,則需要在登陸成功後,附加下面的代碼. 因為一般網站都提供儲存使用者名稱的功能,所以我把這個寫到了外面。只有密碼是單獨處理的。
其中的host就是你的網域名稱
login.jsp
代碼如下 |
複製代碼 |
String host = request.getServerName(); Cookie cookie = new Cookie("SESSION_LOGIN_USERNAME", username); // 儲存使用者名稱到Cookie cookie.setPath("/"); cookie.setDomain(host); cookie.setMaxAge(99999999); response.addCookie(cookie); if (ParamUtils.getBooleanParameter(request, "savePassword")) { // 儲存密碼到Cookie,注意需要加密一下 cookie = new Cookie("SESSION_LOGIN_PASSWORD", MD5.encode(u.getPassword())); cookie.setPath("/"); cookie.setDomain(host); cookie.setMaxAge(99999999); response.addCookie(cookie); } |
這樣,Cookie就產生了
第二步,在使用者訪問網站的時候,如果檢測到沒有登陸,則進行下面的判斷。
代碼如下 |
複製代碼 |
index.jsp String usernameCookie = null; String passwordCookie = null; Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if ("SESSION_LOGIN_USERNAME".equals(cookie.getName())) { usernameCookie = cookie.getValue(); // 得到cookie的使用者名稱 } if ("SESSION_LOGIN_PASSWORD".equals(cookie.getName())) { passwordCookie = cookie.getValue(); // 得到cookie的密碼 }www.111cn.net } if (usernameCookie != null && passwordCookie != null) { // 如果存在 if(Login.checkLogin(usernameCookie ,passwordCookie)){ // 登陸成功的處理 }else{ // 登陸不成功的處理 } } } |
是不是很簡單