spring控制器最后返回一个ModelAndView(urlName),其中urNamel可以是一个视图名称,由视图解析器负责解析后将响应流写回客户端;也可以通过redirect/forward:url方式转到另一个控制器进行处理.
redirect方式相当于"response.sendRedirect()".这种方式外部特征就是浏览器地址栏最后显示的路径是转发后的新的路径.工作方式是这样的, 服务器端会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后服务器发新的response给浏览器. 这时页面收到的request是一个新从浏览器发来的.这种方式的结果是:
- A.在转发前后有两个不同的request对象,转发前后的两个控制器在request上的参数(request.getParameter())和request属性(request.getAttribute())不能共享;
- B.如果转发前后的两个控制器都配置在spring 拦截器范围内,这样拦截器会拦截前后两个request,即会拦截两次;
- C.最后返回到浏览器后,因为地址栏显示的是转发后的url,所以刷新页面时只会执行后面的url映射的控制器.
forward方式相当于request.getRequestDispatcher().forward(request,response) .这种方式的外部特征是浏览器地址显示的路径是转发前的路径.工作方式是这样,forward 发生在服务器内部,在前一个控制器处理完毕后,直接进入下一个控制器处理, 并将最后的response发给浏览器. 这种方式的结果是:
- A.转发前后是同一个request,后一个控制器可共享前一个控制器的参数与属性;
- B.因为是同一个request,拦截器只会拦截前一个url,如果前一个url在映射时未配置到拦截器拦截,则拦截后一个url,即只拦截一次;
- C.最后返回到浏览器后,因为地址栏显示的是转发前的url,所以刷新页面时会依次执行前后两个控制器.
分享到:
相关推荐
十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 <mvc:annotation-...
十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 <mvc:annotation-...
十四、Spring MVC转发与重定向:详细讲解了在Spring MVC中如何使用转发和重定向操作来处理请求的导航。 十五、Spring MVC处理ajax请求:讲解了如何在Spring MVC中处理异步JavaScript和XML(AJAX)请求,包括配置和...
### Spring MVC 重定向导致内存溢出解决方案 在Spring MVC框架中进行页面重定向操作时,可能会遇到因重定向导致的内存溢出问题。本文将详细介绍该问题的原因、原理以及解决方法。 #### 一、问题背景及原因分析 在...
7.Spring MVC 请求转发与请求重定向案例 8.Spring MVC 下载 Excel 文档的需求案例 9.Spring MVC RESTful 风格的请求方式案例 10.Spring + Spring MVC + JDBCTemplate 整合并通过 RESTful 风格获取所有用户信息案例 ...
### Spring MVC 教程知识点详解 #### Spring Web MVC 框架简介 Spring Web MVC 是 Spring Framework 的一个重要组成部分,主要用于构建基于 Java 的 Web 应用程序。它提供了一个灵活且强大的 MVC 实现,使得开发者...
在Spring MVC框架中,请求转发和重定向是两种常见的处理HTTP请求的方式,它们在处理用户请求和导航页面之间有明显的差异。理解这两种方法的工作原理和使用场景对于开发高效的Web应用程序至关重要。 请求转发...
Spring MVC controller 间跳转重定向传参 在 Spring MVC 框架中,controller 间跳转重定向传参是一个非常常见的需求。这里,我们将讨论三种常见的情况:不带参数跳转、带参数拼接 URL 形式跳转、带参数不拼接参数...
#### 十四、Spring MVC 转发与重定向 **转发** 是指服务器内部的页面跳转,不会改变浏览器地址栏中的 URL;而 **重定向** 会重新加载一个新的请求,浏览器地址栏中的 URL 会发生变化。 #### 十五、Spring MVC 处理...
Spring MVC 是一个强大的Java web开发框架,用于构建可维护、高性能和灵活的Web应用程序。这个"spring mvc login demo"项目旨在提供一个基础的登录功能示例,帮助开发者理解如何在Spring MVC环境中实现用户身份验证...
**Spring MVC CRUD操作实例详解** Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,它提供了模型-视图-控制器(MVC)架构的支持。在本文中,我们将深入探讨如何实现一个完整的Spring MVC CRUD(创建、...
Spring MVC 4.2.4.RELEASE 是 Spring Framework 中一个重要的 Web 框架版本,它提供了一套全面的解决方案来构建 Web 应用程序。Spring MVC 是建立在 Spring 的核心功能之上,为基于模型-视图-控制器(MVC)设计模式...
转发与重定向是Web开发中常用的两种请求处理方式,Spring MVC提供了简单的方法来实现带参数的重定向。 处理Ajax请求也是Spring MVC的强大功能之一,通过注解和配置可以方便地与前端进行异步交互。配置文件的编写在...
Spring MVC 是一个强大的Java web应用程序开发框架,它简化了基于模型-视图-控制器(MVC)架构的应用程序构建过程。在使用Spring MVC时,有若干关键点需要注意,以确保高效、稳定和易于维护的代码。 1. **配置**: ...
处理器映射、视图解析、视图链、视图重定向等都是 Spring MVC 框架中用来决定如何将请求映射到具体的处理方法,以及如何解析视图和重定向逻辑。 使用 HandlerInterceptor 拦截请求可以提供一个灵活的方式来在请求...
1. **DispatcherServlet**:这是Spring MVC的前端控制器,负责接收HTTP请求,并根据请求信息将其转发给合适的处理器。 2. **@Controller**:这是一个注解,用于标记处理HTTP请求的类。在我们的登录案例中,我们需要...
详细的Spring MVC教程,内容包括控制器 重定向 保存并获取属性参数 拦截器 表单标签和验证表单 视图和视图解析器 上传文件 数据转换和格式化
在工具选择上,如Spring MVC框架中,可以通过`RedirectAttributes`来方便地实现重定向,并传递附加信息。 总之,转发和重定向都是Web开发中的重要概念,它们各有优缺点,理解其工作原理并合理应用,能够帮助我们...
十四、 spring mvc 转发与重定向 (带参数重定向) 十五、 spring mvc 处理ajax请求 十六、 spring mvc 关于写几个配置文件的说明 十七、 spring mvc 如何取得Spring管理的bean 十八、 spring mvc 多视图控制器 十...