servlet请求转发与重定向的区别

请求转发:

一个servlet将未完成的处理转发给别一个servlet继续处理,由被转发的servlet决定生成响应还是继续进行下一个请求转发。

特点:

  1. 转发过程中request和response对象被各个Web组件共享。
  2. 转发目的地址可以是当前过程中的某个servlet或者页面。
  3. 转发后客户端地址栏不发生改变。
  4. 请求转发过程客户端会发送一次请求收到一次响应。

请求转发格式:

request.getRequestDispatcher("URL链接路径").forward(request,response);

 

重定向:

重定向是服务器对客户端的请求做出响应,但是响应的结果是让客户端去重新发出一个针对另一个url的访问请求。

重定向本质:客户端发送一个302状态码响应。

特点:

  1. 重定向过程中request和response对象不会被Web组件共享,数据不会传输到下一个servlet。
  2. 重定向后客户端地址栏发生改变。
  3. 重定向过程客户端会发送两次请求收到两次响应。

重定向格式:

response.sendRedirect("URL链接路径");

 

重定向与请求转发的区别:

  1. 重定向时客户端发送两次请求,收到两次响应;请求转发是一次请求,一次响应。
  2. 请求转发的运行速度要大于重定向。
  3. 重定向后客户端地址栏会发生改变,请求转发不会。
  4. 重定向时request与response对象不会共享,请求转发可以共享。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值