SpringMVC 组件类大全

1、SpringMVC 组件类有哪些?
      在了解Spring MVC各组件之前,我们先来看一下Spring MVC框架结构:
SpringMVC 组件类大全_第1张图片
从上图我们可以看到, 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 组件类大全_第2张图片
SpringMVC 组件类大全_第3张图片

1.2. 处理器映射器组件处理器组件(Controller)
由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责。
SpringMVC 组件类大全_第4张图片
SpringMVC 组件类大全_第5张图片

1.3. 处理器映射器组件(HandlerMapping)
SimpleUrlHandlerMapping 通过配置文件,把一个URL映射到Controller
DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上
SpringMVC 组件类大全_第6张图片
SpringMVC 组件类大全_第7张图片

1.4. 处理器适配器组件(HandlerAdapter)
AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上
SpringMVC 组件类大全_第8张图片
SpringMVC 组件类大全_第9张图片

1.5. 拦截器组件(HandlerInterceptor)
SpringMVC 组件类大全_第10张图片
SpringMVC 组件类大全_第11张图片

1.6.视图解析器组件(ViewResolver)
UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理
InternalResourceViewResolver类,比上面的类,加入了JSTL的支持
SpringMVC 组件类大全_第12张图片
SpringMVC 组件类大全_第13张图片

1.7.视图组件(View)
JstlView类
SpringMVC 组件类大全_第14张图片
LocalResolver接口
SpringMVC 组件类大全_第15张图片 HandlerExceptionResolver接口 –异常处理
SimpleMappingExceptionResolver实现类
SpringMVC 组件类大全_第16张图片
ModelAndView类, 无图
SpringMVC 组件类大全_第17张图片

1.8. 数据转换组件(DataBinder)
SpringMVC 组件类大全_第18张图片

1.9. 消息转换器组件(HttpMessageConverter)
SpringMVC 组件类大全_第19张图片

2.SpringMVC详细运行流程图
SpringMVC 组件类大全_第20张图片

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

你可能感兴趣的:(Spring)