剑指JavaWeb:技术详解与应用实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.1 体系结构

常见的网络应用程序体系结构有两种:一种是基于客户端/服务器端的C/S结构;另一种是基于浏览器/Web服务器的B/S结构。

C/S结构,全称为Client/Server,表示所有的显示和业务逻辑都在客户端,服务端提供数据,如图1-1所示。

● 客户端:与用户进行交互,用于接收用户的输入(操作)、展示服务器端的数据,以及向服务器端传递数据等。

● 服务器端:与客户端进行交互,用于接收客户端的数据、处理具体的业务逻辑、传递给客户端其需要的数据等。

B/S结构,全称为Browse/Server。浏览器负责网页显示,Web服务器负责业务逻辑,数据放在数据库服务器,属于典型的三层/多层架构,如图1-2所示。

图1-1 C/S结构

图1-2 B/S结构

● 浏览器:主要负责向 Web 服务器提交 HTTP 请求(POST/GET 等方式),以及接收 Web 服务器的HTTP响应,解释HTML并显示网页。常见的浏览器包括IE浏览器、谷歌浏览器、火狐浏览器等。

● Web服务器:用来接收浏览器提交的HTTP请求,以及执行响应的服务端代码(如Java程序片段、Servlet类等),并将执行结果返回给浏览器。常见的Web服务器有Tomcat服务器、Apache服务器、IIS服务器等。

● 数据库服务器:用来提供数据的结构化存储和管理机制。支持关系数据库的服务器有 MySQL、SQLServer、Oracle等,支持非关系数据库的服务器有Redis、HBase、MangoDB等。

本书介绍的Web程序开发属于B/S结构,其遵循请求响应机制,由浏览器发出请求,服务器端接收后进行处理并做出响应。