`
a137268431
  • 浏览: 146578 次
文章分类
社区版块
存档分类
最新评论

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 教程 快速入门 深入分析

    十四、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-...

    SpringMVC框架架构介绍

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

    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 mvc controller间跳转 重定向 传参

    spring mvc controller间跳转 重定向 传参

    Spring MVC.pptx

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

    SpringMVC入门教程

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

    Spring_MVC_教程_快速入门_深入分析

    spring mvc 核心类与接口 spring mvc 核心流程图 spring mvc DispatcherServlet说明 spring mvc 双亲上下文的说明 springMVC-mvc.xml 配置...spring mvc 转发与重定向 如何给spring3 MVC中的Action做JUnit单元测试?

    PRGStarBucksSpringMVC:Spring mvc 项目后重定向获取模式,学习目的

    PRGStarBucksSpringMVC Spring mvc 项目后重定向获取模式,学习目的 显示页面以响应 Post 请求不是一个好主意,因为它可能会导致问题。 一种解决方法。

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

    5.4 处理模型数据、转发和重定向 Spring MVC通过@RequestMapping注解将请求引导到处理方法上,并可以将请求消息绑定到方法的参数上。将请求绑定到方法上只是处理的第一步,方法还要执行相应的逻辑运算,产生模型数据...

    spring3.0_mvc框架_05_相关注解的用法_ModelAndView的用法_请求转发和重定向_方法返回值处理.flv

    这里是我自学 springmvc 框架的基本教程,按照这个教程可以轻松的掌握SpringMvc的搭建和使用,同时下一步本人会将 SpringMVC和数据库操作集成学习也进行分项,本次学习共八节,这里是第五节。 剩余章节,后续更新

    ASP.NET MVC页面重定向简单介绍

    在asp.net中页面重定向:Server.Execute(“m2.aspx”); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, 再返回本页继续执行.再将三者结果合并后返回给浏览器. 以上都是服务器端页面转向所以浏览器不出现页...

    springMVC + Hibernate 工程模板

    spring增强性mvc hibernate dao 操作(一个basedao全部搞定) 两种配置:oracle mysql,切换数据库只要把SessionFactory的配置文件改成对应就可以了 c3p0配置:mysql调试通过,oracle由于存在问题,未配置 spring...

    基于java的企业级应用开发:Spirng MVC入门.ppt

    11.1 Spring MVC概述 Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异。 11.1 Spring MVC概述 是Spring框架的一...

    Spring mvc RESTful demo

    NULL 博文链接:https://huangtut.iteye.com/blog/540859

    spring3+mybatis3+spring3 mvc整合带数据库基础操作

    整合了spring3+spring3 mvc+mybatis,里面包括了基础的增删查,spring mvc主要介绍了表单控制,以及参数传递,重定向操作

    AssignmentSpringMVC:使用 Spring MVC 为 MobileIron 分配展示用户、设备和应用程序关系

    用于用户、设备和应用程序模型的 Spring MVC 和 Hibernate 应用程序 ##链接到应用程序: : 更多详情请参考链接: : #申请详情 ###Person:####Model:Person.java 此模型将姓名和电子邮件作为必填字段。 它与...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...

Global site tag (gtag.js) - Google Analytics