重定向和转发

问题: 将转发与重定向做对比,有什么异同?

    1.浏览器一共发送了几个请求?
            重定向: 两次请求
            转发: 一次请求

    2.浏览器的地址发生变化吗?
            重定向:  会发生变化
            转发:  不会发生变化

    3.会改变请求方式吗?
            重定向:  未必.重定向的第2次请求一定是get.
            转发:  不会.    
    4.request域可不可以共享数据?
            重定向:  不可以,因为会产生两个request对象.
            转发:  可以. 因为是在一个请求范围内.使用的是同一个request对象.
注意:
    servlet 向 jsp转发. servlet专注于逻辑处理。 JSP专注于显示处理结果。

    不要在应该处理逻辑的地方做显示操作。也就是说在servlet中

    不要使用字符流或字节流做任何输出的动作(不能添加响应正文)。 可以添加响应头。

    转发的Servlet不可以向response的正文中添加任何内容.但是可以向响应头添加内容.
  • 什么时候用转发?

    servlet负责处理逻辑, jsp用于显示. 需要共享数据,一定要使用转发. 使用重定向会使数据丢失.
    
  • 什么时候用重定向?

    1. 当需要跳转到站内,并且地址栏要求发生变化时,使用重定向.前提是不需要共享数据.
    2. 当需要跳转到站外时,一定只能使用重定向.
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值