SpringMVC流程

Spring工作流程描述
1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;
2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;
3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)
4. 提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:
HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息
数据转换:对请求消息进行数据转换。如String转换成Integer、Double等
数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等
数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
5. Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;
6. 根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;
7. ViewResolver 结合Model和View,来渲染视图
8. 将渲染结果返回给客户端。

流程图如下:

时间: 2024-08-08 20:30:21

SpringMVC流程的相关文章

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构 DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服务

SpringMVC 流程 配置 接口

SpringMVC简介 一 流程介绍 1.角色划分 前端控制器(DispatcherServlet).请求到处理器映射(HandlerMapping).处理器适配器(HandlerAdapter).视图解析器(ViewResolver).处理器或页面控制器(Controller).验证器(Validator).命令对象(Command请求参数绑定到的对象就叫命令对象).表单对象(Form Object提供给表单展示和提交到的对象就叫表单对象). 2.流程图 3.具体步骤:(1)首先用户发送请求-

SpringMVC流程架构基础理论

Spring web mvc和Struts2都属于表现层的框架 1. 用户发起request请求至控制器(Controller) 控制接收用户请求的数据,委托给模型进行处理 2. 控制器通过模型(Model)处理数据并得到处理结果 模型通常是指业务逻辑 3. 模型处理结果返回给控制器 4. 控制器将模型数据在视图(View)中展示,web中模型无法将数据直接在视图上显示,需要通过控制器完成. 5. 控制器将视图response响应给用户 通过视图展示给用户要的数据或处理结果. springMVC

SpringMVC流程架构图

[组件说明] 以下组件通常使用框架提供实现: 1.DisPatcherServlet:前端控制器(不需要程序员开发) 用户请求到达前端控制器,它相当于MVC模式中的C(Controller),DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性. 作用:作为接受请求,相应结果,相当于转发器,中央处理器,减少其他组件之间的耦合度. 2.HandlerMapping:处理器映射器(不需要程序员开发) H

springmvc流程跟踪

springmvc的执行流程前端控制器继承自servlet方法我们在dispatcherServlet里找到doService方法进入:  this.doDispatch(request, response); 里面是定义一些参数,主要的是:  mv = ha.handle(processedRequest, response, mappedHandler.getHandler()); 大致是调用控制器方法,执行的是RequestMappingHandlerAdapter(是HandlerAda

SpringMvc流程分析,简单源码分析

SpringMvc的请求入口:web.xml中的DispatcherServlet <servlet> <servlet-name>springServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfi

SpringMVC(二)——流程控制

SpringMVC主要就是用来做流程控制的,这篇博客总结一下如何在流程控制添加Interceptor(拦截器),如何将进行流程Mapping映射解析,如何编写Controller(控制器). 一,首先看一下框架中的映射解析器,用来将uri和控制器进行绑定的: 1,   SpringMVC框架的默认解析器采用是:bean的name属性名称作为URI,与控制器进行映射绑定,BeanNameUrlHandlerMapping.例如: [html] view plaincopyprint? <span 

SpringMVC(二)流程控制

SpringMVC主要就是用来做流程控制的,这篇博客总结一下如何在流程控制添加Interceptor(拦截器),如何将进行流程Mapping映射解析,如何编写Controller(控制器). 一,首先看一下框架中的映射解析器,用来将uri和控制器进行绑定的: 1,   SpringMVC框架的默认解析器采用是:bean的name属性名称作为URI,与控制器进行映射绑定,BeanNameUrlHandlerMapping.例如: [html] view plaincopyprint? <bean 

SpringMVC(二) 流程控制

SpringMVC主要就是用来做流程控制的,这篇博客总结一下如何在流程控制添加Interceptor(拦截器),如何将进行流程Mapping映射解析,如何编写Controller(控制器). 一,首先看一下框架中的映射解析器,用来将uri和控制器进行绑定的: 1,   SpringMVC框架的默认解析器采用是:bean的name属性名称作为URI,与控制器进行映射绑定,BeanNameUrlHandlerMapping.例如: [html] view plaincopyprint? <bean