SpringMVC学习

今天主要了解了公司的bm项目,在同事代码的参考下完成了一个简单的流程,但是对数据的操作还没有完成。下午自己抽了一段时间看了一下springMVC的知识,决定+把这些知识记下来。

SpringMVC框架的核心构件
1、Dispatcher Servlet
2、Controller
3、Handler Mapping
4、ViewResolver & View
5、Interceptors
6、LocalResolver
7、Validate

SpringMVC框架实现的功能
1. 以Controller为中心完成对系统流程的控制管理
2. 对请求数据的收集
3. 对传入的参数进行验证
4.更加请求调用相应的业务逻辑完成数据处理
5. 将处理结果返回给试图
6. 国际化的支持
7. 提供不同视图的支持方案
8. 标签库
9. 拦截器
10. 对文件上传、下载的支持

SpringMVC原理图
这里写图片描述

整个处理过程从一个HTTP请求开始:
1)DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping),根据配置的映射规则,找到对应的处理器(Handler)。
2)调用相应处理器中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据。
3)DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析器),根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图,最后给浏览器构造一个HTTP响应。
DispatcherServlet是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:
1)截获符合特定格式的URL请求。
2)初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
3)初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

在SpringMVC三层架构的解决方案中,模型层和控制层的实现类都在配置文件中配置,控制层的代码可以通过Spring的依赖注入直接调用模型层的代码,降低了控制层代码编写的难度和两层之间的耦合度。Spring框架中使用的Singleton设计模式大大减少了创建的模型层类实例的数量,提高了程序运行的速度。Spring支持多种视图实现,比如tiles、jsp、velocity、freemaker等,在视图层Spring使用一个单独的配置文件控制视图的实现。控制层和视图层解偶,使得改变数据的显示方式变得容易。

DispatcherServlet是怎么把请求映射到对应的处理器上的?
Spring MVC中的DispatcherServlet收到一个请求后经过HandlerMapping会得到一个处理器链(HandlerExecutionChain)对象。它包括了处理这个请求的处理器和若干个对请求进行拦截处理的拦截器(HandlerInterceptor)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值