MVC的优点:
1:低耦合性
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码
2:高可用性和可适用性
多个视图能共享一个模型,例如用户希望既能够通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求Web网站同时能提供Internet界面和WAP界面。
3:较低的声明周期成本
MVC使开发和维护用户接口的技术含量降低
4:快速的部署
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
5:可维护性
分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
6:有利于软件工程化管理
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
MVC运行原理:
(1) Http请求:客户端请求提交到DispatcherServlet。
(2) 寻找处理器:由DispatcherServlet控制器查询一个或多个HandlerMapping,并找到处理请求的Controller。
(3) 调用处理器:DispatcherServlet将请求提交到Controller。
(4)调用业务处理和返回结果:Controller调用业务逻辑处理后,返回ModelAndView。
(5)处理视图映射并返回模型: DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
(6) Http响应:视图负责将结果显示到客户端。