Session
Session与Cookie类似,但是session中可以存放数据,通过req.getSession获得,值得注意的是,每个浏览器每次访问都会有自己的Session,直到关闭或者到达设定的时间之前都不会改变。
Session有自己的ID。通过getID获得,并且可以通过isNEW来判断是否为新创建的Se’s’si’o’n.
Cookie与Session的区别:
Cookie是用户将数据传递给浏览器,浏览器可以保存多个Cookie,Session是访问时浏览器自动创建,但是会将SessionID传递给用户,用户是获取了SessionID的。
Cookie保存在浏览器中,Session保存在服务器中。
常用函数:
HttpSession session = req.getSession(); //获取服务器Session
session.getID(); //获取Session的ID
session.setAttribute("name","value"); //在Session中存放值(value可以为对象)
session.isNew(); //判断Session是否为新创建,
session.getAttribute("name"); //获取键为name的值
session.removeAttribute("name"); //移除键为name的值
session.invalidate(); //手动注销session
在配置文件中也可以设定session的周期:
<!--设置Session默认的失效时间-->
<session-config>
<!--15分钟后Session自动失效,以分钟为单位-->
<session-timeout>15</session-timeout>
</session-config>