转发
(服务器内部的资源跳转方式,一次性请求,浏览器的地址栏不发生改变,转发前后的页面可以使用request域对象共享数据):
request.getRequestDispatcher(String path).forword(request,response);
request域对象:因为request对象是对一次请求的请求数据的封装,因此request域只能用于一次请求的范围(转发)
方法:
- void setAttribute(String name,Object obj):存储数据
- Object getAttitude(String name):通过键获取值
- void removeAttribute(String name):通过键移除键值对
重定向
(地址栏发生改变,可以访问其他站点资源,是两次请求,不能使用request域对象共享数据):
代码实现:
//1. 设置状态码为302
response.setStatus(302);
response.setHeader("location","/day15/responseDemo2");
//简单的重定向方法
response.sendRedirect("/day15/responseDemo2");