1、第1章 Web基础知识,主讲:陈平,本章要点, Web的概念, Web浏览器和Web服务器, Web的工作原理, 网页的基本元素, 网站及网站开发技术,1.1 Web概述,1.1.1 web的结构概述 1.1.2 web的工作原理 1.1.3 web的主要特点,1.1.1 Web的结构概述 WWW是World Wide Web的缩写,又称为3W或Web,中文译为“万维网”。它作为Internet上的新一代用户界面,摒弃了以往纯文本方式的信息交互手段,采用超文本(hypertext)方式。 超文本是一种全局性的信息机构,它将文档中的不同部分通过关键字建立链接,使信息得以以交互方式搜索。 当超文本
2、与多媒体在信息浏览环境下结合时即称为超媒体。 Internet采用超文本和超媒体的组合方式,将信息的链接扩展至整个Internet上。Web就是一种超文本信息系统,它使得文本不再固定在某一个位置,而是可以从一个位置跳转到另外的位置,正是这种多链接性,才把它称为Web。,在Internet上实现Web要使用两个主要构造模块。,一是Web浏览器,二是Web服务器,Web浏览器 浏览器(Browse)是用于浏览信息的应用程序,其作用是显示Web页面和解释脚本。目前常用的有:Internet Explorer(IE)、Mozilla FireFox、傲游(Maxthon)、360等。 浏览器取回所请求
3、的页面后对它上面的文本和格式命令进行解释,并在屏幕上按正确的格式显示出来。,使用IE浏览器打开的清华大学网站首页,从本质上来说,浏览器是一个程序,它能够显示Web页面,也能够捕捉住已显示页面上各个项目的鼠标单击事件。当一个项目被选中时,浏览器跟随此超链接并将所选择的页面取回来。网络中的每一个Web页面都有一个惟一的地址,这个地址称为统一资源定位地址(Uniform Resource Locator ),缩写为URL.例如,东南大学网站首页的URL为 http:/:80/index.asp,Web服务器Web服务器(Web Server)的主要任务是接受用户的请求,然后执行相应的应用程序和数据库
4、的连接,通过SQL等方式向数据库服务器提出数据处理请求,数据库服务器将数据处理的结果提交给Web服务器,再由服务器传送到客户机。,1.1.2 Web的工作原理 从本质上讲,Web是基于客户端/服务器的一种体系结构。一般来说,用户的计算机称为客户机,用于提供服务的计算机称为服务器。在Web方式下客户端常用浏览器访问服务器。客户机向服务器发送请求,要求执行某项任务,服务器执行此项任务,并向客户机返回响应,Web工作原理示意图,1.2 网页与网站,1.2.1 网页的基本元素 1.2.2 网站及网站开发技术,1.2.1 网页的基本元素 网页是通过WWW发布的包含文本、声音、图像、动画等多媒体信息的页面
5、,它是互联网最基本的组成单位,众多的网页有机地结合在一起就组成了网站。网页文件通常是用HTML标记语言设计的,其扩展名通常为.htm或.html。,网页的基本元素,1.2.2 网站及网站开发技术 WWW服务器上相互链接的一系列网页组成一个网站。从广义上说,网站由硬件与软件两大部分组成。硬件主要是指服务器(计算机),软件则指操作系统、Web服务器软件和应用程序(包括静态和动态网页文件以及数据库)等;从狭义上说,网站指基于Web服务器的应用程序。,网站的体系结构示意图,1.3 网站发展历史,从静态网页发展到动态网页 动态网页发展的几个阶段 ASP的技术特点 新一代ASP.NET技术,1.3.1 从
6、静态网页发展到动态网页,静态网页是标准的HTML文件,其文件扩展名是.htm或.html。它 可以包含HTML标记、文本、Jave小程序、客户端脚本以及客户端 ActiveX控件,但这种网页不包含任何服务器端脚本,该页中的每 一行HTML代码都是在放置到Web服务器前由网页设计人员编写的, 在放置到Web服务器后便不再发生任何更改,所以称之为静态网 页。 要使网页内容产生动态变化,必须通过编写程序代码来实现。在 HTML中嵌入程序代码,实现动态变化的网页称之为“动态网页”。动 态网页仍然以HTML语言为基础,由服务器端执行代码并将执行结果 转换为静态网页形式,传输到客户端,由客户端浏览器解释执
7、行。,1.3.2 动态网页发展的几个阶段,(1) CGI阶段CGI是英文Common Gateway Interface的缩写,代表服务器端的一 种通用(标准)接口。每当服务器接到客户更新数据的要求以后,利用这 个接口去启动外部应用程序来完成各类计算、处理或访问数据库的工 作,处理完后将结果返回Web服务器,再返回浏览器。外部应用程序 是用C、C+、Perl、Pascal、Java或其他语言编写的程序,程序运行 在独立的地址空间中。 (2) 脚本语言阶段这个阶段出现了许多杰出的脚本语言,如ASP、PHP、JSP等。脚本语 言的出现大大简化了动态网站开发的难度,特别是ASP和PHP学习简单、功
8、能强大,成为许多网站开发者的首选。JSP与ASP的程序结构非常相似。它的主要特点是在传统的HTML网页文 件中加入Java程序片段(Scriptlet)和使用各种各样的JSP标志(Tag),构 成JSP网页。Web服务器在接收客户的访问要求时,首先执行其中的程序片 段,并将执行结果以HTML格式返回客户。,(3) 组件技术阶段ASP.NET和Java(J2EE)技术是这个阶段的代表。 ASP.NET是一种动态网页技术,它提供了一个基于Microsoft.NET框架的Web开发平台。 NET 框架(.NET Framework)是支持ASP.NET应用程序的基础平台,也是.NET的核心部分。它由
9、公共语言运行库(CLR)和.NET Framework类库组成。 公共语言运行库为多种语言的程序代码提供了编译运行环境。 .NET Framework类库包含有上百个面向对象类 。,1.3.3 .NET框架的体系结构,在.NET框架中使用了很多全新的技术,带来了很多根本性的、深层次 的创新。框架给因特网构筑了一个理想的工作环境。在这个环境中, 用户能够在任何地方、任何时间、使用任何设备从Internet网中获得 所需要的信息,而勿需知道信息的细节。 .NET 框架的体系结构包括5大部分,它们是: 程序设计语言及公共语言规范(CLS) 应用程序平台(ASP.NET及Windows应用程序等) A
10、DO.NET及类库 公共语言运行库(CLR) 程序开发环境(Visual Studio.NET) 其结构如图1.1所示。.NET框架的上述结构可以简化为图1.2。,图1.1 .NET框架的体系结构,图1.2 框架的简化图,下面重点介绍.NET框架平台使用的语言、平台的作用以及采用的通信 协议三方面的问题。 1. .NET框架使用的语言 在.NET框架上可以运行多种语言,这是.NET的一大优点。.NET框架中 的CLS实际上是一种语言规范。由于.NET框架支持多种语言,并且要在 不同语言对象之间进行交互,因此就要求这些语言必须遵守一些共同 的规则。公共语言规范(Common Language S
11、pecification,CLS)就定 义了这些语言的共同规范,它包括了数据类型、语言构造等。 凡是符合CLS规范的语言都可以在.NET框架上运行。目前已经有C# .NET、VB .NET、C+ .NET、J# .NET、Jscript .NET等(VBScript已不再使用)。预计还将有20多种语言可以运行在.NET框架中。目前,有些公司还在创建符合CLS规范的自己的语言。 由于多种语言都运行在.NET框架之中,因此它们功能都基本相同,只是语法有区别。程序开发者可以选择自己习惯或爱好的语言进行开发。 Visual C#是为.NET框架“量体裁衣”开发出来的语言,非常简练和安全,最适合于在.N
12、ET框架中使用。,2. 类库.NET框架的另一个主要组成部分是类库,包括数千个可重用的“类”。各种不同的开发语言 都可以用它来开发传统的命令行程序或者图形用户界面(GUI)应用程序。.NET框架中的类被拆分为命名空间。命名空间(NameSpace)是类库的逻辑分区。类库所采用的 命名空间呈层次结构,即命名空间下面又可以再分成子命名空间。每个命名空间都包含一组按照 功能划分的相关的类。这样,一个大型的.NET库就变得易于理解和便于使用。 例如: 所有微软公司提供的类都以System 或 Microsoft 命名空间开头。 有关网络协议和简单的编程接口的类放在System.Net命名空间中。 有关
13、文件I/O、内存I/O、独立存储的类放在System.IO命名空间中。 基于Windows应用程序的用户界面的类放在System.Windows.Forms命名空间中。 有关Web服务器与浏览器交互,以及Web服务的类都放入System.Web及其子命名空间中。 所有用于处理XML、XML架构、XSL/T转换、Xpath表达式的类都放入System.Xml及其子命名空间 中。 3. 公共语言运行库(CLR) 公共语言运行库(CLR,也称公共语言运行环境)就相当于Java体系中的“虚拟机”,它是 .NET 框 架的核心。它提供了程序运行时的内存管理、垃圾自动回收、线程管理和远程处理以及其他系统
14、服务。同时,它还能监视程序的运行,进行严格的安全检查和维护工作,以确保程序运行的安 全、可靠以及其他形式的代码的准确性。 在ASP.NET 2.0新版本中,CLR又增加了用户认证、角色授权以及个性化服务等新的服务项目。,1.4 开发ASP.NET应用程序所需环境,开发ASP.NET Web应用程序系统需要的基本环境分别 有以下两种搭建方式: (1)安装Web 服务器IIS、设置虚拟目录、安装Microsoft .NET Framework 以及安装代码编辑器。 (2)使用Visual Studio集成开发环境。,Visual Studio集成开发环境,Visual Studio是一个集编辑调试
15、运行为一体 的集成开发环境。 Visual Studio在安装时会自动检测并安装.NET Framework;并在其中内置Web服务器和SQL Server 2005数据库服务器, Visual Studio安装简便,在安装向导引导下可以选择 默认安装 。 Visual Studio 2005集成开发环境简介 Visual Studio 2005开发环境中主要包括:文本编辑器、工具箱、菜 单、工具条、解决方案管理器、资源管理器和属性窗体等。如下页图 所示。,图 集成开发环境,1.5 XML:可扩展标记语言,什么是XML 使用XML的特点,什么是XML,XML(Extensible Markup
16、 Language)是一种可以扩展的标记语言,用来描述层次 化的文档。XML是由World Wide Web(W3C)1998年发布的标准,到现在已经发展成 熟。下面先举一个简单的示例来说明什么是XML。 一个简单的XML文档的结构如下:,一个XML文档必须遵循下列5项原则: 整个文档必须有,而且只能有一个“根元素”。元素严格区分大小写。 每个元素都是封闭的。就是说都必须有开始标记和结束标记,如果只适合用单标记时也要使用的方式。 元素之间可以嵌套,但不能交叉。 属性值必须包含在引号之中。 同一个元素的属性不能重复。例如,一个“学生.xml”文档的内容如下:,zhanghongmale60912
17、Pwangmingfemale60913D,上面就是一个最简单的XML文档,它是一个文本文件,可以使用任何文本编 辑器(如记事本等)来编写,但是.NET提供的编写环境可以提示错误,从而给编 写带来一些方便。XML分析器将这个文本文件转换为“文档对象模型”,形成树形层次结构。 在文档对象模型中,每个标记是一个节点,所有节点必须有一个“根”(如上 述程序中的就是所有节点的根)。根的下面有若干分支,每个 分支下面又可以划分出若干分支。在后面将要学习到的HTML中,也是用一套预定义的标记来格式化文本,如 、等。为了和HTML区别,我们将其中的标记 称为“元素”,在XML中没有预定义的元素,文档中使用的
18、元素都是自己定义 的。文档中放在“”之间的都是元素,如学生.xml文档中的、 、等都是元素。文档中各元素之间存在着 层次关系,下一级元素可称为“子元素”,上一级元素称为该元素的“父元 素”。,现在将上述文档以后缀名为xml的形式存储。运行该文档后在浏览器(IE 5.0以上)中将显示以下界面(图1.7)。 浏览器中显示的界面仍然保持原代码的层次结构。只是如果某个项目包括子项时,该项目名的左边多出了一个“-”号,用鼠标点击这个符号时,该项目的子项将折叠在一起,“-”号变成“+”号。再单击时,各个子项将再次展开。这说明浏览器已经识别和理解了XML文档中的层次关系,图1.7 运行XML文件的结果,1.6 第一个ASP.NET网页,参照书本,