学了俩三天的servlet的内部转发和重定向,今天行使一点时间将servlet的内部转发和重新向举行一个也许总结,由于本人也是初学阶段,若有纰谬,望体谅!并希望私信我及早矫正,希望能帮到人人。


首先,先将二者的语法背一下,不管会不会用,先记下语法是没错滴!!!
转发:

httpServletRequest.getRequestDispatcher("资源路径").forward(httpServletRequest, httpServletResponse);

重定向:

httpServletResponse.sendRedirect("/资源路径");

目的:
二者都是用来实现页面跳转,给客户端一个响应。


区别:
虽然二者都是用来实现页面跳转,给客户端一个响应。然则其中照样有很大的差异的,这里就和人人一起探讨下二者原理及差别。

,

Allbet Gmaing代理

欢迎进入Allbet Gmaing代理(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

,

一:原理

servlet的转发

1.请求原理图如下所示:

2.可以简朴明白转发就好比一小我私家去向A这小我私家乞贷,然则A没有钱,以是A又跑去找B这小我私家乞贷,然后把借来的钱再借给你了。

servlet的重定向

1.请求原理图如下所示:

2.可以简朴明白重定向就好比一小我私家去向A这小我私家乞贷,然则A没有钱,这时候A告诉你B有钱,然后你自己去跑B家去找B乞贷

二:特点

转发 重定向
转发是服务器行为(这是不经由浏览器的) 重定向是客户端行为。(浏览器重新请求)。
转发是浏览器只做了一次接见请求 )重定向是浏览器做了至少两次的接见请求的(固然也可以重定向多次)。
转发浏览器地址稳定 定向浏览器地址改变。
转发两次跳转之间传输的信息不会丢失,以是可以通过request举行数据的通报 重定向两次跳转之间传输的信息会丢失(request局限)
转发只能将请求转发给同一个WEB应用中的组件 重定向可以指向任何的资源,包罗当前应用程序中的其他资源,同一个站点上的其他应用程序中的资源,其他站点的资源