Response完成重定向
Response完成重定向
重定向(Redirect): 一种资源跳转方式。

实现方式
resp.setStatus(302);
resp.setHeader("location", "资源B的路径");
简化方式:
resp.sendRedirect("资源B的路径");
常用写法(避免忘记项目虚拟路径):
resp.sendRedirect(req.getContextPath() + "/path");
重定向特点
和转发比较
- 浏览器地址栏路径发生变化
- 可以重定向到任意位置的资源(服务器内部、外部均可)
- 两次请求,不能在多个资源使用request共享数据
常见用途
- 登录后跳转:避免刷新/回退导致重复提交(PRG:Post/Redirect/Get)
- 拦截未登录访问:在 Filter案例-登录验证的实现 里经常用来把用户送去登录页(也可以 forward,看交互需求)
- 资源永久迁移:更偏 301(SEO/缓存语义),临时跳转偏 302/307