class session{
 private String id;
 private HashMap map;}大概类似这样吧 我想

解决方案 »

  1.   

    可能不对 session is new的时候, 只是它储存的时候类似map
    一个key->一个value 
    还有一个唯一的sessionID 
      

  2.   

    当用到session,我估计每次url提交,程序都会自动在url加一个session的唯一识别id(一般看不到),而服务器那边维持一个hashmap之类的容器,用session的id去不断更新那边的每个用户session的的活动时间。而且有个后台进程在定期监视这些session的活动时间。
      

  3.   

    Session是这样一个类或者一个文件,它的识别号是唯一的,可以用这个类生成对象的哈希码或者文件生成的时间来赋值,如果是应用服务器中的Session类的话,它需要记录最近访问session时间,session创建时间,session空闲时间,还需要一个map容器用来存放其他信息,对于web来说它是一种无状态的连接程序,因此你无法得知用户的浏览状态,因此必须通过session记录用户的有关信息。
      

  4.   

    Session是通過網客戶極上寫cookies來實現的嘛??????
      

  5.   

    cookie只是session的一种实现方式,除了这个,还可以用URL重写的方式实现。如果浏览器支持Cookie,多数服务器就会使用cookie,但是当浏览器不支持或明确禁用cookie时就自动改用URL重写。只是一般来说程序员不必关心这些细节而已。
      

  6.   

    Session的原理就是
    1,首次访问时,服务器开辟一块内存,并且把这块内存生成一个唯一标识送给客户端。
    2,浏览器保存这个唯一标识(其实就是HTTP头部的sessionID)
    3,再次请求时,浏览器检查唯一标识,如果有就送到服务器端。
    4,服务器端根据这个标识,就可以使用刚才保存再内存中的变量值了。采用这种方式可以减少大量的数据在网络上传送,同时使得无状态的http协议变得有状态了。由于sessionID需要保留在客户端,并且在网络间传输,所以在某些情况下,客户端禁止了cookie,就会出现无法获得session得情况,因为每次请求都没有返回那个唯一标识了。
    这样就采用了url重写得机制来实现session。其实就是把唯一标识写在url后面,例如:
    http://www.some.com/getbook.jsp?sessionid=A3481198BCD888939287DADFCE7A
    这样得url。这种实现方式比较麻烦,因为所有得url都要加一个这种东西。但是好处是及时客户端禁止了cookie也可以保持session。
      

  7.   

    Web Service 的 Session 控制,需要使用 SOAP Head 来做。是需要一个简单的class实现的。—— :P  只做过Delphi的
      

  8.   

    既然是唯一的id,那今天登陸,和明天登陸,以後每次登陸(前提是用相同的帳號),服務起產生的都是相同的sessionId嗎?我很不了解,因為現在手頭上有個系統會用到這個,說是每次用戶用他自己的帳號進入系統後,系統就是把這個用戶前一次登出之前對數據庫的操作做修改(也就是清空幾個temp表的內容,裡面有一個紀錄sessionId和帳號的字段),這次登陸時系統會取得用戶的帳號,再取的對應的sessionID來刪除那幾個temp表的對應的紀錄.
    現在就有一點不明白的地方,假如上次我用test帳號登陸服務器,系統產生一個sessionId為0001的session,然後把這個sessionId和用戶對應起來存入temp表,然後過了幾天,或許很長時間,我在用這個帳號登陸的時候,系統是重新為這個帳號產生一個sessionID,還是會去找以前已經存在的那個sessionID??我問過開發這個系統的軟件廠商,他們的意思是會找以前已經存在的那個sessionID,然後根據這個sessionID去清除這個用戶上一次再temp表中的紀錄
    但是我也有些程序驗證過,好像每次產生的sessionID都會不一樣   
    鬱悶了各位大哥大姐,幫我解釋以下吧
      

  9.   

    session有时间限制,一端时间没有响应,系统会要求你重新登陆!
      

  10.   

    JSP的Session是用CooKie实现的;。
      

  11.   

    你所说的这个东西不能用SessionID来做,但可以借鉴Session的原理来做。
    因为SessionID是跟客户端的机器关联的,而你的是要跟登录的帐号关联。而不同的帐号可以在不同的机器上登录。所以你应该在数据库中设置一张表,里面保存了所有的帐号登录后产生的temp的信息,帐号正常退出就清空这些信息,如果没有正常退出就保留这临时信息,下次用和登录的时候,先查找有没有临时信息,有就说明为正常退出或者同时在多台机器登录了。这样你把以前的temp信息删除。其实也能够起到防止一个帐号在多个机器登录的效果,是吧。