技术的发展过程是从简单到复杂,从低级到高级,Java Web技术的发展历史,也是如此,它历经Model1模式、Model2模式和MVC三层模式。本文将给大家详细的介绍一下,欢迎大家的关注!

1、Model1模式

使用 JSP 页面和 JavaBean 相结合的方式,由 JSP 页面来接收客户端请求,用 JavaBean 或其他服务完成业务逻辑、数据库操作和返回页面。我们这里的 JavaBean 主要是完成特定功能的 Java 类。

Model1模式优点:

架构简单,比较适合小型项目开发。

Model1模式缺点:

JSP 职责不单一,职责过重,不便于维护。

2、Model2(MVC)开发模式

Model1模式虽然在一定程度上实现了解耦,但 JSP 依旧即要负责页面显示,又要负责逻辑处理,职责不单一。此时Model2应运而生,使得各个部分各司其职。Model2模式基于MVC思想:

Controller:应用程序中用户交互部分,由Servlet来实现。

Model:应用程序数据逻辑部分,由JavaBeans来担当。

View:数据显示部分,由JSP来显示。

Model2模式优点:

职责清晰,较适合于大型项目架构。        

Model2模式缺点:

分层较多,不适合小型项目开发。

Model1模式和Model2模式的区别:

Model2模式在Model1模式的基础上分离了控制,将 JSP 中的逻辑操作部分分离出来,这样做不仅减轻了 JSP 的职责,而且更有利于分工开发,耦合性降低。对于复杂的 Web 应用开发,更适合使用 Model2模式,而对于小型应用,使用Model1模式比较简单。

3、Model2模式的进化

Model2模式巧妙的将 JSP 中的业务逻辑部分分给了 Servlet,使得页面控制与逻辑处理彻底分离,达到了部分解耦的目的。但我们现实项目开发中,往往在 Model2 的基础上又进行了分层,将业务逻辑细分为业务逻辑和持久化逻辑两层。

通常我们会使用一个 Dao 接口隐藏持久化操作的细节,业务对象不需要了解底层的数据库持久化知识。使得业务逻辑与持久化逻辑分离,业务逻辑通常关系的是应用程序的核心流程和业务规则,持久化逻辑关注的是如何访问和操作持久化数据。