jsp开发中两种跳转的区别 (JSP开发中两种跳转的区别)

本文目录导航:
jsp开发中两种跳转的区别
JSP开发中两种跳转的区别是:重定向(Redirect)和转发(Forward)。
在JSP和Servlet开发中,重定向和转发是两种罕用的页面跳转模式,它们在成功机制、经常使用场景和成果上有所不同。
1. 成功机制:重定向是经过HTTP协定中的重定向机制成功的,当主机须要重定向到另一个资源时,会向阅读器发送一个不凡的照应,通知阅读器去恳求新的地址,阅读器的地址栏会显示新的URL。
而转发是主机外部的跳转折制,当主机收到恳求后,经过外部的调度将恳求和照应答象传递给指标资源,阅读器的地址栏不会出现变动。
2. 数据共享:在重定向环节中,因为会发送新的HTTP恳求,原先的恳求属性和会话属性不会被传递到新页面。
而在转发环节中,因为是在主机外部启动的跳转,所以恳求属性和会话属性可以被共享。
3. 经常使用场景:重定向理论用于须要在不同运行或不同域名之间启动跳转的场景,或许须要明白地扭转阅读器的URL。
而转发则更多地用于在同一个运行外部的不同资源之间启动跳转。
4. 功能与效率:重定向触及到两次HTTP恳求,即先向原主机发送恳求,而后再向新地址发送恳求,因此功能相对较低。
而转发只触及一次性HTTP恳求,功能相对较高。
举个例子来说明这两种跳转的区别:假定用户访问了一个须要身份验证的资源,假设用户未经过验证,主机可以选用重定向用户到登录页面。
在这个环节中,主机会向阅读器发送一个重定向照应,阅读器收到照应后会向登录页面发送新的恳求。
而假设用户曾经经过验证,主机或许会选用转发用户到指标资源,这个环节中用户的恳求和照应答象会在主机外部启动传递,用户的阅读器不会有显著的变动。
forward 和redirect的区别
解释一 一句话,转发是主机行为,重定向是客户端行为。
为什么这样说呢,这就要看两个举措的上班流程: 转发环节:客户阅读器发送http恳求----》web主机接受此恳求--》调用外部的一个方法在容器外部成功恳求解决和转发起作----》将指标资源发送给客户;在这里,转发的门路必定是同一个web容器下的url,其不能转向到其余的web门路下来,两边传递的是自己的容器内的request。
在客户阅读器门路栏显示的依然是其第一次性访问的门路,也就是说客户是觉得不到主机做了转发的。
转发行为是阅读器只做了一次性访问恳求。
重定向环节:客户阅读器发送http恳求----》web主机接受后发送302形态码照应及对应新的location给客户阅读器--》客户阅读器发现是302照应,则智能再发送一个新的http恳求,恳求url是新的location地址----》主机依据此恳求寻觅资源并发送给客户。
在这里location可以重定向到恣意URL,既然是阅读重视新收回了恳求,则就没有什么request传递的概念了。
在客户阅读器门路栏显示的是其重定向的门路,客户可以观察到地址的变动的。
重定向行为是阅读器做了至少两次的访问恳求的。
解释二 重定向,其实是两次request, 第一次性,客户端request A,主机照应,并response回来,通知阅读器,你应该去B。
这个时刻IE可以看到地址变了,而且历史的回退按钮也亮了。
重定向可以访问自己web运行以外的资源。
在重定向的环节中,传输的消息会被失落。
例子: 恳求转发是主机外部把对一个request/response的解决权,移交给另外一个 关于客户端而言,它只知道自己最早恳求的那个A,而不知道两边的B,甚至C、D。
传输的消息不会失落。
例子: 解释三 假定你去操持某个执照, 重定向:你先去了A局,A局的人说:“这个事件不归咱们管,去B局”,而后,你就从A退了进去,自己乘车去了B局。
转发:你先去了A局,A局看了以后,知道这个事件其实应该B局来管,然而他没有把你退回来,而是让你坐一会儿,自己到前面办公室咨询了B的人,让他们办好后,送了上来。
java中转发和重定向的区别
转发与重定向的区别如下:
转发是主机行为,重定向是客户端行为
1.转发在主机端成功的;重定向是在客户端成功的
2.转发的速度快;重定向速度慢
3.转发的是同一次性恳求;重定向是两次不同恳求
4.转发不会口头转发后的代码;重定向会口头重定向之后的代码
5.转发地址栏没有变动;重定向地址栏有变动
6.转发必定是在同一台主机下成功;重定向可以在不同的主机下成功
在servlet中调用转发、重定向的语句如下:
()(request, response);//转发到
();//重定向到
转发环节:客户阅读器发送http恳求,web主机接受此恳求,调用外部的一个方法在容器外部成功恳求解决和转发起作,将指标资源发送给客户;在这里,转发的门路必定是同一个web容器下的url,其不能转向到其余的web门路下来,两边传递的是自己的容器内的request。
在客户阅读器门路栏显示的依然是其第一次性访问的门路,也就是说客户是觉得不到主机做了转发的。
转发行为是阅读器只做了一次性访问恳求。
重定向环节:客户阅读器发送http恳求,web主机接受后发送302形态码照应及对应新的location给客户阅读器,客户阅读器发现是302照应,则智能再发送一个新的http恳求,恳求url是新的location地址,主机依据此恳求寻觅资源并发送给客户。
在这里location可以重定向到恣意URL,既然是阅读重视新收回了恳求,则就没有什么request传递的概念了。
在客户阅读器门路栏显示的是其重定向的门路,客户可以观察到地址的变动的。
重定向行为是阅读器做了至少两次的访问恳求的。
重定向,其实是两次request
第一次性,客户端request A,主机照应,并response回来,通知阅读器,你应该去B。
这个时刻IE可以看到地址变了,而且历史的回退按钮也亮了。
重定向可以访问自己web运行以外的资源。
在重定向的环节中,传输的消息会被失落。
文章评论
该文章详细解释了JSP开发中两种跳转的区别,包括forward和redirect以及java中的转发与重定向的不同之处,内容清晰明了、易于理解且非常有用!
该文章详细介绍了JSP开发中两种跳转的区别,包括forward和redirect以及java中的转发与重定向的差异,内容全面且解释清晰易懂。,有助于读者理解这些概念并正确应用在实际开发过程中。。