请教一下一个session的问题
有个session问题我还是不理解 session不是有客户端访问就被创建 而是有HttpServletRequest.getSession(true)这样的语句时才被创建
访问JSP页面会自动加这句 第一次访问资源里的HTML则不会创建
第一次我们访问jsp的时候 服务器会自动创建一个session 并给它一个sessionid 并通过response回带给浏览器缓存 不管你浏览器关不关 你得到的那个session在服务器里面
还是存在的 只会通过三种方式消除 但是当 浏览器下次请求其他页面的时候 会带着cookie用户名是Jessionid过来 也正是因为这样 下次请求的时候
服务器才不会创建session 我百度看资料说你把浏览器关了 那个存储sessionID的cookie消失了 所以下次你去重新打开浏览器再去访问资源
又会创建session 我疑惑的是为什么把浏览器关了 那个存储 sessionID的cookie 也会消失 不是那个用户名是 jessionid的COOKie已经缓存了吗
------解决方案--------------------
-----
关了浏览器后, session 在服务器里面里存在,但是在浏览器里消失了。
再打开浏览器访问同一个网页时,浏览器没有 sessionid 送给服务器,于是服务器认为是初次访问,新的session生成 (旧的实际上还在,直到timeout )。
当然,如果你是一个高手,还是可以在再开浏览器访问同一个网页时,手动加进原来的 sessionid cookie, 这样,你就还是可以回到原来的 session. (在 服务器的 session timeout 之前。Hacker 常用类似方法)