怎么实现1周免登录。这个时间 我知道怎么设置,,
  我是用个复选框来表示是否需要免登录的。 
    主要的是:
          第一: 我知道怎么获取用户的登录时的session id, 我也把它存到了数据库中,
          问题就是: 当此用户再次需要登录页面的时候 我怎么知道他开始登录了(难道我需要把所有进入此页面的session都与数据库的sessionid 比较一下?)。。是不是要在登陆页面前就做判断??
          
   现在做起有点乱了。。
   
   只是做到存的那步了   哪位仁兄 知道下面该怎么做。。
   希望是详细点。。有完整的教程就更好。。
   
          
          
     
    

解决方案 »

  1.   

    自动登录一般在两星期内自动登录
    一般来说,不用数据库, 用cookie来做,当用户登录以后,向用户的浏览器存一个cookie, 用户注销后,重新登录,这时候需要在filter里面去读cookie,看看是否有存储用户的自动登录的cookie,如果有则自动登录, 没有则让用户重新登录
      

  2.   

    首先,你根本就没有搞明白SessionID 是什么.当客户端向服务器发送请求的时候,浏览器会自动生成一个该用户独享的Session.这个SessionID可以说是一个“身份证号”,默认情况下,关闭浏览器,此Session就会销毁.
    如果你想实现的话,用Filter+Cookie可以的.你先学一下Filter如何用吧
      

  3.   

    你想复杂了.你在用户登录并且选择复选框后,就把登录信息(用户名+密码或者其他的什么)以cookie的形式存起来,然后有几种时机获取:
    1.请求到来时,获取session,你用getSession(boolean create)这个重载方法(参数false),如果当前用户是第一次来,就得不到session,你就可以去读cookie,然后验证.但是只有写了相关方法的服务端程序才能自动登录.
    2.HttpSessionListener,session产生的时候去读.
    3.每次请求到来时用Filter验证当前是否是登录状态.
      

  4.   

    俺刚写的例子,想直接贴代码,没想到提示“回复太长”,没办法只能发到博客上,楼主可以去俺博客上看看
    http://blog.csdn.net/zxingchao2009/archive/2011/04/26/6365344.aspx
      

  5.   

    设置Cookie的生存时间为2个星期吧
      

  6.   


      过滤器 我知道啊。。但是 有可能有伪造的sessionID 啊。。
     
      

  7.   

        大哥写的不错。。
      我有几个问题。。
         #  extends ActionSupport implements ServletRequestAware, ServletResponseAware  
      继承这个 ActionSupport 和实现接口 ServletRequestAware, ServletResponseAware 我不知道。。
         它们有什么样的作用。。
     
       
      

  8.   


    实现那两个接口是为了获得request和response对象,你用serlvet和struts1照样行,原理都一样,貌似你struts2不咋熟悉。
    我cookie中存放的是用户名和加密后的密码,在过滤器中当session为空的时候,就去cookie中去找用户名和密码,如果能找到然后执行登录的那个方法,加载用户信息,转到成功页面。至于你说的的什么伪造sessionId,我这里并没有用到sessionId,一点影响都没有。cookie中存放的一定要是加密之后的密码,不然不泄密的
      

  9.   


    我还没学过Struts呢。。
       现在在培训。。