forword和redirect的区别

forwardredirect是在Java Servlet中用于页面跳转的两种不同方式,在细节上存在着许多不同。

其中,最本质的区别是他们的调用者不同

forword(转发)

服务器端的跳转方式,它在服务器内部进行页面的跳转。

redirect(重定向)

客户端的跳转方式,它通过发送特殊的HTTP响应头给浏览器,告诉浏览器去请求新的URL地址


 由于二者的使用者不同,所以在使用时也存在以下几点区别

  1. URL地址栏:
    forword是由当前的Servlet转发给另一个Servlet、JSP页面或静态资源客户端浏览器不知道发生了实际的跳转,URL地址不会改变
    redirect通过发送特殊的HTTP响应头给浏览器,告诉浏览器去请求新的URL地址,URL地址会改变
  2. 请求次数:
    forword只有一次请求
    redirect是两次请求
  3. 路径:
    forword是服务器发起的,不需要加虚拟目录
    redirect是有客户端发起的,需要加虚拟目录才能访问到
  4. 数据共享:
    forword只有一次请求,所以可以使用request对象进行共享数据
    redirect有两次请求,使用无法使用request对象共享数据
 总结:

选择使用哪种方式取决于具体的需求和场景。如果是在同一个项目内部进行页面跳转并需要共享数据,则可以使用forward;如果需要跳转到其他网站或处理表单重复提交等情况,则可以使用redirect

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值