一个web组件将未完成的处理交给另外一个web组件继续做。
注:
web组件:servlet或者jsp。
常见的场景:一个Servlet获得数据之后,将数据转交给
一个jsp来呈现。
step1.将数据绑订到request对象上。
request.setAttribute(String name,Object obj);
注(了解):
map.put(name,obj)
step2.获得转发器。
RequestDispatcher rd =
request.getRequestDispatcher(String uri);
注:
uri是转发的目的地,通常是一个jsp的地址。
RequestDispatcher是一个web组件通知容器去调用另外一个
web组件的媒介。
step3.转发。
rd.forward(request,response);
注:
jsp可以利用 Object request.getAttribute(String name);
拿到之前绑订的数据。
a.转发之后,浏览器地址栏的地址不变。
b.转发的目的地有限制,要求属于同一个web应用。
a. 转发之后,浏览器地址栏的地址不变,重定向会变。
b. 转发的目的地有限制(要求属于同一个web应用),重定向无限制。
c. 转发所涉及的各个web组件可以共享同一个request对象,而重定向 不可以。
注:
容器收到请求之后,会立即创建request和response;
当容器发送完响应之后,会立即销毁这两个对象。也就说,
request和response的生存时间是一次请求与响应期间存在。
重定向是两次请求。
使用美工提供的静态页面(listUser.html)完成用户列表