作为Javaweb应用的开发人员,我们不可避免地会接触到三层架构和MVC模型,笔者在第一次接触到这两个概念的时候有点云里雾里,感觉它们像是一回事,所以一开始并没有想细究它们的区别。但随着学习的不断深入,我发现它们出现的频次越来越高,我比较讨厌对某些概念的理解仅停留在模棱两可的状态,同时我觉得搞清这两个词背后的含义有助于进一步地提升自己对web应用开发的原理,于是我便屁颠屁颠地去查阅了不少资料,以下将总结本人对三层架构和MVC模型的理解。
web开发的三层架构指的是表现层、业务层和持久层,这是标准的B/S开发架构,也是当前比较成熟的web应用开发逻辑。既然是成熟,那就会有不成熟的时候,在介绍三层架构之前,我想先简要讲讲采取这种架构以前,人们开发Javaweb应用的模式。
JavaEE最初指的是SUN公司为方便人们开发企业级应用提供的一系列技术的集合,其中包括JSP、Servlet和JDBC等技术标准,SUN公司在推出JSP技术后,也推荐了两种web应用程序的开发模式,一个是JSP+JavaBean模式,另一种是JSP+Servlet+JavaBean模式。这两种模式也就是三层架构广泛用于Javaweb应用开发之前,人们搭建企业级web应用的开发模式。
在JSP+JavaBean的架构中,JSP负责表现逻辑(前台数据的校验与展示)、控制逻辑(前后台数据间的传递与封装、JavaBean层的调用等),JavaBean端则承担数据封装、业务逻辑等职责。其架构图如下: