HttpSession接口的常用方法
- HttpSession中的常用方法?
1. 获取当前session对象,如果没有获取到session对象则创建新session对象
HttpSession session=request.getSession();
2. 获取当前session对象,如果没有获取到session对象则创建新session对象
HttpSession session=request.getSession(true);
3. 获取当前session对象,如果没有获取到session对象则返回 null;
HttpSession session=request.getSession(false);
- request.getsession()与request.getsession(boolean)的区别?
request.getsession()等同于 request.getsession(true),当存在session时取得session,否则创建一个新的session。
request.getsession(false),当存在session时取得session,否则返回 null。
4. 向session中添加数据 void setAttribute(String name,String value)
HttpSession mySession=request.getSession(); // 获取Session对象
mySession.setAttribute("name","Morty"); // 向Session中存储一个数据
、
5.从Session中取数据, Object getSession(String name). 在一个Servlet中存入数据,可以在另一个Servlet中取出数据,因为只要浏览器没有关闭,那么一个浏览器就只对应一个Session对象。
HttpSession mySession=request.getSession(); // 拿到Session对象
Object sessionData=mySession.getAttribute("name"); //取出Session范围中的数据
System.out.println("name = "+ sessionData); // name = Morty
6.销毁session. session.invalidate();
HttpSession session=request.getSession(false); // 获取session对象,如果没有获取到session对象则返回null
if(session !=null) {
session.invalidate(); //销毁Session对象
}
- session.invalidate(); 销毁Session对象,多用于网站的安全退出,因为这样退出服务器是知道客户端浏览器要关闭该网站了,就会销毁服务器中与之对应的Session对象,而直接关闭浏览器服务器是不知道浏览器关闭了
的,也就不会去销毁Session对象。