重定向

作者: Sandy_678f | 来源:发表于2018-11-12 21:04 被阅读0次

客户端重定向(Redirect)
服务器重定向(Dispatch)-- 转发

客户端重定向
标准意义的重定向是指HTTP重定向,是HTTP协议的一种机制。并没有涉及request,只有response。
当client向server发送一个请求获取资源
server接收到这个请求,发现请求的资源实际存放在另一个位置
server在返回的response中写入那个请求的资源的正确位置,并设置response的状态码为301(表明这是一个要求浏览器重定向的response)
当client接收到这个response后就会根据新的URL重新发起请求
在Servlet里,实现客户端重定向的方法是response.sendRedirect()

服务器重定向(forward)
是指服务器在处理request的过程中将request先后委托多个Servlet或JSP接替进行处理的过程。
例如:先由一个Servlet处理(比如实现业务逻辑计算),然后forward给一个JSP进行视图的渲染。
在Servlet中,实现dispatch是通过RequestDispatchers来实现的。
例如:request.getRequestDispatcher().forward()
一个是forward,另一个是include,相应的在JSP里实现dispatch的标签也有两个:<jsp:forward/>和<jsp:include/>。
不管是forward还是include,我们可以清楚的看到,从一个Servlet或JSP向别一个Servlet或JSP跳转,Request和Reponse始终在多个Servlet或JSP传递,这是服务器端能实现dispatch模式的关键。换句话说,我们可以把Request和Reponse看作是一种资源,一系列的Servlet和JSP都是在基于同一份资源(同一组Request和Response对象)完成它们职责范围之内的计算。

对于同一个WEB应用程序的内部资源之间的跳转,特别是跳转之前要对请求进行一些前期预处理,并要使用HttpServletRequest.setAttribute方法传递预处理结果,那就应该使用RequestDispatcher.forward方法。不同WEB应用程序之间的重定向,特别是要重定向到另外一个WEB站点上的资源的情况,都应该使用HttpServletResponse.sendRedirect方法。
无论是RequestDispatcher.forward方法,还是HttpServletResponse.sendRedirect方法,在调用它们之前,都不能有内容已经被实际输出到了客户端。如果缓冲区中已经有了一些内容,这些内容将被从缓冲区中清除。

相关文章

  • 第07章重定向管道

    输出重定向案例 > < 脚本中使用重定向 2.输入重定向及结合案例 管道 | 重定向和管道的符号对比。重定向输出到...

  • shell 笔记 Day1

    重定向: (覆盖重定向), >>(追加重定向) , 2>(重定向错误信息) , &>(错误正确都重定...

  • 《Linux就该这么学 》笔记(六)| 管道符、重定向和环境变量

    1. 重定向 重定向技术的 5 种模式 标准覆盖输出重定向 标准追加输出重定向 错误覆盖输出重定向 错误追加输出重...

  • 永久性重定向和302临时性重定向

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • 2019-06-13 重定向301和302

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • 重定向

    输出重定向 输入重定向 错误重定向 管道 shell中特殊符号

  • Linux重定向day13

    1.重定向概述2.重定向的输出输入3.进程管道技术 一、重定向概述 什么是重定向:Linux重定向是指修改原来默认...

  • Linux高级

    一.重定向命令 学习目标 能够使用重定向命令将终端显示内容重定向到文件 1. 重定向命令的介绍 重定向也称为输出重...

  • vue-router -其他

    一、 重定向 重定向也是通过 routes 配置来完成,下面例子是从 /me重定向到/home`: 重定向的目标也...

  • uos 输入输出与重定向

    1、实验-输出重定向 2、实验-错误重定向 3、实验-双重输出重定向 4、实验-输入重定向 5、实验-管道 6、实...

网友评论

      本文标题:重定向

      本文链接:https://www.haomeiwen.com/subject/ucidgftx.html