我非常了解3层架构,但不了解2层架构。我读了很多关于差异的内容,但我仍然没有一个明确的想法。 在2层架构中,
A Comparison of Two and Three Tier Systems,
说演示文稿由客户独家处理,处理分开 在客户端和服务器之间,数据存储在和通过 服务器。 PC客户承担了大部分责任 关于处理的应用(功能)逻辑 组件,而数据库引擎 - 具有附带的完整性 检查,查询功能和中央存储库功能 - 句柄 数据密集型任务。
因此,当我们将其与JSP / Servlet开发进行比较时,这是否意味着我们不使用任何Servlet,并且所有服务器端代码都是使用Scripting Elements在JSP本身中编写的?这意味着我们的应用程序中只有JSP。数据访问代码是否也写在JSP中?那么,这是2层架构吗? 我想将它与JSP / Servlet开发进行比较。
答案 0 :(得分:3)
我想一个非常简单的例子就是在PC上运行的GUI应用程序与远程数据库通信(2个工作人员= 2层)。没有JSP,因为GUI正在执行JSP所做的一切(与数据库通信,格式化数据等)。
答案 1 :(得分:1)
2层体系结构也称为Client-Server-Architecture,与3层的区别在于业务逻辑不在业务层中,某些业务逻辑可能在客户端实现,而某些业务逻辑在服务器
只要您通过JSP进行数据库访问,就可以使用2层。在EJB中实现business-locig将使其成为3层。
答案 2 :(得分:0)
术语2层架构与非互联网时代(早于九十年代之前)开发的应用程序更相关(但不限于此)。 示例:基于VB,Oracle Forms,Smalltalk等构建的GUI应用程序,它们使用ODBC驱动程序与数据库通信。
基于JSP / Servlet的应用程序涉及数据(CRUD操作)通常涉及三层 - 浏览器(用于GUI),HTTP服务器(连同servlet引擎)和数据库服务器。在java世界中,更好的比较可能是使用JDBC连接到数据库服务器的swing应用程序。