`

Spring mvc 转发、重定向

阅读更多

   spring控制器最后返回一个ModelAndView(urlName),其中urNamel可以是一个视图名称,由视图解析器负责解析后将响应流写回客户端;也可以通过redirect/forward:url方式转到另一个控制器进行处理.

  1. redirect方式相当于"response.sendRedirect()".这种方式外部特征就是浏览器地址栏最后显示的路径是转发后的新的路径.工作方式是这样的, 服务器端会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后服务器发新的response给浏览器. 这时页面收到的request是一个新从浏览器发来的.这种方式的结果是:
  • A.在转发前后有两个不同的request对象,转发前后的两个控制器在request上的参数(request.getParameter())和request属性(request.getAttribute())不能共享;
  • B.如果转发前后的两个控制器都配置在spring 拦截器范围内,这样拦截器会拦截前后两个request,即会拦截两次;
  • C.最后返回到浏览器后,因为地址栏显示的是转发后的url,所以刷新页面时只会执行后面的url映射的控制器.

  1. forward方式相当于request.getRequestDispatcher().forward(request,response) .这种方式的外部特征是浏览器地址显示的路径是转发前的路径.工作方式是这样,forward 发生在服务器内部,在前一个控制器处理完毕后,直接进入下一个控制器处理, 并将最后的response发给浏览器. 这种方式的结果是:
  • A.转发前后是同一个request,后一个控制器可共享前一个控制器的参数与属性;
  • B.因为是同一个request,拦截器只会拦截前一个url,如果前一个url在映射时未配置到拦截器拦截,则拦截后一个url,即只拦截一次;
  • C.最后返回到浏览器后,因为地址栏显示的是转发前的url,所以刷新页面时会依次执行前后两个控制器.

分享到:
评论

相关推荐

    Spring MVC 教程 快速入门 深入分析

    十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 <mvc:annotation-...

    Spring MVC入门教程

    十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 <mvc:annotation-...

    Spring MVC 教程快速入门 深入分析

    十四、Spring MVC转发与重定向:详细讲解了在Spring MVC中如何使用转发和重定向操作来处理请求的导航。 十五、Spring MVC处理ajax请求:讲解了如何在Spring MVC中处理异步JavaScript和XML(AJAX)请求,包括配置和...

    spring mvc重定向导致内存溢出解决方案

    ### Spring MVC 重定向导致内存溢出解决方案 在Spring MVC框架中进行页面重定向操作时,可能会遇到因重定向导致的内存溢出问题。本文将详细介绍该问题的原因、原理以及解决方法。 #### 一、问题背景及原因分析 在...

    SpringMVCDemo:Spring MVC 框架知识案例

    7.Spring MVC 请求转发与请求重定向案例 8.Spring MVC 下载 Excel 文档的需求案例 9.Spring MVC RESTful 风格的请求方式案例 10.Spring + Spring MVC + JDBCTemplate 整合并通过 RESTful 风格获取所有用户信息案例 ...

    Spring mvc 教程

    ### Spring MVC 教程知识点详解 #### Spring Web MVC 框架简介 Spring Web MVC 是 Spring Framework 的一个重要组成部分,主要用于构建基于 Java 的 Web 应用程序。它提供了一个灵活且强大的 MVC 实现,使得开发者...

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

    在Spring MVC框架中,请求转发和重定向是两种常见的处理HTTP请求的方式,它们在处理用户请求和导航页面之间有明显的差异。理解这两种方法的工作原理和使用场景对于开发高效的Web应用程序至关重要。 请求转发...

    spring mvc controller间跳转 重定向 传参

    Spring MVC controller 间跳转重定向传参 在 Spring MVC 框架中,controller 间跳转重定向传参是一个非常常见的需求。这里,我们将讨论三种常见的情况:不带参数跳转、带参数拼接 URL 形式跳转、带参数不拼接参数...

    spring mvc

    #### 十四、Spring MVC 转发与重定向 **转发** 是指服务器内部的页面跳转,不会改变浏览器地址栏中的 URL;而 **重定向** 会重新加载一个新的请求,浏览器地址栏中的 URL 会发生变化。 #### 十五、Spring MVC 处理...

    spring mvc login demo

    Spring MVC 是一个强大的Java web开发框架,用于构建可维护、高性能和灵活的Web应用程序。这个"spring mvc login demo"项目旨在提供一个基础的登录功能示例,帮助开发者理解如何在Spring MVC环境中实现用户身份验证...

    一个完整的Spring MVC的CRUD操作实例

    **Spring MVC CRUD操作实例详解** Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,它提供了模型-视图-控制器(MVC)架构的支持。在本文中,我们将深入探讨如何实现一个完整的Spring MVC CRUD(创建、...

    Spring MVC 4.2.4.RELEASE 中文文档v

    Spring MVC 4.2.4.RELEASE 是 Spring Framework 中一个重要的 Web 框架版本,它提供了一套全面的解决方案来构建 Web 应用程序。Spring MVC 是建立在 Spring 的核心功能之上,为基于模型-视图-控制器(MVC)设计模式...

    Spring MVC 教程,快速入门,深入分析

    转发与重定向是Web开发中常用的两种请求处理方式,Spring MVC提供了简单的方法来实现带参数的重定向。 处理Ajax请求也是Spring MVC的强大功能之一,通过注解和配置可以方便地与前端进行异步交互。配置文件的编写在...

    Spring MVC 4.2.4.RELEASE 中文文档

    处理器映射、视图解析、视图链、视图重定向等都是 Spring MVC 框架中用来决定如何将请求映射到具体的处理方法,以及如何解析视图和重定向逻辑。 使用 HandlerInterceptor 拦截请求可以提供一个灵活的方式来在请求...

    spring MVC要注意的地方

    Spring MVC 是一个强大的Java web应用程序开发框架,它简化了基于模型-视图-控制器(MVC)架构的应用程序构建过程。在使用Spring MVC时,有若干关键点需要注意,以确保高效、稳定和易于维护的代码。 1. **配置**: ...

    Spring MVC

    1. **DispatcherServlet**:这是Spring MVC的前端控制器,负责接收HTTP请求,并根据请求信息将其转发给合适的处理器。 2. **@Controller**:这是一个注解,用于标记处理HTTP请求的类。在我们的登录案例中,我们需要...

    Spring MVC.pptx

    详细的Spring MVC教程,内容包括控制器 重定向 保存并获取属性参数 拦截器 表单标签和验证表单 视图和视图解析器 上传文件 数据转换和格式化

    SpringMVC入门教程

    十四、 spring mvc 转发与重定向 (带参数重定向) 十五、 spring mvc 处理ajax请求 十六、 spring mvc 关于写几个配置文件的说明 十七、 spring mvc 如何取得Spring管理的bean 十八、 spring mvc 多视图控制器 十...

    spring mvc 登陆验证

    下面将详细阐述Spring MVC实现登录验证的相关知识点。 **1. Spring MVC简介** Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,简化了开发过程,使得业务逻辑与...

Global site tag (gtag.js) - Google Analytics