response.sendRedirect传递参数和转向

Posted ltb6w

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

 

 
 




以上是关于response.sendRedirect传递参数和转向的主要内容,如果未能解决你的问题,请参考以下文章

response.sendRedirect传递参数和转向

response.sendredirect为啥跳转不了

response.sendRedirect(url)与request.getRequestDispatcher(url).forward(request,response)的区别

servlet post response.sendRedirect 乱码

我遇到的response.sendRedirect跳转不了问题

使用response.sendRedirect(url) 重定向的url指定中文get参数,接收页面获取的值为问号