JAVA中Cookie和session的存取
阿新 • • 發佈:2019-01-25
目錄
Cookie
Cookie -- 存
Cookie Cookie_name = new Cookie("Cookie_name", "張三");
//設定Cookie的最大生命週期,否則瀏覽器關閉後Cookie即失效(Integer.MAX_VALUE)
Cookie_name .setMaxAge(-1);
Cookie_name .setHttpOnly(false);
//將Cookie加到response中
response.addCookie(Cookie_name );
Cookie -- 清除
Cookie Cookie_name = new Cookie("Cookie_name", null); //設定Cookie的最大生命週期,否則瀏覽器關閉後Cookie即失效 Cookie_name .setMaxAge(0); Cookie_name .setHttpOnly(false); //將Cookie加到response中 response.addCookie(Cookie_name );
Cookie -- 獲取
Cookie[] cookies = request.getCookies();
for (Cookie c : cookies) {//遍歷獲取Cookie中的所有值
if (c.getName().equals("Cookie_name "))
return c.getValue();
}
Session
Session -- 存
HttpSession session = request.getSession(); session.setAttribute("Session_name", "張三"); //如果設定的值為零或負數,則表示會話將永遠不會超時。常用於設定當前會話時間。 session.setMaxInactiveInterval(3600);
Session -- 清除
-
伺服器自動清除沒有活動的session,清除的時間限制就是通過setMaxInactiveInterval來設定的,一般tomcat的此預設時間值為20分鐘;
-
呼叫session的invalidate方法,意思就是有意而為之。
HttpSession session = request.getSession();
//清除全部Session
//session.invalidate();
session.removeAttribute("Session_name");
Session -- 獲取
HttpSession session = request.getSession(); //String.valueof()為空時,返回值為字串"null", //原始碼 return (obj==null) ? "null" : obj.toString() if(!String.valueOf(session.getAttribute("Session_name")).equals("null")) return String.valueOf(session.getAttribute("Session_name"));