`

Web开发7:请求转发与重定向的区别

 
阅读更多

需注意的是:所谓重定向是指:A.JSP页面发送请求到Servlet,Servlet再重定向到另一个B.JSP页面,这其中的重定向到另一个页面所做的动作是-------从Servlet返回到之前请求的A.JSP页面,再由A发送请求到B.JSP如下图所示

 

重定向与请求转发的区别是:request对象中保存的参数与attribute值在请求转发过程中都不会丢失,因为它们是同一个对象。而由于重定向需要重新返回到之前的JSP页面中重新发起request请求,所以之前保存的值都会丢失。

 

补充:

 

 

请求重定向与请求转发的比较,HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有很大的区别。

 

1.RequestDispatcher.forward方法只能将请求转发给同一个Web应用中的组件,HttpServletResponse.sendRedirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到痛一个站点上的其他应用程序的资源,甚至是使用绝对URL重定向到其他站点的资源。对于sendRedirect如果传递的URL以"/"开头,他是相对于整个Web站点的根目录;对于forward如果传递的URL以"/"开头,它是相对于当前Web应用程序的根目录。

 

2.sendRedirect对浏览器做出的响应是重新发出对另外一个URL的访问请求,forward在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果

 

3.forward的调用者与被调用者之间共享相同的request对象和response对象,他们属于痛一个访问请求和响应过程;sendRedirect的调用者与被调用者使用各自的request和response对象,属于两个独立的访问请求和响应过程。

 

分享到:
评论

相关推荐

    请求转发与重定向的区别

    在Web应用开发中,请求转发(Request Forwarding)和重定向(Redirect)是两种常见的用于控制用户请求流向的技术。理解它们的区别对于深入学习Java Servlet、Web编程或HTTP协议至关重要。 首先,请求转发是在服务器...

    请求转发与重定向

    在Web开发中,**请求转发**与**重定向**是两种非常重要的控制流程技术,它们都用于实现页面跳转的功能,但其工作原理和应用场景有所不同。 #### 二、请求转发 ##### 1. 定义 **请求转发**是在服务器内部进行的,它...

    转发与重定向的区别

    转发与重定向是Web开发中常用的两种页面跳转方式,它们各有优缺点,适用于不同的场景。理解它们的工作原理及差异对于开发高质量的应用程序至关重要。希望本文能够帮助开发者更好地选择合适的跳转方式,提高应用程序...

    请求转发和重定向的区别共1页.pdf.zip

    在Web开发中,请求转发和重定向是两种常见的服务器端处理客户端请求的技术,它们虽然都是用来改变客户端浏览器的页面展示,但实现机制和效果却大相径庭。本篇文章将详细解析请求转发与重定向的区别。 一、请求转发...

    servlet请求转发、重定向、包含

    Servlet请求转发、重定向和包含是Servlet中处理客户端请求的重要技术,它们都涉及到如何有效地管理用户请求和页面跳转,但各自有不同的特性和应用场景。 1. **请求转发(Request Forward)** - 请求转发是在服务器...

    请求转发与重定向详解代码

    在Web开发中,请求转发(Request Forward)和重定向(Redirect)是两种常见的处理客户端请求的方式,它们在处理用户请求并展示相应页面时起到关键作用。这篇文章将深入讲解这两种技术的工作流程,以及它们在实际应用...

    java servlet请求转发重定向

    在Java Web开发中,请求转发和重定向是两种非常重要的技术手段,用于控制页面之间的跳转逻辑。这两种技术虽然都能实现页面间的跳转,但其工作原理、应用场景及优缺点等方面存在显著差异。本文将详细介绍请求转发和...

    转发和重定向的区别

    在Web开发中,"转发"(Forward)和"重定向"(Redirect)是两种常见的页面跳转方式,它们虽然在效果上看似相似,但其实有着本质的区别。理解这两种技术的工作原理及其应用场景对于优化应用程序的性能和用户体验至关...

    小谈“转发与重定向”

    转发(Forward)与重定向(Redirect)是Web开发中两种常见的页面跳转方式,它们各自有着不同的应用场景与特点。为了更好地理解这两种机制,我们首先来了解一下它们的基本概念。 1. **转发(Forward)**:转发是一种...

    重定向和转发的区别

    在Web开发中,经常需要用到重定向(Redirect)与转发(Forward)这两种控制页面跳转的技术。尽管它们都能实现页面之间的跳转,但在具体的应用场景和技术实现上却有着本质的不同。下面将从多个角度来详细阐述两者的...

    Javaweb请求转发及重定向实现详解

    三、请求转发与重定向的区别 请求转发和重定向都是实现页面跳转的机制,但是它们有着不同的实现机制和应用场景。 请求转发: * 请求地址不会发生改变 * 在同一个Controller中实现 * 使用forward关键字 重定向: ...

    转发与重定向的详细说明

    ### 转发与重定向的详细说明 #### 一、转发 转发是Web应用程序中常见的一种机制,它主要用于在同一个Web应用内部的不同组件间共享请求数据。在Servlet和JSP技术中,转发是一个非常重要的概念,对于实现复杂的业务...

    基于框架的Web开发-处理数据模型、转发和重定向.docx

    在基于框架的Web开发中,Spring MVC是一个广泛使用的轻量级框架,用于构建高效、可维护的Web应用程序。本文将详细讲解如何处理模型数据、转发和重定向,这些都是Spring MVC中核心的流程控制机制。 首先,`@...

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

    - 请求转发是在服务器内部完成的,客户端浏览器并不知情。这意味着,浏览器的URL不会改变,因为请求并没有离开当前应用。 - 转发路径可以是相对路径,也可以是绝对路径。相对路径可以不以斜杠开头,表示相对于当前...

    详解spring mvc 请求转发和重定向

    在Spring MVC框架中,请求转发和...总的来说,请求转发通常用于在同一应用内部进行页面间的导航,而重定向则常用于外部链接、登录重定向或防止表单重复提交等情况。在实际开发中,开发者应根据具体需求选择合适的方法。

    页面转向与重定向

    页面转向与重定向是 Web 开发中两个非常重要的概念,它们都是用于在不同的 Web 资源之间进行跳转的,但是它们之间有着很大的区别。下面我们将详细介绍转发和重定向的概念、调用方式、工作流程和区别。 一、调用方式...

    forward转发与redirect重定向的区别.zip

    在Web开发中,"转发"(Forward)和"重定向"(Redirect)是两种常见的请求处理方式,它们在实现客户端和服务器之间的交互时起到至关重要的作用。了解它们的区别对于优化用户体验和提高应用性能至关重要。 首先,让...

Global site tag (gtag.js) - Google Analytics