概念
SpringMVC框架提供了一个DispatcherServlet来分派请求,同时提供灵活的配置处理程序映射、视图解析、语言环境和主题解析。
SpringMVC还包含多种视图技术,同时它也分离了控制器、模型对象、分派器以及处理程序对象的角色。
架构图
执行流程
① 用户发起请求到 前端控制器 (DispatcherServlet)
② 前端控制器 请求 处理器映射器(HandlerMapping )查找 Handler (根据xml配置或注解)
③ 处理器映射器 返回 handler
④ 前端控制器 调用 处理器适配器 (HandlerAdapter)去执行 handler
⑤ 处理器适配器 执行 handler
⑥ 执行完 handler 向处理器适配器返回 ModelAndView
⑦ 处理器适配器 向前端控制器 返回 ModelAndView
⑧ 前端控制器 请求 视图解析器(ViewResolver)返回一个合适的解析器
⑨ ViewResolver 结合 View 和 Model 来渲染视图
⑩ 将渲染好的视图返回给用户
重要组件
Dispatcher:接收请求,响应结果
HandlerMapping:根据url查找handler
HandlerAdapter:按照规则执行handler
ViewResolver:进行视图解析
View:是一个接口,实现类支持jsp、freemarker、PDF…..
小结
Dispatcher减少了其它组件的耦合性,对于程序员而言,需要开发的是View和Handler
同时,在理解框架的基础上,才能更好的开发