程序是练出来的

专注JAVA,JavaScript,Python,三剑走天涯。 软素质:忠心、追求、进取、态度、方法、恒心、坚持

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

response.sendRedirect是通过浏览器来做转向的。

假设在A.jsp页面设置request.setAttribute("username","admin");

那么在  request.sendredirect 转向的B.jsp页面中是不能通过request.getAttribute("username");  来得到admin的。

这是因为上个页面请求已经结束,也就是 request这个对象已经消亡了。所以也就得不到admin了。

可以使用request.getDispatcherHeader(B.jsp").forward(request,response);在B.jsp页面就可以得到admin了。

此外要说明:如果你的jsp页面是在webroot目录下,那么在response.sendRedirect(参数);参数中的路径是不同的。

response.sendRedirect(参数);应该是:response.sendRedirect(request.getContextPath() + "/B.jsp");

而在request.getDispatcherHeader(参数).forward(request,response);应该使用request.getDispatcherHeader("B.jsp").forward(request,response);

 

 
 
posted on 2018-11-05 23:00  爱学习的小象  阅读(1736)  评论(0编辑  收藏  举报