forward 和redirect转发和重定向的区别别

forward和redirect的区别_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
forward和redirect的区别
我有更好的答案
转发页面和转发到的页面可以共享request里面的数据.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一 个URL的 访问请求,这个过程好比有个绰号叫“浏览器”的人写信找张三借钱,张三回信说没有钱,李四收到信后就把钱汇给了“浏览器”。于是,“浏览器”又按张三提供通信地址给李四写信借钱。可见,“浏览器”只发 出了一封信和收到了一次回复,他只知道从张三那里借到了钱,并不知道有一部分钱出自李四之手。 (4)RequestDispatcher.forward方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同 一个访问请求和响应过程;而HttpServletResponse,甚至是使用绝对URL重定向到其他站点的资源;”开头:低.sendRedirect 方法的相对URL以“&#47.forward方 法在服务器端内部将请求转发给另外一个资源,把那个URL的响应内容读取过来,并不知道在服务器程序内部发生了转发行为,A局看了以后,知道这个事情其实应该B局来管,它 是相对于当前WEB应用程序的根目录,自己到后面办公室联系了B的人,让他们办好后.setAttribute方法传递预处理结果,则自动再发送一个新的http请求,请求url是新的location地址----》服务器根据此请求寻找资源并发送给客户。在这里 location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的 路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。 解释二 重定向,浏览器地址栏中显示的URL会发生改变,由初 始的URL地址变成重定向的目标URL;而调用RequestDispatcher:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.4.从效率来说 forward:高.redirect,甚至C,服务器直接访问目标地址的URL,然后,你就从A退了出来。下面是HttpServletResponse.sendRedirect方法实现 的请求重定向与RequestDispatcher.forward方法实现的请求转发的总结比较: (1)RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而 HttpServletResponse.sendRedirect 方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源.从运用地方来说 forward,根据角色转发到相应的模块.redirect:一般用于用户登陆的时候.从数据共享来说 forward.sendRedirect方法重定向的访问过程结束后, 重定向:你先去了A局。对于同一个WEB应用程序的内部资源之间的跳转,特别是跳转之前要对请求进行一些前期预处 理,并要使用HttpServletRequest,然后把这些内容再发给浏览器1.从地址栏显示来说 forward是服务器请求资源.sendRedirect方法调用者与被调用者使用各自的request对象和 response对象,它们属于两个独立的访问请求和响应过程.redirect:不能共享数据。RequestDispatcher,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑.forward 方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。 例子,发送一个状态码,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了。如果 传递给HttpServletResponse,它是相对于整个WEB站点的根目录;如果创建RequestDispatcher对象时指定的相对URL以“&#47,其实是两次request, 第一次,自己乘车去了B局。 转发:你先去了A局:“这个事情不归我们管,去B局”;”开头,传输的信息会被丢失。 传输的信息不会丢失。 例子: 解释三假设你去办理某个执照。 (3)HttpServletResponse,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL,然后再将这些钱汇给了“浏览器”.2,转发是服务器行为,重定向是客户端行为。为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求----》web服务器接受此请求--》调用内部的一个方法在容器内部完成请求处理和转发动作----》将目标资源 发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去、请求重定向与请求转发的比较 尽管HttpServletResponse、D,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中.3,让“浏览器”去找李四借,送了过来。 三,A局的人说.浏览器根本不知道服务器发送的内容从哪里来的,并将李四现在的通信地址告诉给了“浏览 器”,但是他没有把你退回来,而是让你坐一会儿.本质区别解释一   一句话: 请求转发是服务器内部把对一个request/response的处理权,它只知道自己最早请求的那个A,而不知道中间的B,中间传递的是自己的容器内的request。在客 户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。 重定向过程。 (2)调用HttpServletResponse:客户浏览器发送http请求----》web服务器接受后发送302状态码响应及对应新的location给客户浏览器--》客户浏览器发现 是302响应。这个过程好比绰号叫“浏 览器”的人写信找张三借钱,张三没有钱,于是张三找李四借了一些钱.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获 得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别,甚至还可以加上自己的一些钱。可见,“浏览器”一共发出了两封信和收到了两次回复, “浏览器”也知道他借到的钱出自李四之手,浏览器只知道发出了请求并得到了响应结果,那就应该使用 RequestDispatcher.forward方法。不同WEB应用程序之间的重定向,特别是要重定向到另外一个WEB站点上的资源的情况,都应该 使用HttpServletResponse.sendRedirect方法。 (5)无论是RequestDispatcher.forward方法,还是HttpServletResponse.sendRedirect方法,在调用它们之前,都不能有内容已经被实际输出到了客户端。如果缓冲区中已经有了一些内容,这些内容将被从缓冲区中清除。zend framework 中的应用控制这种分发过程的动作控制器方法是_forward();在任意的pre/postDispatch()或者动作中调用该方法,并传入动作、控制器、模块、以及可选的附加参数,就可以进入新的动作。三种请求转发得方式 public function fooAction() {
// forward to another action in the current controller and module: $this-&_forward('bar', null, null, array('baz' =& 'bogus')); }
public function barAction() { // forward to an action in another controller: // FooController::bazAction(), // in the current module: $this-&_forward('baz', 'foo', null, array('baz' =& 'bogus')); }
public function bazAction() { // forward to an action in another controller in another module, // Foo_BarController::bazAction(): $this-&_forward('baz', 'bar', 'foo', array('baz' =& 'bogus')); }页面跳转得方法是$this-&_redirect('/login/add');,移交给另外一个 对于客户端而言
采纳率:95%
来自团队:
为您推荐:
其他类似问题
forward的相关知识
换一换
回答问题,赢新手礼包博客分类:
一、原理. 1、 Forward
该图的交互过程如下:
①浏览器访问Servlet1。
②想让Servlet2对客户端的请求进行响应,于是调用forward()方法,将请求转发给Servlet2进行处理。
③对请求做出响应。
交互过程可以看出,调用forward()方法,对浏览器来说是透明的,浏览器并不知道为其服务的Servlet已经换成Servlet2了,它只知道发出了一个请求,获得了一个响应。显示的URL始终是原始请求的URL。
sendRedirect()方法和forward()方法还有一个区别,那就是sendRedirect()方法不但可以在位于同一主机上的不同Web应用程序之间进行重定向,而且可以将客户端重定向到其他服务器上的Web应用程序资源。
这种方式是在服务器端作的重定向。服务器往client发送数据的过程是这样的:服务器在向客户端发送数据之前,是先将数据输出到缓冲区,然后将缓冲区中数据发送给client端。什么时候将缓冲区里的数据发送给client端呢? (1)当对来自client的request处理完,并把所有数据输出到缓冲区 (2)当缓冲区满 (3)在程序中调用缓冲区的输出方法out.flush()或response.flushbuffer(),web container才将缓冲区中的数据发送给client。
这种重定向方式是利用服务器端的缓冲区机制,在把缓冲区的数据发送到客户端之前,原来的数据不发送,将执行转向重定向页面,发送重定向页面的数据,重定向调用页的数据将被清除。如果在&JSP:FORWORD&之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么这种重定向方式将不起作用,这一点应该特别注意。 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/ charset=UTF-8"); ServletContext sc = getServletContext(); RequestDispatcher rd = rd = sc.getRequestDispatcher("/index.jsp"); rd.forward(request, response); } 2、 sendRedirect
交互过程可以看出,调用sendRedirect()方法,实际上是告诉浏览器Servlet2所在的位置,让浏览器重新访问Servlet2。调用sendRedirect()方法,会在响应中设置Location响应报头。要注意的是,这个过程对于用户来说是透明的,浏览器会自动完成新的访问。浏览器的地址栏中,可以看到,显示的URL是重定向之后的URL。
该图的交互过程如下:
①浏览器访问Servlet1。
②想让Servlet2为客户端服务。
③调用sendRedirect()方法,将客户端的请求重定向到Servlet2。
④浏览器访问Servlet2。
⑤对客户端的请求做出响应。
这种方式是在客户端作的重定向处理。该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容。该方法可以接受绝对的或相对的URLs。如果传递到该方法的参数是一个相对的URL,那么Web container在将它发送到客户端前会把它转换成一个绝对的URL。 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/ charset=UTF-8"); response.sendRedirect("/index.jsp"); }
1.response.sendRedirect(url)
1)重定向,不转发请求,地址栏的url已改变
2)request.getAttribute(""),request.getParamter("")都获取不了
response.sendRedirect("/studyProject/myforward/end2.jsp?name=tomzhang");//可以带参数的
&%@ page language="java" import="java.util.*" pageEncoding="GBK"%&
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&base href="&%=basePath%&"&
&title&My JSP 'end.jsp' starting page&/title&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="This is my page"&
&link rel="stylesheet" type="text/css" href="styles.css"&
name:${param.name}, sex:${requestScope.sex}, the end page!
first2.jsp
&%@ page language="java" import="java.util.*" pageEncoding="GBK"%&
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&base href="&%=basePath%&"&
&title&My JSP 'first.jsp' starting page&/title&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="This is my page"&
&link rel="stylesheet" type="text/css" href="styles.css"&
This is my JSP page. &br&
request.setAttribute("sex", "man");
response.sendRedirect("/studyProject/myforward/end2.jsp");//绝对路径
结果:name:, sex:, the end page! url变成
2.&jsp:forward page="" /&
1)请求转发,地址栏的url不变
2)可以传递额外的参数
&jsp:param name="" value=""/&
3)request.getAttribute("");//基于请求的request共享
request.getParamter("");//请求转发
4)等同requestDispatcher.forward(url);
&jsp:forward page="/myforward/end.jsp?age=man"&//可以带参数
*使用forward一定要注意url页面的链接,不要使用相对路径;url页面的当前路径其实是第1次请求时的当前路径,所以url页面的链接都应该采用绝对路径!
例子:first.jsp
&%@ page language="java" import="java.util.*" pageEncoding="GBK"%&
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&base href="&%=basePath%&"&
&title&My JSP 'first.jsp' starting page&/title&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="This is my page"&
&link rel="stylesheet" type="text/css" href="styles.css"&
This is my JSP page. &br&
request.setAttribute("sex", "man");
&jsp:forward page="/myforward/end.jsp"&
&jsp:param value="tomzhang" name="name"/&
&/jsp:forward&
&%@ page language="java" import="java.util.*" pageEncoding="GBK"%&
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&base href="&%=basePath%&"&
&title&My JSP 'end.jsp' starting page&/title&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="This is my page"&
&link rel="stylesheet" type="text/css" href="styles.css"&
name:${param.name}, sex:${requestScope.sex}, the end page!
结果:name:tomzhang, sex:man, the end page! url一直保持不变
1. 跳转方式 应用 运用forward方法只能重定向到同一个Web应用程序中的一个资源。而sendRedirect方法可以让你重定向到任何URL。 表单form的action= "/uu ";sendRedirect( "/uu ");表示相对于服务器根路径。如应用(则提交至); Forward代码中的 "/uu "则代表相对与WEB应用的路径。如应用(则提交至); 2. (运用RequestDispatcher接口的Forward)方法 forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件, 同时forward()无法在后面带参数传递,比如servlet?name=frank,这样不行,可以程序内通过response.setAttribute( "name ",name)来传至下一个页面. 重定向后浏览器地址栏URL不变.
只有在客户端没有输出时才可以调用forward方法。如果当前页面的缓冲区(buffer)不是空的,那么你在调用forward方法前必须先清空缓冲区。 "/ "代表相对与web应用路径
RequestDispatcher
request.getRequestDispatcher( "/ooo "); rd.forward(request,
response);提交至
RequestDispatcher
getServletContext().getRequestDispatcher( "/ooo "); rd.forward(request,
response);提交至
RequestDispatcher
=getServletContext().getNamedDispatcher( "TestServlet ");(TestServlet为一个 &servlet-name& ) rd.forward(request,
response);提交至名为TestServlet的servlet
如果在 &jsp:forward& 之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。 另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交 从中转发 &jsp:forward
page= "OtherPage.jsp "/& 在JSP页面被解析后转换成pageContext.forward( "OtherPage.jsp "); "/OtherPage.jsp "提交到 "OtherPage.jsp "提交到
(运用HttpServletResponse接口的sendRedirect)方法302 是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面, 同时它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件.
假设转发代码包含于注册的servlet-url为/ggg/jsp为/ggg/tt.jsp: 绝对路径:response.sendRedirect( " ")发送至 根路径:response.sendRedirect( "/ooo ")发送至 相对路径:response.sendRedirect( "ooo ")发送至,
sendRedirect等同于此方式 response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String
"/newpath/jsa.jsp "; response.setHeader( "Location ",newLocn);
Refresh)方法200 这种方法是由HTML提供的,Meta本身就是HTML标签。使用方法是: &meta
http-equiv= "refresh "
content= "5;
/& 相应的java代码 String
content=stayTime+ ";URL= "+URL; response.setHeader( "REFRESH ",content); 3. 使用response.sendRedirect()地址栏将改变 使用request.getRequestDispatcher().forward(request,response)地址栏中的信息保持不变 4. request.setAttribute存的东西只用通过方法2跳转
才能在新页取出来 5. redirect
会首先发一个response给浏览器,
然后浏览器收到这个response后再发一个requeset给服务器,
然后服务器发新的response给浏览器.
这时页面收到的request是一个新从浏览器发来的.forward
发生在服务器内部,
在浏览器完全不知情的情况下发给了浏览器另外一个页面的response.
这时页面收到的request不是从浏览器直接发来了,可能己经放了数据.所以: request.setAttribute存的东西
只用通过方法2跳转
才能在新页取出来
本文图片和部分段落来自网络
浏览 22749
JavaCrazyer
浏览: 2536868 次
来自: 河南
这些example有些过时了,官方建议使用HBase-1.0
重命名了一下搞定了
为什么下载以后老解压不了呢?
读写以及修改excel文件,试试用pageoffice吧。
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'jsp中页面之间的跳转forward与sendRedirect的区别
字体:[ ] 类型:转载 时间:
页面之间的跳转可以通过两种方式实现:forward和sendRforward:可以在JSP页面中使用,可以在Servlet中实现,需要的朋友可以了解下
页面之间的跳转可以通过两种方式实现:forward和sendRedirect。 forward:可以在JSP页面中使用,可以在Servlet中实现。 在JSP页面中使用&jsp:forward page="目标文件"/&,例如要跳转到userlist.jsp,可以写:
代码如下: &jsp:forward page="userlist.jsp"/&
在Servlet中使用RequestDispatcher的forward方法,要跳转到userlist.jsp,可以写:
代码如下: RequestDispatcher rd = request.getRequestDispatcher("userlist.jsp"); rd.forward(request,response);
sendRedirect方式使用response对象的方法sendRedirect方法完成,代码如下:
代码如下: response.sendRedirect("userist.jsp");
两者的区别如下: 1、请求次数不同,这是最本质的区别。在forward方式下,在执行当前JSP对象或者Servlet对象的过程中去调用目标文件对应的对象,相当于方法调用,把request和response对象作为参数传递到目标文件对应的对象,当前文件和目标文件的执行是在用户发送的一次请求中完成的。在redirect方式下,用于首先请求了当前文件,当前文件把目标文件的地址返回给了客户端,客户端再次发送请求,请求目标文件,实际上是发送了两次请求。 2、传值方式不同。在forward方式下,当前文件和目标文件属于同一次请求,共享request对象,所以可以使用request对象传值。在redirect方式下,当前文件和目标文件属于不同的请求,每次请求会单独创建request和response对象,这样就不能使用request对象来传值。在MVC模式下,通常在控制器中调用模型得到数据,然后保存到request中,然后forward到目标文件,目标文件从request中获取需要的信息。如果使用sendRedirect方式在控制器和视图之间传递信息,需要使用在目标文件之后加上“?名字=值”的方式传递。 3、客户端在地址栏中看到的地址不一样,对于forward,在地址栏中看到的是第1个文件的名字,对于sendRedirect,在地址栏中看到的是第2个文件的地址。有时候会影响目标文件中的相对路径,例如当前文件是aa文件夹中的a.jsp,目标文件是bb文件夹中的b.jsp,在b.jsp中要访问一个图片,使用相对路径,直接写face.jpg,这个文件与b.jsp放在一起。如果采用forward方式,地址栏中是a.jsp,这样系统会在aa文件夹中找face.jpg,这时候就会出错。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具  用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有何区别呢?本篇在回答该问题的同时全面的讲解两种请求转发方式的原理和区别。
【出现频率】&
【关键考点】
请求转发的含义;
Forward转发请求的原理;
Redirect转发请求的原理。
【考题分析】
  Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。
  &直接转发方式(Forward),客户端和浏览器只发出一次请求,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。
  间接转发方式(Redirect)实际是两次HTTP请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。
