`
LiYunpeng
  • 浏览: 950995 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Java重定向sendRedirect与请求转发的区别

    博客分类:
  • Java
阅读更多
此内容纯属COPY


请求重定向与请求转发的比较,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对象,属于两个独立的访问请求和响应过程。


spring中使用的是redirect 和 forward
分享到:
评论

相关推荐

    请求转发与重定向

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

    java servlet请求转发重定向

    ### Java Servlet 请求转发与重定向详解 #### 一、引言 在Java Web开发中,请求转发和重定向是两种非常重要的技术手段,用于控制页面之间的跳转逻辑。这两种技术虽然都能实现页面间的跳转,但其工作原理、应用场景...

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

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

    请求重定向个请求分派

    * 请求分派只能将请求转发给同一个 Web 应用程序中的其他组件,而重定向不仅可以定向到当前应用程序中的其他资源,也可以重定向到其他站点的资源上。 * 重定向的访问过程结束后,浏览器地址栏中显示的 URL 会发生...

    深入浅出Java 重定向和请求转发的区别

    在Java Web开发中,了解重定向(Redirect)和请求转发(Request Forward)的区别至关重要,因为它们是控制HTTP请求流向的主要手段。这两种技术都是用来在不同的Web资源之间传递控制,但它们的工作方式和应用场景有所...

    javaServlet请求转发和重定向.pdf

    Java Servlet 请求转发和重定向 Java Servlet 请求转发和重定向是两种不同的页面跳转机制,它们在 Web 应用程序中扮演着重要的角色。理解这两种机制的区别和使用场景是非常重要的。 请求转发是指将请求再转发到另...

    转发与重定向的区别

    ### 转发与重定向的区别 在Web开发中,转发(Forward)和重定向(Redirect)是两种常见的页面跳转方式。这两种方法虽然都能实现页面的跳转,但其内部工作原理、对客户端的影响以及应用场景都有所不同。本文将详细...

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

    请求转发与重定向有以下显著区别: 1. **客户端行为**:请求转发对客户端透明,客户端并不知道请求被转发了;而重定向则是客户端收到服务器的响应后,自己发起新的请求。 2. **URL显示**:转发后,浏览器地址栏的...

    重定向和转发的区别

    ### 重定向与转发在Java Web中的区别 在Java Web开发中,理解“重定向”与“转发”的概念及其差异至关重要。这两种机制都是用于在Web应用程序内部或跨应用程序之间导航和控制请求流程的关键手段,但它们在实现方式...

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

    本篇文章将详细解析请求转发与重定向的区别。 一、请求转发(Request Forwarding) 1. 定义:请求转发是在服务器端完成的内部操作,它不涉及客户端浏览器的任何更改。当服务器接收到一个请求后,可以决定将该请求...

    Servlet转发与重定向

    Servlet 转发与重定向是 Java Servlet 编程中两个重要的概念,它们都可以让浏览器获得另外一个 URL 所指向的资源,但是它们的内部运行机制有着很大的区别。 RequestDispatcher.forward 方法 RequestDispatcher....

    直接请求转发(Forward)和间接请求转发(Redirect)两种区别.docx

    直接请求转发和间接请求转发的主要区别在于请求处理的方式和用户感知。直接转发在服务器内部进行,不改变URL,保留请求状态;而间接转发通过浏览器重新发起请求,URL变化,请求状态丢失。在设计Web应用时,需要根据...

    JavaWeb中的 请求转发 和 重定向.docx

    在JavaWeb开发中,请求转发和重定向是两种常见的客户端请求处理方式,它们都是用于将一个请求从一个Servlet传递到另一个Servlet或者从一个资源跳转到另一个资源。这两种方法虽然都可以实现页面间的跳转,但它们的...

    sendRedirect()和forward()

    例如,我们可以使用sendRedirect()方法将客户端重定向到其他服务器上的某个Web应用程序资源,而forward()方法只能在同一Web应用程序中进行请求转发。 在实际开发中,我们需要根据不同的需求选择适合的方法。如果...

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

    在Java的Servlet编程中,`转发`和`重定向`是两种不同的机制,用于在服务器端将客户端的请求导向不同的资源。它们的主要区别在于请求处理流程、URL改变以及数据共享方式。 1. 转发(Forward): - 使用`...

    java 转发和重定向区别及实例代码

    在Java Web开发中,转发(Forward)和重定向(Redirect)是两种常见的URL导航技术,它们都是用来在多个页面间转移控制权,但其工作原理和应用场景有所不同。 **转发(Forward)** 转发是服务器端的操作,它发生在同...

    关于java应用cookie

    ### 关于Java应用Cookie知识点详解 #### 一、Cookie简介 Cookie是一种常用的技术,用于存储用户的访问信息。在Web开发中,服务器可以将少量的信息发送到客户端浏览器,并存储在客户端,这种信息就是Cookie。当...

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

    相比之下,请求重定向(Redirecting)则是通过`HttpServletResponse.sendRedirect()`方法完成的。重定向涉及到两次HTTP请求: 1. 服务器向浏览器发送一个响应,指示浏览器发起一个新的HTTP请求到指定的URL。 2. ...

    HttpServletResponse对象、HttpServletResponse应用、请求重定向

    它与转发不同,转发发生在服务器内部,而重定向会发送一个新的HTTP请求到客户端。 1. 使用`sendRedirect(String location)`方法进行重定向,`location`参数通常是相对或绝对URL。例如,`response.sendRedirect("/...

    页面转向与重定向

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

Global site tag (gtag.js) - Google Analytics