关于Session在一个Servlet取不到值的问题

来源:互联网 发布:电力概预算软件 编辑:程序博客网 时间:2024/04/28 10:22

TestServlet:

 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ //获取Session的值 String test = (String)request.getSession().getAttribute("test"); //在Session设置一个值 request.getSession().setAttribute("test", "test"); //转发到Jsp页面 request.getRequestDispatcher("TestJsp.jsp").forward(request, response); }

 

TestJsp:

Show:&{requestScope.test }<!-- 点击标签回Servlet --><a href="TestServlet">Click</a>

 

这时会发现getAttribute("test")取到的是Null,按道理setAttribute("test", "test")之后应该可以在取到,但是不行....

 

解决方法:

<a href="javascript:location.href='TestServlet';">Click</a>

 

 这种方式相当于重定向了一次到TestServlet,于是可以取到test了。

 

我觉得是设置完test之后直接转发到了jsp,而jsp的a标签又转发到了TestServlet,

中间没来得及刷新所以取不到值,我理解的可能不太对....

原创粉丝点击