举个通俗的例子:
  直接转发就相当于:&A找B借钱,B说没有,B去找C借,借到借不到都会把消息传递给A&;
  间接转发就相当于:"A找B借钱,B说没有,让A去找C借"。
下面详细阐述一下两者的原理:
一:间接请求转发(Redirect)
  间接转发方式,有时也叫重定向,它一般用于避免用户的非正常访问。例如:用户在没有登录的情况下访问后台资源,Servlet可以将该HTTP请求重定向到登录页面,让用户登录以后再访问。在Servlet中,通过调用response对象的SendRedirect()方法,告诉浏览器重定向访问指定的URL,示例代码如下: 
//Servlet中处理get请求的方法
public void doGet(HttpServletRequest request,HttpServletResponse response){
//请求重定向到另外的资源
response.sendRedirect("资源的URL");
  & & & & & & & 
上图所示的间接转发请求的过程如下:
浏览器向Servlet1发出访问请求;
Servlet1调用sendRedirect()方法,将浏览器重定向到Servlet2;
浏览器向servlet2发出请求;
最终由Servlet2做出响应。&
二:直接请求转发(Forward)
&  直接转发方式用的更多一些,一般说的请求转发指的就是直接转发方式。Web应用程序大多会有一个控制器。由控制器来控制请求应该转发给那个信息资源。然后由这些信息资源处理请求,处理完以后还可能转发给另外的信息资源来返回给用户,这个过程就是经典的MVC模式。
  javax.serlvet.RequestDispatcher接口是请求转发器必须实现的接口,由Web容器为Servlet提供实现该接口的对象,通过调用该接口的forward()方法到达请求转发的目的,示例代码如下:
//Servlet里处理get请求的方法
public void doGet(HttpServletRequest request , HttpServletResponse response){
//获取请求转发器对象,该转发器的指向通过getRequestDisPatcher()的参数设置
RequestDispatcher requestDispatcher =request.getRequestDispatcher("资源的URL");
//调用forward()方法,转发请求
requestDispatcher.forward(request,response);
&        
&上图所示的直接转发请求的过程如下:
浏览器向Servlet1发出访问请求;
Servlet1调用forward()方法,在服务器端将请求转发给Servlet2;
最终由Servlet2做出响应。
技巧:其实,通过浏览器就可以观察到服务器端使用了那种请求转发方式,当单击某一个超链接时,浏览器的地址栏会出现当前请求的地址,如果服务器端响应完成以后,发现地址栏的地址变了,则证明是间接的请求转发。相反,如果地址没有发生变化,则代表的是直接请求转发或者没有转发。
问:直接转发和间接转发的原理及区别是什么?
答:Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。对应到代码里,分别是RequestDispatcher类的forward()方法和HttpServletRequest类的sendRedirect()方法。
  对于间接方式,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。它本质上是两次HTTP请求,对应两个request对象。
  对于直接方式,客户端浏览器只发出一次请求,Servlet把请求转发给Servlet、HTML、JSP或其它信息资源,由第2个信息资源响应该请求,两个信息资源共享同一个request对象。
&  最后,祝大家都能找到一个称心满意的工作!
阅读(...) 评论()

我要回帖

更多关于 forward是转发吗 的文章

 

随机推荐