index.jsp中有A、B两个iframe,A中放show.jsp,B中放result.jsp,操作show.jsp中的某个选项,在result.jsp中会有响应。result.jsp中有代码用到了jsp内置对象session。当初始化index.jsp时,通过调试发现result.jsp中session对象的session_id为390,操作show.jsp,发现result.jsp中session对象的session_id为410。
是因为两次连接导致获取到的session对象不同吗?有什么办法保证获取的是同一个session.

解决方案 »

  1.   

    http://wenku.baidu.com/view/2c070d360b4c2e3f5727631c.html
    去看看。关于jsp session的ThreadLocal 
      

  2.   

    jsp在编译成servlet的时候,会自动在头上加request.getSession()。这句代码主要的作用是如果没有session,则生成一个新session。如果lz你在页面上停留了较长时间,那么session会自动timeout。而再次打开页面的时候,web容器找不到session,会自动生成一个,自然和前一次的session不是同一个了。但是,不管在几个frame里,会话都是共享的。也就是说,新session同样被你的show.jsp共享