如题。用户在登录页面登录成功以后,跳转到主页。我用的方法是 在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.   

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

  2.   

    试试HttpSession session = request.getSession(true);
      

  3.   

    因为你是forward,所以用request/session域都行的。一般用session。楼主看看JSP的session是不是被关掉了,如
    <%@ page session= "false" %>1楼所说user_vo对象本身就是null的可能性比较大。