一个用户一个session对象,当用户首次请求服务器时,服务器会生成一个JSESSIONID给用户,并且存在cookie中,当用户将浏览器关闭时,JSESSIONID则会销毁,也就是cookie的临时存储,重新请求则重新创建。通过比较服务器和用户cookie中的JSESSIONID来判断是否是同一次会话(session)
但是服务器中的session则是一个定时存储,一般30分钟,如果三十分钟内没有任何响应,则session对象被销毁。session实现了同个用户不同请求之间的数据共享。
使用:
req.getSession()
第一次使用则创建session对象???如果存在了Session对象则直接获取。
不是在发出请求之后就自动完成创建的操作吗?
不然的话通过编写服务端的程序员创建就有点奇怪了?
好像也没问题,如果没有创建就没有session,也不会被用到,也没毛病??
//设置session的有效时间
session.setMaxInativeInterval(int seconds);
//强制失效
session.invalidate();
//存取数据,与req对象一样
session.setAttribute(String,obj);
session.getAttribute(String);
session 失效判断:请求的JSessionID与当前cookie发送的不一样
网友评论