`
lorenhood
  • 浏览: 56267 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

RequestDispatcher 和 Response.SendRedirect

阅读更多
RequestDispatcher.forward 和  Response.sendRedirect 都可以改变 Request请求。

但是两者是有区别的。

先来看一下Request请求,从客户端发起一个 Request请求,WEB 服务器收到请求后,先经过N个过滤器,最后达到访问的页面(Servlet)。然后再原路返回Response。

RequestDispatcher.forward 它是在Servlet之间跳转,它可以把原先请求的Request原封不动的转给下一个Servlet,也可以在request和 response中添加内容。所有的Servlet处理完成后,再返回客户端。

而sendRedirect则不同,它是将新的URL 返回给客户端。 客户端再根据response 中的URL发起新的请求。此时,它又经过了一次Filter的过滤。


对客户端来说,RequestDispatcher.forward 的跳转,是透明的,客户端没有任何察觉。地址中的仍是最原先的请求地址。

Response.sendRedirect则是,客户端收到第一次请求返回后,根据新的URL 再一次发起请求,实际上是2次Request请求,而第2次请求中,也不会包含第一次请求中的参数了。地址栏中的页面,也变成了新的URL。
0
0
分享到:
评论

相关推荐

    数据库测试test.sql

    response.sendRedirect(request.getContextPath()+"/admin/login.jsp"); } public void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //...

    JSP中5种跳转foward,request等等的详细区别

    JSP 中有五种跳转方式,包括 RequestDispatcher.forward()、response.sendRedirect()、jsp:forward、RequestDispatcher.include() 和 HttpServletResponse.sendRedirect()。下面我们将详细介绍这五种跳转方式的区别...

    jsp和servlet中实现页面跳转的方式实例总结.docx

    使用 response.sendRedirect 方法可以将请求重定向到另一个 JSP 页面。例如: ```jsp response.sendRedirect("test2.jsp"); %> ``` 3. 使用 forward 标签 使用 forward 标签可以将请求转发到另一个 JSP 页面。...

    JSP跳转方式总结.doc

    本文将重点讨论两种主要的JSP跳转方式:`RequestDispatcher.forward()` 和 `response.sendRedirect()`,以及JSP标签 `<jsp:forward page="">`。 1. `RequestDispatcher.forward()` `RequestDispatcher.forward()` ...

    Servlet转发与重定向

    4. 请求与响应的对象:RequestDispatcher.forward 方法的调用者与被调用者之间共享相同的 request 对象和 response 对象,而 HttpServletResponse.sendRedirect 方法调用者与被调用者使用各自的 request 对象和 ...

    JSP页面的五种跳转方法

    这里主要介绍五种常见的JSP页面跳转方法,包括RequestDispatcher.forward()、response.sendRedirect()、、Meta标签以及JavaScript的location对象。 1. RequestDispatcher.forward() 这种方法在服务器端执行,它允许...

    jsp跳转的五种方式

    与 `RequestDispatcher.forward()` 不同,`response.sendRedirect()` 是一种客户端的跳转方式。这意味着它可以在用户的浏览器端完成跳转操作,并且可以携带参数进行传递。例如,从一个页面传递参数到另一个页面。 *...

    JSP页面跳转的五种方法

    本文将详细介绍JSP页面跳转的五种方法:`RequestDispatcher.forward()`、`response.sendRedirect()`、`jsp:forward`、修改HTTP header `Location`以及利用`<meta>`标签实现自动跳转。 #### 1. RequestDispatcher....

    response设置的实例源码

    response.sendRedirect("/newLocation"); ``` 2. 转发:`RequestDispatcher`的`forward(ServletRequest request, ServletResponse response)`方法可以在服务器端将请求转发到另一个资源。这不会改变客户端的URL。 ``...

    servlet跳转的几种情况

    Redirect 跳转可以使用 response.sendRedirect() 方法来实现。例如: `response.sendRedirect("/a.jsp");` Redirect 跳转的特点是: * 可以跳转到任何页面,不局限于本 web 应用中。 * 浏览器地址栏会变化。 * ...

    Servlet跳转方式sendReDirect

    在Servlet中,有两种主要的跳转方式:`RequestDispatcher.forward()`和`ServletResponse.sendRedirect()`。这两种方法在处理客户端请求时有不同的行为和应用场景。 1. `RequestDispatcher.forward()` - `forward()...

    JSP与Servlet传值技术总结

    2. sendRedirect方法:使用response.sendRedirect()方法来传递数据,例如:response.sendRedirect("http://localhost/Try/a.jsp?a=a&b=b") 3. jsp include指令:使用指令来传递数据,例如:<jsp:include page="Head....

    response 对象:页面跳转.pptx

    使用 `response.sendRedirect(path)` 方法可以实现重定向。例如: ```java response.sendRedirect("nextPage.jsp"); ``` 重定向会丢失所有的请求参数和 request 范围的属性,地址栏也会变为重定向的地址。 转发...

    jsp跳转详情

    本文将详细介绍JSP(Java Server Pages)中实现页面跳转的五种常见方法:`RequestDispatcher.forward()`、`response.sendRedirect()`、`jsp:forward`标签、通过修改HTTP Header `Location`来跳转以及利用`<meta>`...

    java web知识集锦2.doc

    - 使用`sendRedirect()`进行跳转时,可以通过在URL后面添加查询字符串的形式传递参数,例如:`response.sendRedirect("newpage.jsp?param=value");` 3. **应用场景** - 当需要跨应用程序跳转时,`sendRedirect()`...

    第20章 Request和Response.pdf

    - `RequestDispatcher.forward(ServletRequest request, ServletResponse response)`:在服务器端内部将请求转发到其他资源,客户端浏览器并不感知这一过程。 2. **重定向**: - `sendRedirect()`:客户端浏览器...

    小结jsp页面跳转问题

    通过本文档,我们将深入探讨几种常用的JSP页面跳转方式:`response.sendRedirect()`、`response.setHeader()`以及`<jsp:forward>`指令,并通过具体的示例代码来解析这些方法的工作原理及注意事项。 #### 一、`...

    JSP中5种跳转的方法

    `response.sendRedirect(String path)` 方法则是一种重定向机制。它会生成一个新的HTTP请求并指向新的资源位置,客户端浏览器的URL会发生变化,显示的是重定向后的URL。这种方式常用于跨域资源跳转或需要改变客户端...

    java web知识集锦.doc

    - `response.sendRedirect(url)`:跳转到指定的URL地址,会产生一个新的`HttpServletRequest`对象。 - 在URL后添加参数,例如:`url?id=1`。 2. **特点** - 可以重定向到任何URL,包括不同Web应用中的资源。 -...

    jsp页面跳转的五中方法

    本文将详细介绍五种常用的JSP页面跳转方法:`RequestDispatcher.forward()`、`response.sendRedirect()`、`jsp:forward`、`request.getRequestDispatcher().include()`以及`<jsp:include>`。这些方法各有特点,适用...

Global site tag (gtag.js) - Google Analytics