session.removeAttribute(“ “)和session.invalidate()的区别

司徒运锋
2023-12-01

session.removeAttribute(" ")和session.invalidate()的区别

removeAttribute存在session里的值没有了,但session没有被销毁
invalidate就是session失效了,里面的values也就没有了

  • session.removeAttribute(" ")
    用于清空指定的属性,如:
	HttpSession session = request.getSession();
	session.setAttribute("session01","values01");
	session.setAttribute("session02","values02");
	session.setAttribute("session03","values03");
	session.removeAttribute("session02");

则session.getAttribute(“session02”);取不到values02的值了。
session.getAttribute(“session01”)和session.getAttribute(“session03”)还能分别取到values01和values03的值

  • session.invalidate()
    是清除当前session的所有相关信息,如:
	HttpSession session = request.getSession();
	session.setAttribute("session01","values01");
	session.setAttribute("session02","values02");
	session.setAttribute("session03","values03");
	session.invalidate();

session.getAttribute(“session01”)、session.getAttribute(“session02”)和session.getAttribute(“session03”)都取不到自身values的值。

 类似资料: