Spring MVC
一种前端控制器的实现形式,如DispatcherServlet就是一种前端控制器。
MVC
-
model:模型层,考虑要展现哪些业务,哪些内容。
-
view:视图层,考虑页面如何布局。
-
controller:控制层,考虑调用哪些业务逻辑实现功能,使效率更高。(调用业务逻辑生成model)
DispatcherServlet
-
HandlerAdapter:适配器模式,相当于一个接口标记了Controller,DispatcherServlet就可以使用适配器去识别Controller。
-
HandlerInterceptor:拦截器,就是一个接口,在需要拦截的地方加入一些东西。可以在调用Controller之前,之后,以及model生成之后拦截,加入需要的操作。
-
HandlerMapping:映射,Handler是DispatcherServlet调用Controller的辅助,Controller经过适配器模式和拦截器后,生成一整个合适的包裹,由Mapping告诉DispatcherServlet调用哪一个。
-
ModelAndView:是一个model的具体表现,不管是model还是map,都可以解析成model的样子。
-
ViewResolver:视图解析器,告诉DispatcherServlet用哪一个视图解析当前情况。
-
View:呈现页面。
总述:请求发到DispatcherServlet,DispatcherServlet通过HandlerMapping找到要调用的某个HandlerAdapter(由Controller+拦截器+适配模式组成的包裹),调用它生成model,再交给ModelAndView,最后由ViewResolver视图解析器解析,使用合适的view呈现,就看到页面,得到了相应。
Maven
-
构建管理工具。一个JavaWeb程序可能用到一些直接依赖,而这些依赖又依赖于其它传递依赖,导致依赖很多,关系复杂,配置繁琐,使用Maven,自动管理构建依赖,可简化开发配置,更专注于业务层。
-
原理:有一个大的仓库,所有依赖的包都在仓库中,Maven引入坐标的概念,通过groupId,version等四个关键字唯一的标识每一个依赖包,当引入一个依赖时,定位到它,检索横纵坐标上有没有传递依赖,导入即可。
-
文件上传处理:MultipartFile。
整合Json
-
Json:轻量级数据交换格式。
-
原理:DispatcherServlet可解析jsp,Json等格式。如需使用Json解析,ViewResolver就告诉DispatcherServlet用该格式解析即可。
-
实现:@ReseponseBody。
@ResquestBody:将请求数据转为Json格式。
不止有知识@每日小句:
偶拾绝句,几近泪下:“所爱隔山海,山海不可平。”(Littlesen)