

请求转发 响应重定向


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


请求转发(服务器内部的资源跳转方式)
特点:一次请求,一次响应
实现:request.getRequestDispatcher().forward()
响应重定向(客户端重新发起请求的方式)
特点:两次请求,两次响应
实现:response.sendRedirect()
区别
请求转发:1次请求、URL不变、服务器内部完成、浏览器无感知、可共享request数据
响应重定向:2次请求、改变为新URL、客户端重新发起请求、浏览器地址栏会变化、不能共享request数据
请求转发流程
客户端 → ServletA → ServletB → 客户端
(请求) (转发) (响应)
响应重定向流程
客户端 → ServletA ← 客户端 → ServletB → 客户端
(请求) (302响应) (新请求) (响应)
