request的作用域只有一次请求
forward是转发,还是同一个request;sendRedirect是重定向,是重新请求,不是同一个request
所以一般是在servlet里使用request.getDispatcher.forward("b.jsp")时,在b页面里可以request.getAttributer()到在我们request.setAttribute()的值。
如果我们不是转发,在新的请求没法使用request.getAttributer()传递参数,可以:
1.在servlet里使用request.getSession().setAttribute(),然后在其他页面使用session.getAttributer(),或者其他servlet里仍然可以获取sessin的值
2.使用response.sendRedirect("a.jsp?a=cha");然后在a.jsp页面上直接<%=request.getParameter("a")%>
参考:
本文详细解析了Javaweb中request的作用域及setAttribute()的使用方法,对比了forward与sendRedirect的区别,阐述了如何在不同场景下正确传递参数。
7万+

被折叠的 条评论
为什么被折叠?



