从一aspx页面以传值的方式将session值传递到jsp页面 ,在第一页面session值取出为正常,跳转到另一jsp页面session.getAttribute()取值为空!怎么回事啊
代码如下  
 <%
    //跳转页面
     String url=request.getParameter("url");
     String sessionid_1=request.getParameter("id");
     session.setAttribute("sessionid",sessionid_1);
    String session_id=(String)session.getAttribute("sessionid");
    
      System.out.println(sessionid_1);
     System.out.println(session_id);
    
     //response.sendRedirect(url);
     response.sendRedirect("forward.jsp");
   
    %>在另一页面取session值为空
    <%
    String session_id=(String)session.getAttribute("sessionid");
    System.out.println("----------");
    System.out.println(session_id);
    %>

解决方案 »

  1.   

    另一个页面不要是新开的窗口,这样session会失效!  
      

  2.   

    如果是用<jsp:forward> 呢
      

  3.   


    把2个JSP的代码都贴出来看看,你贴的这些代码 看不出问题
      

  4.   

    可能你的sessionid本来就是空的。
    你看下你的id有没有问题
      

  5.   

    看看有没有调用这句:session.removeAttribute("sessionid");如果调用了就是取消掉了你所赋的值,所以会null
      

  6.   

    response.sendRedirect("forward.jsp");
    这是重定向到forward.jsp,因此获取不到。
    改成转发试下:request.getRequestDispatcher("forward.jsp").forward(request, response);
      

  7.   

    response.sendRedirect("forward.jsp");
    因为你用的是重定向,
    重定向是不共享session中的数据的,所以你在下一个页面是获取不到session中的东西的。而
    request.getRequestDispatcher("forward.jsp").forward(request, response);
    是转向,
    转向是共享session中的数据,因此这种方式是可以获取到session中的数据的。
      

  8.   

    我刚试过了,redirect是不会影响session里面的数据的。所以还是检查你的代码吧。项目重新部署哈
      

  9.   

    顶一下呀。我采用刷新一次页面,跳转一次页面传一次session值得方式先把程序提交了。但是这个问题还没解决啊
      

  10.   

    哎,又是一个重定向session,request失效的问题,而请求转发seesion和request里面的值是能继续传递下去的啊,这个有时候在面试的时候会问到的。
      

  11.   

    response.sendRedirect("forward.jsp");
    这是重定向到forward.jsp,重定向页面的时候,不会把权限转发,也不能传值。。所以在另一个页面session里没有值
    要传值的话要用这个:request.getRequestDispatcher("forward.jsp").forward(request, response);
      

  12.   

    String sessionid_1=request.getParameter("id");
    //这个值应该是从SESSION中取的吧,你用request能取到值吗
      session.setAttribute("sessionid",sessionid_1);
      String session_id=(String)session.getAttribute("sessionid");
      

  13.   

    额 谁说session会因为重定向失效
      

  14.   

    重定向之后,就相当于一个新的请求,当时session会话,这样取值应该是可以取到滴,但是你现在取不到值,你检查下,你存入的值是不是为空呢?
      

  15.   

    你把sponse.sendRedirect("forward.jsp");替换成
     <jsp:forward page="forward.jsp"/> 就可以了
      

  16.   

    重定向session不会失效吧,只要浏览器不关闭session应该会一直存在。
      

  17.   

    经测试session是不会失效的,你是不是已经在页面上没看到输出,就判断没取到值。 你的打印是控制台进行的,你到控制台看。想在页面上打印的话,用<%=session_id %>。
      

  18.   

    我就晕了,重定向session会失效?
      

  19.   

    重新定向如果SESSION失效,SESSION还有什么意义?