文章目录
SpringMVC
MVC
MVC是一种框架模式,将M和V的实现代码分离。
-
M(Model):模型,业务规则。处理请求、返回数据,数据可以被多个视图使用。
-
V(View):视图,就是你能看到并能交互的界面。
-
C(Controller):控制器,负责接收用户的请求去调用哪个M去处理,然后再返回确定哪个V显示数据。
Servlet
为什么在这里讲一下Servlet?其实SpringMVC就是一个Servlet,所以弄清楚Servlet的过程,SpringMVC的就类似了。
我们现来看一下Servlet的类图关系。
SpringMVC
SpringMVC和Servlet的关系
大致过程
- 初始化的时候用了一个Map保存URL和Controller类的对应关系
- 根据请求的URL找到对应的Controller,然后从Controller中找到处理请求的方法
- 将请求参数绑定到方法的形参上,执行方法处理请求,并返回结果视图
九大组件
在DispathcherServlet类中,我们可以找到SpringMVC的九大组件。
/**
* 九大组件之一
* 用于处理上传请求。将普通请求封装
*/
@Nullable
private MultipartResolver multipartResolver;
/**
* 九大组件之一:本地语言解析器
* 从请求中解析出Local。主要用于i18n。
*/
@Nullable
private LocaleResolver localeResolver;
/**
* 九大组件之一:模板解析器
* 负责从请求中解析出主题名,主题就是样式、图片以及它们所形成的显示效果的集合。相关类:
* ThemeSource:根据主题名查找具体的主题
*/