SpringMVC 组件类大全
2016-08-22 22:19
239 查看
1、SpringMVC 组件类有哪些?
在了解Spring MVC各组件之前,我们先来看一下Spring 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)
1.2. 处理器映射器组件处理器组件(Controller)
由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责。
1.3. 处理器映射器组件(HandlerMapping)
SimpleUrlHandlerMapping 通过配置文件,把一个URL映射到Controller
DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上
1.4. 处理器适配器组件(HandlerAdapter)
AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上
1.5. 拦截器组件(HandlerInterceptor)
1.6.视图解析器组件(ViewResolver)
UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理
InternalResourceViewResolver类,比上面的类,加入了JSTL的支持
1.7.视图组件(View)
JstlView类
LocalResolver接口
HandlerExceptionResolver接口 –异常处理
SimpleMappingExceptionResolver实现类
ModelAndView类, 无图
1.8. 数据转换组件(DataBinder)
1.9. 消息转换器组件(HttpMessageConverter)
2.SpringMVC详细运行流程图
本文参考:http://blog.sina.com.cn/s/blog_667ac0360102ed6h.html
在了解Spring MVC各组件之前,我们先来看一下Spring 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)
1.2. 处理器映射器组件处理器组件(Controller)
由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责。
1.3. 处理器映射器组件(HandlerMapping)
SimpleUrlHandlerMapping 通过配置文件,把一个URL映射到Controller
DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上
1.4. 处理器适配器组件(HandlerAdapter)
AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上
1.5. 拦截器组件(HandlerInterceptor)
1.6.视图解析器组件(ViewResolver)
UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理
InternalResourceViewResolver类,比上面的类,加入了JSTL的支持
1.7.视图组件(View)
JstlView类
LocalResolver接口
HandlerExceptionResolver接口 –异常处理
SimpleMappingExceptionResolver实现类
ModelAndView类, 无图
1.8. 数据转换组件(DataBinder)
1.9. 消息转换器组件(HttpMessageConverter)
2.SpringMVC详细运行流程图
本文参考:http://blog.sina.com.cn/s/blog_667ac0360102ed6h.html
相关文章推荐
- SpringMVC学习——组件解析
- Java中的wait和sleep
- 浙江大学乙级PAT测试1006
- Java - 基础概念
- Spring mvc 原理浅析
- Java源码阅读-HashMap
- java中采用集合使用pull解析xml文件格式的方法
- Spring_Bean 的作用域
- SpringMVC深度探险(二) —— SpringMVC概览
- Java 内存区域和GC机制
- 解决ubuntu上eclipse无法打开,提示jvm版本太旧,至少要jdk1.8以上
- JAVA一些基础概念
- javaIO
- java获取2个数组中相同与不相同的元素(授权场景)
- 浙江大学乙级PAT1005
- SSH整合 第五篇 struts2的到来
- springmvc实现文件上传
- java集合类源码解析(2)---ArrayList
- 代理模式(java版)
- Spring容器