servlet内部转发与重定向

学了俩三天的servlet的内部转发和重定向,今天利用一点时间将servlet的内部转发和从新向进行一个大概总结,因为本人也是初学阶段,若有不对,望谅解!并但愿私信我及早改正,但愿能帮到你们。浏览器


首先,先将两者的语法背一下,无论会不会用,先记下语法是没错滴!!!
转发:服务器

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

重定向:ide

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

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


区别:
虽然两者都是用来实现页面跳转,给客户端一个响应。可是其中仍是有很大的差异的,这里就和你们一块儿探讨下两者原理及不一样。code

一:原理

servlet的转发

1.请求原理图以下所示:
servlet内部转发与重定向
2.能够简单理解转发就比如一我的去向A这我的借钱,可是A没有钱,因此A又跑去找B这我的借钱,而后把借来的钱再借给你了。blog

servlet的重定向

1.请求原理图以下所示:
servlet内部转发与重定向
2.能够简单理解重定向就比如一我的去向A这我的借钱,可是A没有钱,这时候A告诉你B有钱,而后你本身去跑B家去找B借钱资源

二:特色

转发 重定向
转发是服务器行为(这是不通过浏览器的) 重定向是客户端行为。(浏览器从新请求)。
转发是浏览器只作了一次访问请求 )重定向是浏览器作了至少两次的访问请求的(固然也能够重定向屡次)。
转发浏览器地址不变 定向浏览器地址改变。
转发两次跳转之间传输的信息不会丢失,因此能够经过request进行数据的传递 重定向两次跳转之间传输的信息会丢失(request范围)
转发只能将请求转发给同一个WEB应用中的组件 重定向能够指向任何的资源,包括当前应用程序中的其余资源,同一个站点上的其余应用程序中的资源,其余站点的资源
相关文章
相关标签/搜索