好程序员Java学习路线分享SpringMVC之MVC概述,前言:目前Web开发的主流模式是MVC,Spring提供了SpringMVC模块,支持MVC模式开发,本章我们将对MVC模式进行一个整体认识。 Web开发模式的演变 在早期的java web开发中,我们将页面显示、业务逻辑、数据操作全部放到JSP或JavaBean中实现,也就是Model1 这种模式的缺点是: 1、耦合性高,所有代码都在JSP中,Java和HTML混合在一起,编写困难 2、不利于分工,Java开发人员必须全部完成前端页面和Java程序开发 3、难以测试,前端页面和Java相互依赖,无法单独运行,单独测试 代码难以重用 随着时代的发展,后来出现了Servlet+JSP+JavaBean的开发模式,也就是Model2 Model2也就是早期的MVC,它把页面展示、请求处理、数据操作代码分开,解决了Model1耦合性高的问题。 用户请求先交给Servlet,Servlet再调用JavaBean对数据库操作,然后将数据绑定到JSP上,将JSP返回给用户。 MVC术语 M就是Model代表模型层,负责业务逻辑和数据处理,如:数据库的CRUD。 V 就是View代表视图层,负责数据的展示和用户的交互,如:JSP页面。 C 就是Controller代表控制器层,控制器负责视图和模型之间的交互,把用户的请求分发到相应的模型,并且把模型的改变及时地反映到视图上。 MVC的发展 为了解决数据库的事务处理问题,JavaBean分为了三个部分: bean 实体层,封装表的数据 dao 数据访问层,负责每个表的增删改查 service 业务逻辑层,负责实现事务 MVC的优点 1.耦合性低 视图层和业务逻辑层分离,这样我们可以单独修改页面样式和java逻辑代码,而不需要考虑会对其它部分代码造成影响。 2.重用性高 当业务逻辑和视图分离后,不同的JSP页面可以重用相同的业务逻辑代码,如手机订购页面和电脑订购页面,虽然页面内容不同,但是订购的业务逻辑相同。相同的JSP页面也可以使用不同的业务逻辑,如订购的流程修改了,但是页面样式没有修改,我们只需要修改后面的业务逻辑,而不需要修改页面。 3.部署快,生命周期成本低 MVC使开发和维护用户接口的技术含量降低。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。 4.可维护性高 分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
当然MVC也有缺点: 1、结构比较复杂,不适合中小型的应用程序。 2、每个层互相调用,关系复杂,给调试带来困难。 3、效率低 总结 MVC主要的作用是解耦,降低耦合性后,项目的维护、测试、代码复用都变得容易了,理解了MVC模式后,我们将学习SpringMVC框架。