java寫cookie到用戶端__java
來源:互聯網
上載者:User
/**
* 儲存Cookie到用戶端
* 傳遞進來的user對象中封裝了在登陸時填寫的使用者名稱與密碼
* @param user
* @param response
*/
public static void saveCookie(AdminUser user, HttpServletResponse response) throws Exception {
// cookie的有效期間至(到哪一天)
long validTime = System.currentTimeMillis() + (cookieMaxAge * 1000);
// MD5加密使用者詳細資料(其實就是把目前使用者加密一下,後面判斷是否是同一個使用者)
String cookieValueWithMd5 = MD5.md5crypt(user.getUsername()+ ":"+ user.getPassword() + ":" + validTime + ":" + Const.WEBKEY);
// 將要被儲存的完整的Cookie值
String cookieValue = user.getUsername() + ":" + validTime +":"+cookieValueWithMd5;
// 再一次對Cookie的值進行BASE64編碼
//String cookieValueBase64 = new String(base64.encodeAsString(cookieValue.getBytes("UTF-8")));
String cookieValueBase64 = new String(Base64.encodeBase64(cookieValue.getBytes("UTF-8")));
// 開始儲存Cookie(cookie是網站名和值)
Cookie cookie = new Cookie(Const.COOKIEDOMAINNAME, cookieValueBase64);
// 存一年(這個值應該大於或等於validTime)
cookie.setMaxAge(60 * 60 * 24 * 365 * 1);
// cookie有效路徑是網站根目錄
cookie.setPath("/");
// 向用戶端寫入
response.addCookie(cookie);
}