java 急求SpringMVC的工作原理的解释和它的流程图

如题所述

第1个回答  2014-06-04

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. 将渲染结果返回给客户端。


Spring工作流程描述

    为什么Spring只使用一个Servlet(DispatcherServlet)来处理所有请求?

     详细见J2EE设计模式-前端控制模式

    Spring为什么要结合使用HandlerMapping以及HandlerAdapter来处理Handler?

    符合面向对象中的单一职责原则,代码架构清晰,便于维护,最重要的是代码可复用性高。如HandlerAdapter可能会被用于处理多种Handler。

java 急求SpringMVC的工作原理的解释和它的流程图
1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;...

简述springmvc框架执行流程(springmvc框架工作流程)
6、Springmvc的执行流程图Springmvc的执行流程大致如下:1)所有请求被DispatcherServlet控制器拦截。2)被拦截的请求去handlerMappings中寻找对应的HandlerMapping对象并得到请求对应的Handler对象。SpringMVC流程是什么1、springmvc工作流程如下。客户端发送请求;核心控制器DispatcherServlet接收到请求,通过系统或映...

如何解读springmvc的执行流程及原理?
在深入解读 SpringMVC 执行流程及原理之前,首先回顾 web 程序的架构模式,主流采用三层架构,即浏览器向后端服务器发送请求,后端服务器则通过 Servlet 接收请求和数据。然而,将所有处理工作仅交由 Servlet 负责,导致耦合性过强,不利于后期维护与扩展。为了优化这一情况,将后端服务器拆分为 web、service...

SpringMVC的工作原理是什么样的,跟Spring的关系是怎么样的?_百度知 ...
Spring 上下文:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。Spring上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持...

spring mvc的工作原理是什么?
spring mvc的工作原理是:提供了构建 Web 应用程序的全功能 MVC 模块。使用Spring可插入的MVC架构,可以选择是使用内置的Spring Web框架还是Struts这样的Web框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术。例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring ...

spring的编写流程(spring流程编排)
springmvc工作流程springmvc工作流程:1、用户向服务端发送一次请求,这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪个Controller来处理(并未调用Controller,只是得知)。3、DispatcherServlet调用Handler...

springmvc简单例子(springspringmvc)
5、springmvc的工作原理是:提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。怎么运行一个springmvc1、用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的...

spring mvc的特点及工作流程
1.spring mvc的入口是一个servlet(即前端控制器),而strtus的入口是一个filter过滤器 2.spring mvc是基于方法开发的(即一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或者多例模式(建议单例),strtus是基于类开发的,传递参数通过类的属性,所以只能设计程多例.

写出MVC的工作原理
1.当用户在浏览器中点击一个链接或者提交一个表单时,那么就会产生一个请求(request)。当请求离开浏览器时,它会携带用户请求的信息。2.请求的第一站到达的是Spring的DispatcherServlet,它是一个前端控制器,工作是将用户的请求委托给其他的组件(这里是交给Spring MVC的控制器)去处理。这里Dispatcher...

spring mvc的运行原理是什么,m代表什么,v代表什么,v包含些什么,m包含...
m代表model模型,v代表view视图,c代表controller,控制器。m中包含你写的业务逻辑,就是取数据的模型,v代表你显示的视图,c来控制m和v之间的关系。mvc的运行原理基本一样没有什么不一样的地方,只是不同的mvc框架的实现技术不一样吧了。接下来我给你考一段网上的别人的看法;模型-视图-控制器(...

相似回答