Session:
Session将用户的数据存在服务器端的内存中会话技术.按key-value对方式存值。
session的存值原理
当浏览器第一次访问服务器的网站时,服务器会根据当前的浏 览器在服务器端的内存中开辟一个空间专门用来存与当前这个浏览器会话的数据,并且生成一个sessionId,将sessionId存在当前浏览器的cookie中.当浏览器第二个访问服务器的网站时,服务器检查到浏览器中sessionId,会根据这个sessionId找到服务端对应内存空间来存值和取值.
1:优点:数据安全;存数据无长度限制.
缺点:服务器压力大;用户加载数据效率较低;session不能长久存数据.
2:适用场景:存储跨请求的一些重要数据用session.eg:密码等.
3:常用方法:
3.1:按key-value方式将值存在session中:
session.setAttribute(String name, Object value);
3.2:按Key取出session中value值:
session.getAttribute(String name);
3.3:按Key删除session中key-value对:
session.removeAttribute(String name)
3.4:获得sessionId:session.getId();
3.5:获得上下文对象: session.getServletContext()
3.6:设置session有效期:
第一种设置session有效期,单位是秒:
session.setMaxInactiveInterval(int interval);
第二种设置session有效期,单位是分种,在web.xml中设置:
<!-- 设置session有效期 -->
<session-config>
<session-timeout>1</session-timeout>
</session-config>