转发与重定向
运行Servlet1,结果为Selvet2的内容



输入用户名密码,正确跳转一个页面,错误跳转一个页面


一、Request消息行/消息头/参数

二、Request请求转发(服务器内部的资源跳转方式)
服务器内部跳转到另一个资源,一次请求内完成
特点:一次请求,一次响应
// 设置共享数据
request.setAttribute("key", value);
// 转发到目标资源
request.getRequestDispatcher().forward()
三、Response输出流
response.getWriter():输出HTML、JSON、XML等文本
response.getOutputStream():输出图片、文件、PDF等二进制
四、Response重定向(客户端重新发起请求的方式)
告诉浏览器重新发起请求到另一个地址,两次请求完成
特点:两次请求,两次响应
实现:response.sendRedirect()
区别
请求转发:1次请求、地址栏不变、可共享request数据(数据共享)
重定向:2次请求、地址栏改变、不能共享request数据
请求转发流程
客户端 → ServletA → ServletB → 客户端
(请求) (转发) (响应)
响应重定向流程
客户端 → ServletA ← 客户端 → ServletB → 客户端
(请求) (302响应) (新请求) (响应)
Request消息行/头/参数:获取客户端发送的信息
Request请求转发:服务器内部跳转,共享数据
Response输出流:向客户端输出响应内容
Response重定向:客户端跳转,发起新请求
==:比较运算符、比较内存地址(是否同一个对象)
equals():方法、比较内容(默认也是比较地址,但可重写)

浙公网安备 33010602011771号