关于重定向和转发

参考博文http://blog.csdn.net/lishehe/article/details/23133105

转发:request.getRequestDispatcher("URL").forward(HttpServletRequest, HttpServletResponse)

客户端发送一个请求到服务器端,服务器进行对应的处理,执行完成之后根据请求的结果转发到对应的界面,这整个过程都是在同一个request中完成的

重定向:response.sendRedirect("URL")

整个过程中发送了两次request,重定向前的request和重定向后的request对象是不同的

总结:

转发是在服务器里面进行;重定向是在客户端进行

转发速度快,因为只进行一次请求;重定向速度慢,尽心两次请求

转发地址栏不会变化;重定向地址栏会发生变化

转发必须是在同一台服务器上面完成;重定向可以在不同的服务器上面完成

时间: 2024-12-14 18:17:32

关于重定向和转发的相关文章

Web---HTTP请求、重定向、转发和数据压缩

HTTP常用的请求方式包括: GET-最为常见,但发送的数据量很小,发送的数据直接包含到url的后面. POST-可以包含大量数据,数据在请求正文中通过表单进行提交. HEAD,PUT,DELETE. 后面三种Tomcat服务器默认都不支持.常用的只有前两种. GET: 发送到服务器的数据出现在URL的后面.最多不能超过1K.如: http://localhost:8080/index.jsp?name=itcast&sex=man&.. POST: 发送到服务器的数据会出现有请求的正文部

JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)

HttpServletRequest获取请求头信息 (1)获取客户机请求头 String getHeader(String name) Enumeration<String> getHeaders(String name) Enumeration<String> getHeaderNames() (2)获取具体类型客户机请求头 int  getIntHead(String name) long getDateHead(String name) 日期对应毫秒 (3)常见的请求头 re

Java中 重定向和转发的区别 、与Session

重定向和转发的区别: 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程.与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求.因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL,而当使用转发时该URL会保持不变.重定向的速度比转发慢,因为浏览器还得发出一个新的请求.同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用. 怎么选择

Servlet中的request对象、重定向和转发的差别(6)

1.这里所说的request对象指的是HttpServletRequest对象,它代表client的请求,当client通过HTTP协议訪问server时.HTTP请求头中的全部信息都封装在这个对象中.我们通过request对象调用里面的方法,能够获得客户发送给webserver的各种信息. 2.request的经常用法 (1)获得客户机信息     getRequestURL方法返回client发出请求时的完整URL.(                                比如:ur

转:java 重定向和转发的区别

response.sendredirect("http://www.foo.com/path/error.html"); 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程. 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求.因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变.重定向的速度比转发慢,因为浏览器还得发出一个

java 重定向和转发的区别(转)

转发地址:http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226892.html response.sendredirect("http://www.foo.com/path/error.html"); 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程. 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求.因为

servlet(jsp)中的重定向和转发

servlet(jsp)中的重定向和转发 由一个servlet(jsp)从内部转向另一个servlet(jsp)有两种方式:转发和重定向. 转发:是由一个web组件(servlet)将未完成的处理交给下一个web组件处理,转发的组件会共享request对象和response对象,从而实    现数据的共享. 可以使用以下方式进行转发:request.getRequestDispatcher("新资源").forward(req,resp); 注意: 1.转发之前不能执行response

JAVA 重定向与转发

一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jsp response.sendRedirect("new.jsp");   //重定向到new.jsp 在jsp页面中你也会看到通过下面的方式实现转发: <jsp:forward page="apage.jsp"

java 重定向和转发的区别

http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226892.html response.sendredirect("http://www.foo.com/path/error.html"); 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程. 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求.因为,当你使用

DRP——重定向与转发

重定向 重定向就是又一次进行请求.第一次请求.容器推断请求的类型,是否须要重定向. 重定向的语句是"response.SendRedirect("index.jsp");"重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求,因此使用重定向时是2次请求.同一时候浏览器中所显示的URL会变成新页面的URL.重定向的速度比转发慢,由于浏览器须要发出一个新的请求.同一时候,由于重定向方式产生了一个新的请求.所以经过一次重定向后,曾经的request中存放的变量所有失