目录
Handler:处理器
Handler是继 DispatcherServlet 前端控制器的后端控制器,在 DispatcherServlet 的控制下 Handler 对具 体的用户请求进行处理,由于Handler 涉及到具体用户业务请求,所以一般情况下 Handler 是由我们程序 员来进行开发的。
实际上
Handler
就是我们开发的
Controller
。
View:视图
一般情况下需要通过页面的标签或页面模板技术展示给客户,需要由程序员根据业务需求开发具体的页面。
实际上,就是我们写的
HTML
,
JSP
。。。
DispatcherServlet:中央控制器
用户请求到达前端控制器,它就相当于MVC 模式中的 C , DispatcherServlet 是整个流程控制的核心。由它来调用其他组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。
类似于门卫传达室,一个请求来的时候先去门卫,一步步来处理问题,就是个
servlet
。
HandlerMapping:处理器映射器
HandleMapping负责根据用户请求 url 找到 Handler 处理器, springmvc 提供了不同的映射器实现不同的 映射方式,如配置文件方式,实现接口的方式,注解方式。
实际上,就是
Map
,放了一堆数据,
key
是
url
,
value
是你对应的处理器,一个请求来了,嗲用
map.get(url)
就知道是哪个类的哪个方法来处理这个请求,实际上将这个
url
对应的拦截器,处理器
都拿到。
HandlerAdapter:处理器适配器
通过HandlerAdapter 对处理器进行执行,这里适配器模式的应用,通过扩展适配器可以对更多类型的的 处理器进行执行。
实际上,这货会调用对应的方法,生成最终的
ModelAndView
。
ViewResolver:视图解析器
ViewResolver负责将处理结果生成 View 视图, ViewResolver 根据逻辑视图名解析成物理视图名即具体的页面的地址,再生成View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给客户。
实际上就是解析
ModelandView
,拼接字符串,给你加个前缀,再加个后缀,让你能够找到对应的
视图地址。
基本上已经不用了!
SpringMVC执行流程图:
总结
SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow中 M:Model,主要用于数据封装,业务逻辑处理