Request,请求转发与重定向

本文详细解析了Java中的Request继承体系,包括RequestFacade、HttpServletRequest和ServletRequest。区分了请求转发和重定向的特点,以及它们在地址栏变化、请求次数和数据处理上的差异。同时提到了Response响应字符数据和字节数据的处理方法。

1.Request的继承体系

Request的继承体系分为三层

RequestFacade-->HttpServletRequest--->ServletRequest

第一个是Tomcat对应的实现类

第二个是Java提供的对Http协议封装的请求对象接口

第三个是Java提供的请求对象根接口 

请求转发与重定向:

请求转发

请求转发特点:

1.地址栏路径不发生变化

2.请求转发客户端只发送一次请求,另一次转发请求是由服务端内部发出的

3.只能转发到当前服务器资源中,不能跳到服务器之外

 重定向

 

重定向的特点:

1.浏览器地址栏路径发生变化

2.可以重定向到任意位置的资源(服务器内部,外部均可) 

3.两次请求,不能在多个资源中使用request共享数据

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

1.请求转发是通过request,重定向是通过response

2.请求转发是服务端行为,request信息不会丢失,重定向是客户端行为,request信息会丢失

3.请求转发发送一次请求,地址栏不会改变,重定向发送两次请求,地址栏会改变

路径问题

 Response响应字符数据

 Response响应字节数据

 

 上图中循环遍历与IOUtils.copy(fis,os效果相同);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值