Redirect与Transfer 的区别】的更多相关文章

共同点: 都是重定向: 不同点: redirect: 1发生在客户端: 2.发送两次请求,第一次请求原始页面,当调用此方法时,创建一个应答头,返回状态码302,第二次请求重定向的页面: 3.得不到任何原始的输出; 3.丢失request中的所有属性; 4.需要client端再发起一个请求; transfer: 1.很好地解决了这些问题.它是从server端直接向下一页发起请求,不需要client再次发送请求. 2.发生在服务器端,浏览器根本不知道服务器已经执行了一次页面变换: 3. 默认情况下,…
1.Response.Redirect(): Response.Redirect方法导致浏览器链接到一个指定的URL. 当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代  码302(表示目标已经改变)以及新的目标URL.浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求. 这就是说, 使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面 的请求,得到一个302…
  Response.Redirect("") Server.Transfer("") 转向其他站点 能 不能(只能站内转向) 是否可带QueryString参数 是 是 执行效率 相对低 相对高 是否存在第三方控件的冲突BUG 无 有(如:AJAX等) 浏览器是否显示目标地址 是 否 特别注意: Server.Transfer()方法只能是本站内的URL跳转,不能跳转到其他的网站 Server.Transfer()存在一些已知的和第三方控件的冲突 Server.T…
转 http://blog.csdn.net/dannywj1371/article/details/10213631 1.Response.Redirect():Response.Redirect方法导致浏览器链接到一个指定的URL.当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代 码302(表示目标已经改变)以及新的目标URL.浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求.      这就是说,使用Response.Redi…
异同 1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL. 2.从数据共享来说 forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据. 3.从运用地方来说 forward:…
1.redirect:action处理完后重定向到一个视图资源(如:jsp页面),请求参数全部丢失,action处理结果也全部丢失.  2.redirectAction:action处理完后重定向到一个action,请求参数全部丢失,action处理结果也全部丢失.  3.chain:action处理完后转发到一个action,请求参数全部丢失,action处理结果不会丢失. redirectAction Result:     这个Result使用ActionMapperFactory提供的A…
备注:这里我用到了Response.RedirectPermanent()用于做301跳转, 如:我希望访问网站的url访问地址为:http://m.shop/abc.html ,用户输入的访问地址:http://m.shop/ABc.html,就可以用到这个方法了,对上个请求返回301,发出一个新的正确的Url地址的请求. /// <summary> /// 判断首页是否包含index.html或者index.aspx均301跳. /// </summary> /// <r…
render是渲染变量到模板中,而redirect是HTTP中1个跳转的函数,一般会生成302状态码.…
文件名称:forward.jsp <html> <head><title> 跳转 </title> </head> <body> <jsp:forward page="index.htm"/> </body> </html> 如果运行以上jsp文件,地址栏的内容为: http://127.0.0.1:8080/myjsp/forward.jsp 解释如下; redirect:请求…
1.从地址栏显示来说 forward 是服务器请求资源,服务器直接访问目标地址url,把那个url的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以他的地址还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址. 所以redirect等于客户端向服务器端发出两次request,同时也接受两次response. 2,从数据共享来看 forward:转发页面和转发到的页面可以共享req…