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")%>
参考: