当浏览器禁用cookie后,访问某个页面,点击刷新,每次刷新所得到的session ID都不一样..
难道每次刷新容器都会建立一个HttpSession对象??这样话不是太不靠谱了
谁能解释一下??

解决方案 »

  1.   

    嗯,就是你说的这样的。session就是靠cookie实现的,你把cookie禁用了。cookie信息发送不到服务器,服务器也就不认识你这个会话了,它会认为这个是一个新会话,重新分配一个session ID。
      

  2.   

    建立新的session,重新分配session ID
      

  3.   

    那要是我无限刷,服务器端不是将有无数的session对象new出来???那服务器怎么会受的了的??
      

  4.   

    那要是我无限刷,服务器端不是将有无数的session对象new出来???那服务器怎么会受的了的?? 
      

  5.   

    new 的对象gc会自动销毁的
      

  6.   

    cookies 存的是sessionID ,禁用之后只要在请求的时候,把sessionID从session里get出来然后加到url里就行了,
      

  7.   


    你担心的问题确实存在。不过session本身并不占什么资源,多一点也不打紧,只是太多了(顶多超过数量后序列化到磁盘上,对内存的影响不会太大),会影响服务器的效率。
      

  8.   

    当客户端禁用了cookie时,依然可以用Session。可以用url重写。