请求重定向 与 请求转发

一 重定向机制的运作流程:
1.用户在浏览器端输入特定URL,请求访问服务器端的某个组件
2.服务器断电组件返回一个状态码为302的相应结果
3.当浏览器端接收到这种响应结果后,再立即自动请求访问另一个web组件
4.浏览器端接收到来自另一个web组件的相应结果

HttpServletResponse的sendRedirect(String location) 用于重定向

特点:
1.Servlet源组件 (下图中的Servlet1)生成的响应结果不会被发送到客户端. response.sendRedirect(String location)方法一律返回状态码为302的响应结果.
2.如果源组在进行重定向之前,已经提交了响应结果,会抛出IllegalStateException 为了避免异常,不应该在原组件中提交响应结果.
3.在Servlet源组件重定向语句后面的代码也会执行.
4.对于sendRedirect(String location)方法的参数, 如果以”/开头” 表示相对于当前服务器根据路径的URL以”http”开头,表示一个完整路径.
6.目标组件(下图中的Servlet)不必是同一服务器的同一个web应用的组件,它可以是任意一个有效网页.

这里写图片描述

二 请求转发
一个servlet对象无法获得另一个Servlet对象的引用; 如果需要多个Servlet 组件共同协作(数据传递),只能使用 Servlet 规范为我们提供的两种方式:
请求转发: Servlet(源组件)先对客户请求做一些预处理操作,然后把请求转发给其他web组件(目标组件) 来完成包括生成响应结果在内的后续操作.
包换:Servlet(源组件) 把其他web组件(目标组件)生成的响应结果包含到自己身的响应结果中
转发包含的共同点
源组件和目标组件处理的都是同一个客户请求, 源组件和目标组件共享同一个ServletRequest 和 ServletResponse 对象
目标组件都可以为 Servlet , JSP 或 HTML 文档
都依赖 javax.servlet.RequestDispatcher接口

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值