为什么使用SpringMVC?
- 轻量化,简单易学
- 高效,基于请求响应的MVC框架
- 与Spring兼容性好,无缝结合
- 约定大于配置
- 功能强大:restful\数据验证\格式化\本地化\主题等
- 简单灵活
DispatcherServlet
它作为MVC的核心,基于Servlet实现的,作用是分发调度请求,它帮我们封装了很多东西,例如视图解析器等
工作原理
- DispatcherServlet表示前置控制器,是整个springMVC的控制中心,用户发出请求,DispactherServlet接收请求并拦截请求
- HandlerMapping为处理器映射,DispatcherServlet调用,根据URL找Handler
- HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为:hello
- HandlerExecution将解析后的信息传递给DispatherServlet,如解析控制器映射等
- HandlerAdapter表示处理适配器,其按照特定的规则去执行Handler
- Handler让具体的Controller执行
- Controller将具体的执行信息返回给HandlerAapter,如ModelAndView
- HandlerAdapter将ModelAndView传递给DispactherServlet
- DispactherServlet调用视图解析器(viewResolver)来解析ModelAndView
- 视图解析器将解析结果传给DispactherServlet
- DispactherServlet根据视图解析器的视图结果,调用具体的视图呈现给用户