内部跳转(恳求转发)和外部跳转(重定向)的差别?
添加时间:2013-7-2 点击量:
总结归纳要点:
1、内部跳转的时辰实际上是经由过程办事器端将恳求转发到别的的页面或者servlet中,这个时辰跳转到的目标页面或者servlet可以获取到恳求对象,
也可以获取到恳求中的属性和参数。而外部跳转的时辰实际上是第一次恳求后,办事器端向客户端发送了一个指令,让客户端再次恳求了一次办事器端,这个时辰服
务器第二次拿到的request对象已经不是第一次恳求的request对象了,所以无法获取到第一次恳求里的参数和属性。
2、内部跳转的url地址栏不会产生变更,外部跳转url则会产生变更。
3、内部跳转无法跳转到以外的jsp或者servlet,外部跳转则可以。
4、内部跳转实现的办法:
- request.getRequestDispatcher(XXX.jsp或者servlet).forward(request, response),
- request.getRequestDispatcher(XXX.jsp或者servlet).forward(request, response),
而外部跳转实现的办法:
- response.sendRedirect(XXX.jsp或者servlet)。
我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。—— 马良《坦白书》
总结归纳要点:
1、内部跳转的时辰实际上是经由过程办事器端将恳求转发到别的的页面或者servlet中,这个时辰跳转到的目标页面或者servlet可以获取到恳求对象,
也可以获取到恳求中的属性和参数。而外部跳转的时辰实际上是第一次恳求后,办事器端向客户端发送了一个指令,让客户端再次恳求了一次办事器端,这个时辰服
务器第二次拿到的request对象已经不是第一次恳求的request对象了,所以无法获取到第一次恳求里的参数和属性。
2、内部跳转的url地址栏不会产生变更,外部跳转url则会产生变更。
3、内部跳转无法跳转到以外的jsp或者servlet,外部跳转则可以。
4、内部跳转实现的办法:
- request.getRequestDispatcher(XXX.jsp或者servlet).forward(request, response),
- request.getRequestDispatcher(XXX.jsp或者servlet).forward(request, response),
而外部跳转实现的办法:
- response.sendRedirect(XXX.jsp或者servlet)。