# 初識SpringMVC ###### tags: `SpringMVC-基礎` Spring MVX是Spring Framework的一部份,是基于Java实现MVC的轻量级Web匡架 ### 为什麽学SpringMVC? * 轻量级,简单易学 * 高效,基于请求响应的MVC匡架 * 与Spring兼容性好,无缝结合 * 约定优于配置 * 功能强大:RESTful、数据验证、格式化、本地化、主题等 * 简洁灵活 Spring的web架构围绕DispatcherServlet[调度Servlet]设计。 DispatcherServlet的作用是将请求分发到不同的处理器。 ### 中心控制器 Spring的web框架圍繞DispatcherServlet設計。 DispatcherServlet的作用是將請求分發到不同的處理器,使用java5以上版本可以採用基於註解的controller聲明方式。 Spring MVC框架像許多其他MVC框架一樣,**已請求為驅動,圍繞一個中心Servlet分派請求及提供其他功能,DispatcherServlet是一個實際的Servlet(繼承自HttpServet基類)。** ![](https://i.imgur.com/HESZUDg.png) SpringMVC的原理如下: 當發起請求時被前置的控制器攔截到請求,根據請求參數生成代理請求,找到請求對應的實際控制器,控制器處理請求,創建數據模型,訪問數據庫,將模型響應給中心控制器,控制器使用模型與視圖渲染結果,將結果返回給中心控制器,再將結果返回給請求者。 ![](https://i.imgur.com/lkkUiF9.png)