码迷,mamicode.com
首页 > 其他好文 > 详细

servlet内部转发与重定向

时间:2020-10-24 11:43:22      阅读:27      评论:0      收藏:0      [点我收藏+]

标签:dispatch   response   组件   做了   信息   初学   多次   alt   request   

学了俩三天的servlet的内部转发和重定向,今天利用一点时间将servlet的内部转发和重新向进行一个大概总结,由于本人也是初学阶段,如有不对,望谅解!并希望私信我及早改正,希望能帮到大家。


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

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

重定向:

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

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


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

一:原理

servlet的转发

1.请求原理图如下所示:
技术图片
2.可以简单理解转发就好比一个人去向A这个人借钱,但是A没有钱,所以A又跑去找B这个人借钱,然后把借来的钱再借给你了。

servlet的重定向

1.请求原理图如下所示:
技术图片
2.可以简单理解重定向就好比一个人去向A这个人借钱,但是A没有钱,这时候A告诉你B有钱,然后你自己去跑B家去找B借钱

二:特点

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

servlet内部转发与重定向

标签:dispatch   response   组件   做了   信息   初学   多次   alt   request   

原文地址:https://blog.51cto.com/14954398/2543001

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!