Session是当浏览器访问服务器时候,服务器会分配一个唯一Id给浏览器并以cookie方式在请求头发送给浏览器。
Session是一个域,KEY/VALLUE 键值对的形式存放内容。
当浏览器做一次请求后,服务器先判断Session域内是否存在对应的Sessionid,没有就分配,可以借助这种机制判断用户是否以登陆。
081112342438113.png
1.利用服务器端判断请求头是否含有sessionid,可以实现判断是否登陆状态,没有就返回注册、登陆页面
session.getAttribute("users") == null//users为key,取出来的值如果为null,则没有登陆
2.可以实现比较简单的在线统计
public class SessionListener implements HttpSessionAttributeListener {.......}
重写增加删除等的接口功能
当然这个监听必须要在web.xml注册
https://blog.csdn.net/czz_java/article/details/78558953参考
如果你的系统中有注销(或者退出登录)类似的功能(功能中调用了 session.invalidate() 方法),那么用户的信息就会自动从上面的列表中删除。如果没有使用注销功能,则只能等到session超时候才能从列表中自动删除。
3.保存用户基本信息在session域内
在大型服务器集群,就是说很多台服务器连通的情况,分布式架构要注意session共享的问题,即实时共享
网友评论