作了一个网站,提供用户登录功能,当用户登录后将用户名写入session
HttpSession session = request.getSession(true);
String username = "aa";
session.setAttribute("user",username);
但是发现当session的生存周期结束以后,通过
session.getAttribute("user");
取不到相应的值了,请问各位大虾该如何处理,
是不是要用sessionListener

解决方案 »

  1.   

    方案一:加大session的生存时间。
    方案二:使用cookies保存用户名与密码。
    方案三:内镶一个iframe,不停刷新。
      

  2.   

    这是个登陆session问题:   
      登陆流程:   登陆页面.jsp——>servlet进行用户判别、设session——>转到相应jsp页面(取session)   
      本来是个简单问题。但老是在取session时总是为空!   
      出问题的原因是:   
      网站域名是通过URL转向到服务器ip的,而且隐藏了ip地址。   
                比如说:用域名aa.bb.com   来代替ip   123.123.123.123:8080   访问时就不出现ip   
      如果用ip访问登陆页面,取session不会出现问题。   
      而用域名访问登陆页面时,取session   取的session就为空
      

  3.   

    看看单点登陆,SSO
    网上搜搜
      

  4.   

    最好解决方案是:
    session.setMaxInactiveInterval(1000);
    将session过期时间设置长点!
      

  5.   

    做到 javabean里面去算了!反正是要用的在需要使用的页面定义好javabean 对象,直接调用就可以了,当然,前提是在登录的时候,已经绑定到了某个 该 javabean 的一个实例化的对象中。比如  登录验证时,初始化一个javabean 对象,把登录的对应信息(也可以包括是查了数据库得到的各个属性值),分别绑定到对应的方法上。在所需要使用的页面 usejavabean ,定义一个 id =“**”,这样使用 **.对应的方法,就可以把值提出来呀!它的生存周期是整个会话过程,不会因为哪个页面而失效!