`

jsp中页面跳转request.sendRedirect和request.getRequestDispatcher

    博客分类:
  • Jsp
阅读更多

1、request.getRequestDispatcher()是请求转发,前后页面共享一个request; 
   response.sendRedirect()是重新定向,前后页面不是一个request。
2、RequestDispatcher.forward()是在服务器端运行;
   HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成。
   所以RequestDispatcher.forward()对于浏览器来说是“透明的”;
   而HttpServletResponse.sendRedirect()则不是。
3、ServletContext.getRequestDispatcher(String url)中的url只能使用绝对路径;
   而ServletRequest.getRequestDispatcher(String url)中的url可以使用相对路径。
   因为ServletRequest具有相对路径的概念;而ServletContext对象无次概念。

   RequestDispatcher对象从客户端获取请求request,并把它们传递给服务器上的servlet、html或jsp。
   它有两个方法:
   1. void forward(ServletRequest request,ServletResponse response)
     用来传递request的,可以一个Servlet接收request请求,另一个Servlet用这个request请求来产生response。request传递的请求,response是客户端返回的信息。
     forward要在response到达客户端之前调用,也就是 before response body output has been flushed。如果不是的话,它会报出异常。
   2. void include(ServletRequest request,ServletResponse response)
     用来记录保留request和response,以后不能再修改response里表示状态的信息。

   如果需要把请求转移到另外一个Web App中的某个地址,可以按下面的做法:
   1. 获得另外一个Web App的ServletConext对象(currentServletContext.getContext(uripath))。
   2. 调用ServletContext.getRequestDispatcher(String url)方法。
   eg:ServletContext.getRequestDispatcher("smserror.jsp").forward(request,response);

分享到:
评论

相关推荐

    数据库测试test.sql

    request.getRequestDispatcher("/admin/register.jsp").forward(request,response); return; } //2.调用业务层完成注册操作并返回结果 User user = new User(userId,realName,pwd,age, Arrays.toString...

    jsp跳转getRequestDispatcher()和sendRedirect()的区别.docx

    ### jsp跳转getRequestDispatcher()和sendRedirect()的区别 在Java Web开发中,经常会遇到页面间的跳转操作,其中两种常见的方法是`getRequestDispatcher()`和`sendRedirect()`。这两种方式虽然都能实现页面跳转,...

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

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

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

    JSP 和 Servlet 中实现页面跳转的方式实例总结 在 web 开发中,页面跳转是一个非常常见的需求,JSP 和 Servlet 是 Java Web 开发中两个最基本的组件,了解它们如何实现页面跳转是非常必要的。本文将根据 JSP 和 ...

    JSP页面跳转大全.docx

    在JavaServer Pages (JSP) 中,页面跳转是一个常见的操作,用于实现用户请求的重定向或页面间的逻辑流程控制。以下是对不同跳转方法的详细说明: 1. **forward() 方法** `forward()` 方法属于 `javax.servlet....

    jsp页面跳转的五中方法

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

    JSP页面跳转的五种方法

    ### JSP页面跳转的五种方法 在Java Web开发中,页面间的跳转是非常常见的需求之一。合理的页面跳转不仅可以提升用户体验,还能优化应用程序的结构。本文将详细介绍JSP页面跳转的五种方法:`RequestDispatcher....

    JSP页面跳转方法总结

    ### JSP页面跳转方法详解 #### 一、概述 ...在JSP开发中,合理选择不同的页面跳转方法对于提升用户体验和程序逻辑的清晰度非常重要。根据实际需求和应用场景选择最适合的跳转方式,可以更好地满足项目的需求。

    JSP跳转方式总结.doc

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

    JSP页面的五种跳转方法

    JSP页面跳转是Web开发中的重要概念,用于在用户界面上实现页面间的导航。这里主要介绍五种常见的JSP页面跳转方法,包括RequestDispatcher.forward()、response.sendRedirect()、<jsp:forward page="" / >、Meta标签...

    jsp跳转getRequestDispatcher()和sendRedirect()的区别

    在Java Servlet技术中,我们通常使用两种方法来实现页面的跳转:一个是通过`RequestDispatcher`的`forward()`方法实现请求转发,另一个是通过`HttpServletResponse`的`sendRedirect()`方法实现重定向。下面详细阐述...

    小结jsp页面跳转问题

    `<jsp:forward>`和`request.getRequestDispatcher().forward()`则适用于需要在服务器内部进行页面跳转且希望保持原有请求数据的情形。此外,还需注意在使用`<jsp:forward>`时避免缓冲区溢出等问题。

    response 对象:页面跳转.pptx

    Response 对象:页面跳转详解 Response 对象是 JSP 中九个隐式对象之一,它负责处理服务器端向客户端的...了解 Response 对象的常用方法和页面跳转的实现方式是非常重要的,这将有助于我们更好地开发 JSP 应用程序。

    JSP_页面跳转,JSP_页面跳转

    JSP页面跳转是Web开发中的基本且重要的功能之一,通过合理运用`sendRedirect()`和`forward()`方法,开发者能够构建出更加灵活、高效、用户友好的Web应用程序。理解并掌握这两种跳转方式的区别和适用场景,对于提升...

    五种JSP页面跳转方法详解

    以上介绍了五种JSP页面跳转的方法,每种方法都有其独特的应用场景和特点。开发者可以根据实际需求选择最适合的方式。需要注意的是,在选择页面跳转方式时,不仅要考虑功能需求,还要兼顾用户体验和技术实现的成本。

    Java Web中的页面跳转.pdf

    在Java Web中,主要有两种页面跳转方式:请求转发(Request Forward)和重定向(Redirect)。这两种方式有着不同的工作原理和适用场景。 **请求转发(Request Forward)** 请求转发是由服务器内部完成的,不会向...

    网站页面跳转代码大全.doc

    根据文档的标题、描述以及标签来看,本文将重点介绍JSP(JavaServer Pages)和JavaScript两种常用的技术手段来实现页面跳转,并且会侧重于简单实用的方法。 ### JSP页面跳转 #### 1. 使用`<jsp:forward>`标签进行...

    jsp页面的五种跳转方式

    本文将详细介绍 JSP 中五种常用的页面跳转方式及其应用场景。 #### 1. RequestDispatcher.forward() **概念**:`RequestDispatcher.forward()` 是一种服务器端内部转发机制,用于将当前请求转发到同一个 Web 应用...

    jsp页面跳转

    在JSP页面中嵌入JavaScript代码,利用计时器(`setTimeout`)函数来延迟一定时间后自动跳转到指定的页面。 **应用场景:** - 当需要实现提示信息后自动跳转时。 - 提升用户体验,避免用户长时间等待手动点击。 **...

    servlet跳转的几种情况

    JSP 跳转是指在 JSP 页面中使用的跳转方式。JSP 跳转可以分为三种: * `response.sendRedirect()`: 与 Servlet 的 sendRedirect() 方法相同。 * `response.setHeader("Location","")`: 设置 HTTP 头的 Location ...

Global site tag (gtag.js) - Google Analytics