我在程序里设置session时间,session.setMaxInactiveInterval(300);
当A用户登录后放在那里,没有进行任何操作。
过五分钟后,B用户登录,就无法登录了。出现的错误为:
java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
只有A用户关闭IE后,B用户才能登录。这是什么原因啊?我在tomcat5.2和jboss4.0下都试过,都会出现这种情况。

解决方案 »

  1.   

    session超时一般是设置在web.xml中的呀...你试试?
    位置在<filter>,<servlet>,<servlet-mapping>后边<!-- session超时时间设置 -->
    <session-config>
       <session-timeout>60</session-timeout>
    </session-config>
      

  2.   

    那是因为你用的是同一个浏览器,相当于你用的还是上一次的session
      

  3.   

    共享SESSION,开两个标签,好像也是
      

  4.   

    一次会话(session)里存放一个用户,第2次换用户登陆时会把之前的用户信息覆盖掉吧,也能登陆,如果不行的话可能你的用户表里设置了用户状态限制了登陆.不知道说的对不.
      

  5.   

    A用户退出后执行了session.close()吗?
      

  6.   

    同一个浏览器是共享session信息的。
      

  7.   

    是不是session已经存在用户A,
    而你又写了防止重复登录的代码,
    当B登录就拒绝。
    A退出以后,session的用户为空,
    所以你就可以用B登陆了
      

  8.   

    应该是IE问题 ie7以上版本会出现这种问题。如果你用IE8登录打开一个浏览器 只要你这个浏览器不关闭后面打开的所有的浏览器都是使用这个session ;推荐iE8 和 360浏览器。你可以比较看下