登陆表单,传参到servlet处理,验证成功后在servlet中设置一个session,再传回JSP页面。
但是这个session,会一下一下就失效(随机的,有时候是3分钟,有时候是10分钟)。
是哪里出错了么?麻烦各位大神帮忙看看,谢谢了~
/*servlet部分代码*/
 if(user==null){
 msg="注册失败!";
 }else if(user.getMsg().equals("regcg")){
 request.getSession().setAttribute("userinfo",user);
 msg=uname+",恭喜你注册成功!";
 }else if(user.getMsg().equals("regcf")){
 msg="用户名已存在!";
 }
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println("  <BODY>");
out.print("系统提示:");
out.print(msg);
out.print("浏览器将在3秒后自动跳转,如果没有跳转请点击"+"<a href='../home.jsp'>这里</a>");/*home.jsp部分代码*/
  if(session.getAttribute("userinfo")!=null){
     userinfo=(User)session.getAttribute("userinfo");
  %>
  <tr>
    <div align="center"><img src="<%=path%>/<%=userinfo.getFace()%>"/></div>
  </tr>
  <tr>
  <td><a href="userup.jsp" class="black3"><-修改信息-></a></td>
  <td>用户名:<%=userinfo.getUname()%></td>问题补充: 
有时候刷新home.jsp页面(我一直停留在home.jsp页面刷新,没有点入其他页面)用户名就不显示了,就是session失效了。
我没有设置过session失效时间,很奇怪!这是什么问题呀?

解决方案 »

  1.   

    session默认超时时间为30分钟。
      

  2.   

    没看到你往SESSION里设置啊~~SESSION 有效期是自己定义的~~你说的一会就失效了  查看下其他方法是不是做了清SESSION 的操作
      

  3.   

    1.session.setMaxInactiveInterval
     
    2.使用session-config
     
          在web.xml中配置
     
      <session-config>
            <session-timeout>10</session-timeout>
      </session-config>
      

  4.   

    这个你可以写个session的监听类来看下session是什么时候失效的,如果不稳定可能和你的web应用可能也有一定的关系
      

  5.   

    1.session.setMaxInactiveInterval
     
    2.使用session-config
      
      在web.xml中配置
      
      <session-config>
      <session-timeout>10</session-timeout>
      </session-config>
      

  6.   

    都检查了  没有清空的操作,就登陆和注册的时候做了session.setAttribute("userinfo",user);
    退出的时候做了remove,其他都没用到。
      

  7.   

    可是它有时候3分钟就失效了我也没设置session超时