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


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

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

重定向:

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

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


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

,

联博统计

www.th666888111.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

一:原理

servlet的转发

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

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

servlet的重定向

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

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

二:特点

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