面试题:转发与重定向的区别

转发:

概述:此处的转发不是动态的转发,而是html中的请求转发,一种在服务器内部的资源跳转方式。
转发可以简单理解为:A去某机关办事,和前台B说完需求(请求)后,B把问题整理清楚(B的工作内容结束)后交给同时C去做,之后返回结果。期间没有通过A去找C,而是该机关中内部自己联系完成。

servlet中实现步骤:
1.通过request对象获取请求转发器对象 —— getRequestDispatchar(String path)
2.使用RequestDispatchar对象进行转发 —— forward(ServletRequest request , ServletResponse response)

特点:
1.浏览器地址栏路径没有不发生变化
2.只能转发到当前服务器内部资源
3.转发是一次请求


重定向:

重定向是html中的一种状态,状态码为302,实质上也是一种转发,但是与转发不同,不同处会在特点上指出,这也是一个面试题目。
重定向可以简单理解为:A去某机关办事,和前台B说明需求(请求)后,B告诉你,这件事不是在该机关处理,并把C所在的机关位置告诉你,叫你去找C处理。C能不能处理无所谓,当请求响应回来的是一串地址并且去访问了,那就是重定向。

设置重定向的方式:
方式一
设置状态码为302
设置响应头
方式二
使用sendRedirect(String s 跳转资源路径)方法
特点:
1.地址栏发生变化
2.重定向可以访问其他战点(服务器)的资源
3.重定向是两次请求

面试题:forward与redirect的区别(转发与重定向的区别):

1.转发是一次请求,而重定义是两次请求
2.转发时地址栏不会发生变化,而重定向地址栏会发生变化
3.转发只能访问该服务器内部资源,而重定向可以访问其他服务器的资源


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值