如题。用户在登录页面登录成功以后,跳转到主页。我用的方法是 在Servlet中判断以后 。就forward到主页            //      ...................
            // 上面是doPost方法的验证用户输入信息的部分。省略
             HttpSession session = request.getSession(); //得到session
             session.setAttribute("user_vo", vo); //将vo设置到session
             RequestDispatcher rd = request.getRequestDispatcher("src/myjsp/Main.jsp");
    rd.forward(request, response);  
我在主页中用下面的方法得到用户信息
<%
Users_Vo u_vo = (Users_Vo)session.getAttribute("user_vo");
if(u_vo == null){
System.out.println("vo为空");
}
 %>
发现结果为空 。在主页中不能得到用户信息 。 请问是不是不能用Session来保存用户信息 。 有没有什么更好的办法?

解决方案 »

  1.   

    兄弟啊,你不知道session是map吗?
    要用这个存取的session.put,session.get
      

  2.   


    在jsp里面  session.putValue()和getValue都已经被settAttribute()和gettAttribute()取代了啊。而且 。我刚试了 这两个方法 。都不行。
      

  3.   

    我给vo赋值了以后设置才调用的 session.setAttribute("user_vo", vo);        //将vo设置到session然后forward到Main.jsp页面的。但是到Main.jsp取出来 。就为空 。说找不到user_vo这个东西。我后来有专门 用 session.setAttribute("str", "str");        字符串测试了的。
    在main.jsp页面中调用getAttribute("str"); 也是找不到数据。
      

  4.   

    java变量需要初始化
    如果你没有初始化的默认就被初始化为null
      

  5.   

    在jsp页面,这是肯定能够拿到值的,除非你的vo对象是空的另外,楼主在servlet中的页面跳转能够跳的过去吗,好像是跳不过去吧,跳转路径写的不对啊,应该是以"\"开头的,语句应该是这样的才对啊:
     RequestDispatcher rd = request.getRequestDispatcher("/myjsp/Main.jsp");
     rd.forward(request, response);  
      

  6.   

    user_vo 是不是在赋值的时候写错了
     或者你看下配置文件是不是把Redirect=true了
      

  7.   

    是不是没有在main.jsp<% %>里写session=true?????
      

  8.   

    request.getSession().setAttribute("user_vo", vo);
    这样试试,我就是这样用的!