请求派发的实现
调用ServletRequest对象的方法:
getRequestDispatcher(path):方法返回给定路径的RequestDispatcher对象
getNamedDispatcher(name) :返回某个名称的Servlet的RequestDispatcher对象
RequestDispatcher对象提供了两种方法:
forward(ServletRequest, ServletResponse):派发请求和响应对象到RequestDispatcher 对象所确定的新资源(Servlet、JSP或者HTML等)
include(ServletRequest, ServletResponse)该方法关键是能包含服务器端的资源
request.getRequestDispatcher(URL).forward(request, response);
forward()方法意味着把请求和响应派发给别的资源后,就不会再去做任何处理了
include() 方法意味着请求别人帮助处理请求,但这并不是完全移交,只是暂时地把控制交给别人
请求范围
变量可以保存在请求范围中
在请求范围之外就不能进行访问了
可以理解为 : 相当于一个方法中的局部变量
如 :
Servlet1:
request.setAttribute(“value”, param);
Servlet2:
String value = (String)request.getAttribute(“value”);
请求范围仅仅作用在与一个请求相关的两个资源之间