Spring MVC 中重定向 及 重定向源码跟踪

index.jsp加上一个超链接跳转到这个testRedirect就行。后台会正常的打印数据,前台重定向到根目录下的index.jsp。

看源码
一步一步打断点。先把return断掉。

前天请求,后台就会进入debug模式,向上找,找到doDispatch

你就会发现是在这里返回的mv,这个mv就是ModelAndView类型。底下有处理这个mv的processDispatchResult,点进去。

会找到渲染的方法render,点进去

可以看到是在这里通过viewName给view赋值,具体赋值点进去

找到第一个抽象方法AbstractCachingViewResolver

你会发现其实是在这里creatView的,继续

继续找到UrlBasedViewResolver

到这里就功德圆满了,可以看到根据前面的redirect来重定向。

时间: 2024-10-26 08:35:08

Spring MVC 中重定向 及 重定向源码跟踪的相关文章

springmvc-页面中js跳转URL,与spring mvc中返回视图重定向,先后问题

问题描述 页面中js跳转URL,与spring mvc中返回视图重定向,先后问题 页面中有javascript函数: function mySubmitFn() { /*formname是页面form表单的名字,表单提交后由spring mvc处理,返回一个重定向视图'return new ModelAndView(new RedirectView("A.jsp"));'*/ formname.submit(); //代码1 window.location.href='B.jsp';/

Spring MVC 中的异常处理 (handling exceptions)

在任何应用开发中都需要对异常情况做处理,web应用也是如此.但是在Spring MVC中,所有的Request都是由Servlet处理的,返回的结果都是Response.也就是说,无论请求过程中出现什么异常,返回的都是一个Response,所有异常信息都要转换成Response. 当然,Spring提供了多种异常信息到Response信息的转换方式: 1. 一些特定的Spring异常已经被自动映射特定的http status code 2. 我们可以通过@ResponseStatus注解将一个异

Http请求中Content-Type讲解以及在Spring MVC中的应用

引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息. Content-Type MediaType,即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息. [html] view pl

为什么在csdn中下载的java源码导入后有问题

问题描述 为什么在csdn中下载的java源码不是不能导入,就是导入后有问题又找不到作者帮忙,谁能帮我远程看看呢?也希望上传者能有点说明性文档,一般下载者都是初学者,下载了各种问题你说怎么办? 解决方案 解决方案二:具体什么问题呢.是什么错误,是少jar吗?解决方案三:有一个是源代码有点乱,我新建一个项目然后把它复制进去的,也不知道是哪错了,还有一个是没有数据库的自己新建的数据库,然后运行,就出错了,你能否远程呢解决方案四: 解决方案五:引用3楼qq_14942305的回复:缺少spring的j

Spring MVC中的MultiActionController用法详解

Spring MVC 中 Controller 的层次实在是多,有些眼花缭乱了 .在单个的基础上,再新加两三个叫做丰富,再多就未必是好事, 反而会令人缩手新闻片脚,无从定夺.多数 Controller 都是只完 成一个任务,不过也有一个像 Struts 的 DispatchAction 的那样 的 Conntroller, org.springframework.web.servlet.mvc.multiaction.MultiActio nController,意即在一个 Controller

spring MVC中获取request和response

spring MVC中获取request和response: Java代码   HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();                   HttpServletResponse response = ((ServletRequestAttributes) RequestContextHol

jsp页面传值在spring mvc中的controller中的获取

问题描述 jsp页面传值在spring mvc中的controller中的获取 <% Seller seller =(Seller)session.getAttribute("sellerinfo"); %> <form action="<%=basePath%>plmanage/updateSeller.do" method="post"> <input type="hidden"

Apache Spark源码走读(十一)浅谈mllib中线性回归的算法实现&amp;Spark MLLib中拟牛顿法L-BFGS的源码实现

<一>浅谈mllib中线性回归的算法实现 概要 本文简要描述线性回归算法在Spark MLLib中的具体实现,涉及线性回归算法本身及线性回归并行处理的理论基础,然后对代码实现部分进行走读. 线性回归模型 机器学习算法是的主要目的是找到最能够对数据做出合理解释的模型,这个模型是假设函数,一步步的推导基本遵循这样的思路 假设函数 为了找到最好的假设函数,需要找到合理的评估标准,一般来说使用损失函数来做为评估标准 根据损失函数推出目标函数 现在问题转换成为如何找到目标函数的最优解,也就是目标函数的最

在 android studio中如何查看android源码

问题描述 在 android studio中如何查看android源码 比如要看 Activity.class源码 比如要看 Activity.class源码 比如要看 Activity.class源码 比如要看 Activity.class源码 解决方案 声明一个Activity变量,按住ctrl,鼠标点击Activity字样 解决方案二: Android Studio 作为Google的亲儿子,Nexus手机系列所收到的待遇大家有目共睹.Android5.0出来之后,Nexus5第一时间就升

spring mvc中使用post方式请求返回405

问题描述 spring mvc中使用post方式请求返回405 后台处理方法 @RequestMapping(value=""/doLogin"" method=RequestMethod.POST) public ModelAndView doLogin(HttpSession session){ logger.info(""user login.""); session.setAttribute(""U