第1单元,Web开发概述

学习内容 理解Web应用程序的多层体系结构 了解多层体系结构的优点 掌握典型Web应用程序的结构 了解Web应用程序的开发过程 掌握HTTP协议的基本概念 了解Web应用程序发送的请求消息和接收来自Web应用程序的响应消息的有关内容 第1Web开发概述 Web HTTP协议简介 引言 常见的软件体系结构 单主机结构用户界面 事务逻辑和数据存取功能都是在大型机上实现 Client Server结构 服务器通常安装数据库系统 客户端安装专用的客户端软件业务逻辑通常在客户端处理 适用于单机或者小型局域网 Browser Server浏览器 服务器结构 浏览器通过HTTP协议向Web服务器发出请求 服务器对浏览器的请求进行处理 再将所需信息返回浏览器 局域网 因特网与Intranet 局域网 LAN 将小区域内的各种通信设备互联在一起的通信网络 Internet是全球最大的 开放的 采用TCP IP协议 由众多网络互联而成的计算机互联网 从通信角度看 Internet是一个理想的信息交流媒介 从获取信息的角度看 Internet是一个庞大的信息资源库 从商业运营的角度看 在网上进行各种电子交易 从娱乐休闲的角度看 Internet是一个花样众多的娱乐厅 Intranet 企业内部网 采用Internet的协议标准 用Internet的现有技术建设的企业内部网络 与Internet使用相同的信息技术 从根本上改变了企业信息管理的方式 提高了企业内部信息共享与交流的程度 企业内部数据与企业外部数据交流更流畅 WWW简称Web网或 万维网 环球信息网 WorldWideWeb 由分布在Internet中的众多个超文本文档连接成的分布式网络信息系统 WWW是一个在Internet上运行的全球性的分布式信息系统 WWW由欧洲核子物理研究中心 CERN 研制 最初是为参与核物理实验的分布在各国科学家交流信息的一种网络通信工具 WWW经Internet向用户提供基于HTTP的超媒体数据信息服务浏览客户既是信息的享用者 也是信息的提供者 WWW服务器的数据文件由超文本标记语言HTML描述 HTML用通用资源访问地址 URL 表示媒体链接 并指向其他网络资源 超文本 不仅包含文字 还包含声音 图形 图像 动画和视频等 还实现非线性地存储 组织 管理和浏览信息的超链接 网页 也称Web页 通过浏览器所看到的每一个画面 包含众多信息 多媒体信息 网站 也叫站点 将一组网页组织 连接在一起 经发布 用浏览器看到有关信息 Web客户 Web技术与设计工具 80 的Web客户只扫描网页内容 寻找关键字和短语 普通客户读Web内容比纸张慢25 Web客户和站点设计关系 Web设计必须吸引人 以客户为本 引导他快速找到所需内容 Web客户不希望网页充斥无关内容和混乱图像 内容很重要 布局和传递也很重要 用可以赢得客户的布局特性来创建网页 Web技术是人类所经历的发展最快的技术 客户端开发技术 HTML CSS DOM ActiveX JavaScript VBScript Applet等 服务器端开发技术 JSP Servlet PHP ASP CGI等 网页设计工具 FrontPage Dreamweaver HotDogProfessional IBMRSA Eclipse WebPageMaker和BEAWebLogicWorkshop等 Web设计 Web是一个动态媒体 其设计概念总在发展 随着欣赏水平和设计技术的提高 规则和概念不断发展变化 Web最基本设计原则 Web内容永远占第一位 多媒体外观设计与设计技术占第二位 网站设计主要目的是为用户浏览信息 而不是设计者 与C S应用程序的使用者浏览信息也有很大的区别 针对客户群设计 突出客户最需要的信息 站点设计时既要专注客户的共性 也要兼顾个性 简洁 方便和快速 滥用多媒体会阻碍用户 新版 旧版 静态网站与动态网站 静态网站 网站的所有网页都由 静态网页 组成的网站静态网页 网页内容固定不变 仅手动更新其HTML文档才能更新内容 Web服务器将纯粹的HTML文档传送给客户浏览器 静态网页都是保存在服务器上的一个独立文档 有固定的URL 静态网页内容稳定易被搜索引擎检索 且不需数据库支持 静态网页的交互性差 在功能方面有较大的限制 动态网站 有动态网页的网站动态网页 具有交互性 自动更新和因人而异的特点 存取数据库 有代码在服务器端运行 并仅访问时才确定内容的网页 大多数网站都以静态网页和动态网页混合组成 有GIF动画 Flash动画或滚动文本的网页不是动态网页 Web应用程序 Web应用程序 一种使用HTTP作为核心通信协议 通过互联网让Web浏览器和服务器通讯的计算机程序 Web应用程序开发过程 设计目录结构 编写Web应用程序代码 编写部署描述符 编译代码 将Web应用程序打包 部署Web应用程序 执行Web应用程序 Web应用程序体系结构 表示层 采用Web浏览器实现业务逻辑层 由位于Web服务器上的各种服务器端程序实现 数据服务层 由数据库服务器提供数据的存储和访问 Web客户端主要开发技术 超文本标记语言HTML 一种用来定义信息表现方式的格式 告诉WWW浏览器如何显示文字和图形图像等各种信息以及如何进行链接等 CSS层叠样式表由W3C的CSS工作组设置和维护 用于表现HTML或XML等文件式样的浏览器解释型语言 不需要编译就可由浏览器执行 特点 语法非常简单 其语法组成元素只有CSS选择符与CSS属性 每个CSS选择符可以包含一个或多个CSS属性 XML 可扩展标记语言 由W3C 万维网协会 推出的新一代数据交互的标准 主要用于定义Web网页上的文档元素和商业文档 特点 一种数据存储语言 用一系列简单的标记来描述数据用途 实现不同应用程序间的数据交互 同一种数据可实现多种样式 实现数据的分布式处理 Web客户端主要开发技术 续 JavaScript 由Netscape公司开发的一种客户端脚本语言它允许在HTML基础上进行交互式Web网页的开发它的出现使网页与用户之间实现了一种实时性的 动态的 交互性的关系 使网页包含更多的活跃元素 JavaScript很多情况下用在客户端数据校验方面 一定程度上减轻了服务器的负载量 为客户提供更流畅的浏览效果 Ajax 异步JavaScript和XML 一种结合了XML及JavaScript等编程技术 用于创建交互式网页应用的Web开发技术 可以解决Web应用中页面刷新的问题 包含的主要技术 XMLHttpRequest 由微软开发的可在不刷新页面的情况下直接进行脚本与服务器通信的技术 在Ajax中用于异步向服务器传输数据 JavaScript 在Ajax中起纽带作用 将其它技术进行有机结合 CSS 在Ajax中提供了从内容中分离应用样式和设计的机制 XML 在Ajax中用于处理数据交互格式 XSLT 在Ajax中用于结合XML进行数据交换及相关操作 主要的动态网站开发技术 动态网页技术的原理 使用不同技术编写的动态页面 都保存在Web服务器中 各种动态页面技术均通过在HTML中添加相应语言脚本来实现 支持相应脚本的服务器通过解释引擎执行脚本 并生成HTML页面 最后Web服务器把执行结果连同页面上的HTML内容以及各种客户端脚本一同传送到客户端 Web服务器端应用开发的主流技术 CGI PHP ASP JSP CGI不是一种动态网页设计语言 PHP ASP和JSP是当今最常用的三种动态网页设计语言 选择了应用服务器 或动态语言中间件 后动态语言随即确定 CGI PHP CommonGatewayInterface公用网关接口技术 编写CGI程序可以使用的程序语言 如 VB Delphi或C C 等CGI技术发展成熟且功能强大 但CGI程序本身不能实现跨平台运行 编程困难 效率低下 修改复杂 已逐渐被新技术取代 在传统的CGI环境中 每次客户端向服务器端发出请求 都会使服务器产生一个新的进程来装载和运行CGI程序 PHP 超文本预处理器 用于开发Web应用的HTML内嵌式语言 结合了C Java Perl及PHP的新语法 目标是让Web程序员能快速开发出动态网页 PHP技术优势 免费 提供源代码的脚本语言 超文本预处理器和源代码完全免费 可在Windows Unix Linux的Web服务器上运行 支持IIS Apache等通用Web服务器 相比ASP PHP占用的系统资源较少 运行速度较快 PHP与MySQL是绝佳搭配 支持Oracle Sybase SQLServer和Access等PHP技术劣势 PHP缺乏规模支持和多层结构支持 不适合大型商务站点 ASP ASP net ASP ActiveServerPage 动态服务器页面ASP是微软开发的一种动态网页设计脚本语言 可产生和执行动态 互动 高性能的WEB服务应用程序 ASP技术优势 简单易用 但存在安全性问题 需要在IIS上运行 与浏览器无关 语法类似VB 可扩展性好 ASP NET一个Web开发平台提供构建企业级应用程序的服务 编程模型和软件基础架构ASP NET简单易学 可扩展性好 借鉴了Java技术的优点 兼容ASP并改进了ASP安全性差等缺点 提供可视化编程环境 开发效率高 语言灵活 全面支持面向对象特性 特别适于初学者的学习与编程 加强了强健性 但效率较低 内存使用和执行时间耗费很大 引入了ADO NET数据访问接口 大大提高数据访问效率运行环境要求比较高 需要 NETFrameworkSDK 以及IISASP NET比较适于安全程度要求太高 运行效率要求也不是很苛刻的情况 不适于电子商务网站 JSP JSP是JavaServerPages缩写由Sun公司倡导 许多公司参与建立的一种应用范围广泛的动态网页技术标准 是Java语言编写的服务器端运行的页面 JSP在HTML中嵌入Java脚本 可以看作是一种脚本语言 HTML代码负责显示信息控制 Java代码负责业务逻辑控制 JSP技术优势 在JSP中几乎可以使用全部的Java类 执行效率较高 JSP运行效率要比ASP PHP要高得多 首次执行时 被编译成Servlet代码 而ASP PHP边解释边执行源代码安全性高 具有规模和层次结构支持 J2EE体系中的一部分 JSP具有平台无关性 适于各种硬件和软件平台 大量的开源社区 学习资料丰富 JSP技术劣势 JSP开发缺少图形拖拽的工具 开发代码比PHP和ASP复杂 一般用于电子商务网站或中大型企业网站 JSP工程师的要求 变化趋势 小结 主要内容 常见的软件体系结构WWW及其相关的基本概念 Internet Intranet 静态网站和动态网站的相关技术介绍了CGI PHP ASP和JSP要求 了解Web应用的相关概念熟悉PHP ASP ASP NET和JSP的主要优缺点 HTTP协议简介 HTTP概述 HTTP超文本传输协议 HTTP是一个分布式 协作的 超媒体信息系统的应用层协议 HTTP协议是主要用在万维网上存取数据的协议 传送数据的形式 普通正文 超文本 音频 视频等等 HTTP使用TCP 默认采用80端口 连接进行可靠的传送 HTTP的产生与发展产生 1990年 为解决WWW应用开发中HTML文档网上传输版本 HTTP0 9 HTTP1 0 RFC1945 及HTTP1 1 RFC2616 为了适应下一代的因特网 已提出了HTTPng WWW上的信息检索服务系统就是遵循HTTP协议运行的 HTTP采用客户机 服务器体系结构客户端 WEB浏览器 功能包括与WEB服务器建立通讯所需的软件及转换 显示重现从服务器方返回的数据 服务器 Web内容的提供者 它响应客户端 浏览器 的请求 并向客户端提供某种超媒体形式的数据 HTTP工作原理 HTTP会话周期分为4步 1 建立TCP IP连接客户打开一套接字 Socket 并将其约束在一个端口 默认为80号 上2 客户向服务器发送H