1.1 Web应用程序的基本概念
一个Web应用程序由完成特定任务的各种Web组件(Web Components)构成并通过Web页面将服务展示给外界。在实际应用中,Web应用程序由Servlet、JSP页面、HTML文件及图像文件等多种元素组成。简单来说,Web应用程序就是各种网站,网站由一系列的网页构成,网站又分为静态网站与动态网站。
1.1.1 静态网站与动态网站
静态网站的所有网页直接用HTML(Hyper Text Markup Language,超文本标记语言)编写,所有的网页均是标准的HTML文件,一般文件名以htm、html或shtml等为后缀。在网页中,我们可以看到各种视觉动态效果的展现,如GIF动画、FLASH动画、滚动字幕等,但是展示的内容一般是固定不变的,用户在不同时间、不同地点访问网站的同一静态网页时,其显示出来的内容是一样的。
动态网站是指网站内容可根据不同情况动态变更的网站,在相同的网站、相同的时间,不同的用户访问时展示出来的内容是不同的,即使同一用户在不同时间或不同地点访问同一动态网页,其展示出来的内容也可以是不同的。动态网站通过数据库进行架构,网页中变化的内容主要来自数据库中数据的变化。动态网页的技术主要有ASP、PHP、JSP等。
1.1.2 Web前端与Web后端
Web前端是在Web应用程序中用户看得见的部分,包括Web页面的结构、Web的外观视觉展现及Web层面的交互实现。Web前端主要涉及的技术有DIV+CSS、HTML、JS和jQuery等。
Web后端主要指服务器端的工作,通常负责对数据库进行交互以处理相应的业务逻辑,需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。
1.1.3 C/S架构与B/S架构
在进行软件开发时,通常有两种架构模式,一种是基于客户端/服务器(Client/Server)的C/S架构模式,另一种是基于浏览器/服务器(Browser/Server)的B/S架构模式。
C/S架构是一种早期的分布式架构,在这种架构中,客户端需要安装专门的客户端程序,服务器端通常为高性能的PC或工作站,并采用大型数据库系统,严格意义上它是一个数据库服务器,多个客户端程序可以同时访问这个数据库服务器,如图1-1所示。这种结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器端,从而降低系统的通信开销。
图1-1 C/S架构模式
B/S架构借助IE等浏览器来运行,它是Web兴起后的一种网络架构模式。在这种模式中,客户端不需要安装专门的客户端程序,而是使用浏览器向Web服务器发送请求,Web服务器对请求进行处理后将处理结果返回给客户端,如图1-2所示。此时的Web服务器不仅是数据库服务器,还是应用服务器。这种结构能够利用现在普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,能有效节约开发成本,是一种全新的软件体系结构,也是目前应用软件的首选体系结构。
图1-2 B/S架构模式