1、SpringMVC 组件类有哪些?

      在了解Spring MVC各组件之前,我们先来看一下Spring MVC框架结构:

SpringMVC的主要组件和功能 springmvc主要组件有哪些_mvc


从上图我们可以看到, Spring MVC主要包括:

      1. 前端控制器组件(DispatcherServlet)

      2. 处理器组件(Controller)

      3. 处理器映射器组件(HandlerMapping)

      4. 处理器适配器组件(HandlerAdapter)

      5. 拦截器组件(HandlerInterceptor)

      6. 视图解析器组件(ViewResolver)

      7. 视图组件(View)

      8. 数据转换组件(DataBinder)

      9. 消息转换器组件(HttpMessageConverter)

整个处理过程从一个HTTP请求开始:
      1、可发发起HTTP请求
      2、DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping、HandlerExecutionChain),根据配置的映射规则,找到对应的处理器(Handler)和拦截器
      3、调用相应处理器处理器适配器
      4、转换消息和数据,执行响应拦截器处理方法
      5、调用相应处理器(Handler, 即Controller类)中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据
      6、DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析器)
      7、根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图
      8、最后给浏览器构造一个HTTP响应。

1.1. 前端控制器组件(DispatcherServlet)

SpringMVC的主要组件和功能 springmvc主要组件有哪些_组件_02


SpringMVC的主要组件和功能 springmvc主要组件有哪些_SpringMVC的主要组件和功能_03

1.2. 处理器映射器组件处理器组件(Controller)

由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责。

SpringMVC的主要组件和功能 springmvc主要组件有哪些_mvc_04


SpringMVC的主要组件和功能 springmvc主要组件有哪些_组件_05

1.3. 处理器映射器组件(HandlerMapping)

SimpleUrlHandlerMapping 通过配置文件,把一个URL映射到Controller

DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上

SpringMVC的主要组件和功能 springmvc主要组件有哪些_spring mvc_06


SpringMVC的主要组件和功能 springmvc主要组件有哪些_spring_07

1.4. 处理器适配器组件(HandlerAdapter)

AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上

SpringMVC的主要组件和功能 springmvc主要组件有哪些_spring_08


SpringMVC的主要组件和功能 springmvc主要组件有哪些_组件_09

1.5. 拦截器组件(HandlerInterceptor)

SpringMVC的主要组件和功能 springmvc主要组件有哪些_SpringMVC的主要组件和功能_10


SpringMVC的主要组件和功能 springmvc主要组件有哪些_spring_11

1.6.视图解析器组件(ViewResolver)

UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理

InternalResourceViewResolver类,比上面的类,加入了JSTL的支持

SpringMVC的主要组件和功能 springmvc主要组件有哪些_spring mvc_12


SpringMVC的主要组件和功能 springmvc主要组件有哪些_mvc_13

1.7.视图组件(View)

JstlView类

SpringMVC的主要组件和功能 springmvc主要组件有哪些_mvc_14


LocalResolver接口

SpringMVC的主要组件和功能 springmvc主要组件有哪些_spring_15

HandlerExceptionResolver接口 –异常处理

SimpleMappingExceptionResolver实现类

SpringMVC的主要组件和功能 springmvc主要组件有哪些_spring_16


ModelAndView类, 无图

SpringMVC的主要组件和功能 springmvc主要组件有哪些_SpringMVC的主要组件和功能_17

1.8. 数据转换组件(DataBinder)

SpringMVC的主要组件和功能 springmvc主要组件有哪些_mvc_18

1.9. 消息转换器组件(HttpMessageConverter)

SpringMVC的主要组件和功能 springmvc主要组件有哪些_SpringMVC的主要组件和功能_19

2.SpringMVC详细运行流程图

SpringMVC的主要组件和功能 springmvc主要组件有哪些_SpringMVC的主要组件和功能_20

本文参考:http://blog.sina.com.cn/s/blog_667ac0360102ed6h.html