【随笔】转发/转向(服务器重定向,服务器转发,服务器跳转)和重定向(客户端重定向,客户端转发,客户端跳转)


在这里插入图片描述

1.转发(转向)和重定向图解

图:转发(转向)
在这里插入图片描述
图:重定向
在这里插入图片描述

2.例子

转发:A找B要钱,B没钱,于是B向C借钱,然后将钱给A。
重定向:A找B要钱,B没钱,于是B将C的联系方式告诉A,然后A再向C借钱。

3.区别

  • 本质区别
    转发是服务器行为,重定向是浏览器行为。
  • 地址栏显示
    转发是服务器请求资源,所以浏览器不知道,只是最后服务器返回给浏览器相对应的内容。
    重定向是服务器告诉浏览器最终的资源地址,所以当浏览器发起第二次请求的时候,也就是向最终的资源发起请求的时候,地址栏显示为最终的资源地址。
  • Servlet中
    转发:
request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jsp

重定向

response.sendRedirect("new.jsp");   //重定向到new.jsp
  • 转发是服务器跳转,重定向是浏览器跳转
    (1)服务器端跳转时,未超出request的属性范围,request属性能够保存到跳转页;客户端跳转时,则超出了request的属性范围,无法进行其属性的传递。
    (2)服务器端跳转时,JSP执行到跳转语句时会立刻进行跳转,不再执行之后的代码;客户端跳转时,则会在整个页面的代码执行完后,才执行跳转。所以在执行服务器端跳转时,一定要在跳转语句之前释放掉临界资源(如数据库连接,I\O流操作等)。

  • 跳转的资源范围
    转发只能装发到web应用的内部资源;重定向可以是任何资源例如重定向到谷歌

  • 地址/
    转发中的地址“/”是web应用的根目录;重定向的地址“/”是站点根目录。
    (web应用的根目录指定是项目里的webcontent下的目录,站点根目录指的是http://localhost:8080/后的目录)

  • 表单里面的action和a中的href
    是重定向。

  • JavaScript 实现页面跳转重定向可以使用以下两种方法(⭐⭐⭐⭐⭐):
    window.location.replace(“url”) 类似 HTTP 重定向
    window.location.href=“url” 类似点击 a 标签的链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值