网页应用程序结构
网页应用程序由 表示层 业务逻辑层 数据访问层 三层构成
表示层 -> 客户端 数据访问层 -> 数据库
不要求每层占用一台计算机,实际应用将两或三层布置同一台计算机上。
表示层:
最接近用户,提供与用户直接交互、输入输出数据的界面
调用业务逻辑层,传输用户请求;接受业务逻辑层返回数据并以一定样式输出显示
业务逻辑层
网络应用程序核心,实现应用程序功能和数据交换的承上启下。
接受表示层请求,完成业务流程和实现业务需求。
调用数据访问层,接受访问层返回结果,进行后序业务处理。
数据访问层
直接访问数据文件,为业务逻辑层提供数据服务。
网络应用程序模式
根据表示层、业务逻辑层、数据访问层分布位置不同,分为:
客户端/服务器(C/S)模式
浏览器/服务器(B/S)模式
C/S模式
分为客户端和服务器端,每个客户端要安装独立的应用程序
客户端完成表示层和业务逻辑层,负担较重,网络通信数据量大,需要专用网络支持,
比较适合单机或局域网环境。
服务器端完成数据访问层功能,只提供后台数据管理和并发控制,允许多个客户端相连
常见C/S开发工具(语言):Visual Basic 、Visual C++ 、.NET框架等
C/S在发布、安装、维护、升级、用户培训等较为困难,维护成本逐渐上升,网上数据量
爆炸性增长,传输速度越来越慢等。
B/S模式
客户端完成表示层功能。
服务器端完成业户逻辑层和数据访问层功能。
B/S模式更容易发布、安装、维护、升级和用户培训,网络传输数据是业务逻辑层处理后
的结果,降低了数据流量。
网页
根据运行方式和信息来源不同,可分为静态网页和动态网页。
静态网页
使用标准HTML(超文本标记语言)设计的文本文件,扩展名HTM或HTML。
通过HTML标签描述网页元素的位置和特征,通过浏览器将元素解析。
网页内容对所有用户完全相同。
动态网页
网页内容随时间、环境或客户不同自动变化,例如论坛、博客、搜索引擎等。
以静态网页为基础,添加在服务器端直接运行的脚本程序,服务器端执行脚本程序,执
行结果转变成HTML代码。
Java是编译型语言,虽然不同于脚本语言,但也支持作为脚本执行。
编译型语言的源码在执行前需要通过编译器转换为机器码。
脚本语言不需要编译,其源码由解释器逐行解释并执行。
JavaScript就是一种脚本语言
网站工作原理
访问网站实际上是网页服务器和客户端浏览器交互
浏览器 -> 运行在客户端发送请求并显示结果软件
网页服务器 -> 运行在网站主机响应请求并提供文档的软件
两者通过HTTP(超文本传输协议)规定流程和协议进行通信
访问静态网页,网页服务器直接将静态网页发送到客户端浏览器
访问动态网页,网页服务器通过用语言解释程序执行文件中脚本代码,并连接数据库,实现网页业务逻辑,生成浏览器可识别格式。最后,网页浏览器负责将网页回传给客户端,通过浏览器解释并显示网页。