javaWeb请求转发与重定向

本文通过生动的例子解释了转发和重定向的区别,并详细介绍了这两种技术的定义、应用场景及实现方式。转发是在服务器内部进行资源跳转,而重定向则需要客户端重新发起请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、如何区分转发和重定向?生活中一个简单例子足以说明:

  转发:某人去了甲局,甲局看了之后,直到护照应该由乙局来管,但甲局的工作人员并没有赶走某人,而是让某人等着,自己在办公室后面联系了乙局的工作人员,乙局护照办好后送到了甲局,然后甲局的工作人员将护照交给了某人;

  重定向:某人去了甲局后,甲局的工作人员说护照不归他们关,应该去乙局。然后某人自己去了乙局,办了护照。

二、请求转发与重定向的定义及实现方式:

  (1)重定向:一个web资源收到客户端的请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。

           运用场景:如用户登录。

           实现方式:通过response来实现:

      

response.sendRedirect(req.getContextPath()+"/index.jsp");  

   (2)转发:一个web资源收到客户端的请求后,通知服务器调用另外一个web资源进行处理。

         运用场景:MVC设计模式

         实现方式:通过request对象来实现:

request.getRequestDispatcher("/index.jsp").forward(req, resp);

 三、转发与重定向的区别:

  (1)转发时地址栏的地址不会改变,重定向时地址栏的地址会变成重定向之后的地址

  (2)转发过程中,客户端与服务器之间只有一次请求和一次响应;而重定向时包含两次请求和响应。

  (3)转发只能访问当前web应用内部的资源,重定向既可以访问当前web应用内部的资源;也可以访问其他应用或网络资源。

 

转载于:https://www.cnblogs.com/bokzmm/articles/8081951.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值