《Web高级程序设计教程》第1章Web程序设计的基础知识.ppt
Web高级程序设计,刘兵欧阳峥峥等制作,第1章 Web程序设计的基础知识,本章学习目标本章主要让读者了解Web程序设计基本概念及其工作环境,并介绍贯穿本书的实例“伪邮件系统”的工作原理,以帮助读者对本书后续章节的学习。,第1章 Web程序设计的基础知识,1.1 Internet及其提供的服务1.2 WWW的基本概念1.3 Web程序设计的方式1.4 IIS上的WWW服务器实现1.5 本书说明1.6 本书所需的软件环境,1.1 Internet及其提供的服务,1.1.1 什么是Internet1.1.2 Internet提供的服务,1.1 Internet及其提供的服务,1.1.1 什么是InternetInternet(中文译成因特网)是当今世界上最大的计算机信息网络。Internet是一个由多个网络互联组成的网络集合。要给Internet下一个严格的定义是非常困难的。Internet的实用性主要在于它的信息资源,Internet在全球范围内提供极为丰富的信息资源。,从网络通信技术的观点来看,Internet是一个以TCP/IP通信协议为基础,连接各个国家、各个部门、各个机构计算机网络的数据通讯网;从信息资源的观点来看,Internet是一个集各个领域、各个学科的各种信息资源为一体的、供网上用户共享的数据资源网。,1.1.2 Internet提供的服务1.远程登录服务Telnet(Remote Login)2.文件传送服务FTP 3.电子邮件服务E-mail(Electronic Mail)4.电子公告板系统(BBS)5.万维网 6.电子商务 7.Internet电话 8.其他丰富多彩的Internet服务,1.远程登录服务Telnet(Remote Login)远程登录是提供远程连接服务的终端仿真协议,可以使本地计算机登录到Internet上的远程计算机上,这样,本地计算机就成为所登录远程计算机的一个终端,可以使用远程计算机上的资源,例如磁盘设备资源。Telnet提供了大量的命令,这些命令可用于建立终端与远程主机的交互式对话,可使本地用户执行远程主机的命令。,2.文件传送服务FTP(1)FTP的两种操作分别为“下载”(Download)和“上传”(Upload)。(2)FTP允许用户在计算机之间传送文件,并且所传送的文件类型不限(3)FTP是一种实时的联机服务(4)FTP提供了一种“匿名FTP服务”。即用户要登录到FTP服务器,通常以anonymous作为匿名用户名,以用户的Email地址作为口令进入。,3.电子邮件服务E-mail(Electronic Mail)电子邮件是通过Internet与其他用户进行联系的快速、简洁、高效、价廉的现代化通信手段 使用Internet提供的电子邮件服务的前提是拥有一个电子信箱。不但可以传送文本,还可以传送声音和图像文件。电子邮件地址一般由两部分组成:用户名和电子邮件域名。如:,4.电子公告板系统(BBS)BBS,全称“电子公告板系统”(Bulletin Board System),是Internet上著名的信息服务系统之一,发展非常迅速,几乎遍及整个Internet,因为它所提供的信息服务涉及的主题相当广泛,如科学研究、时事评论等各个方面,世界各地的人们可以开展讨论,交流思想,寻求帮助。,5.万维网 WWW(World Wide Web)的中文译名为万维网或环球网。WWW的创建是为了解决Internet上的信息传递问题 WWW是由欧洲粒子物理实验室开发的,是采用超文本和多媒体技术,将不同文件通过关键字建立链接,提供一种交叉式查询方式(而不仅仅是传统的线性方式)。,6.电子商务 电子商务是一种在Web上实施商务的方式,这种商务可以是零售、银行业、期货交易、咨询或培训等等。任何通过Internet进行产品或服务的出售和买入的行为均属电子商务范畴。由于当前电子商务依赖信用卡进行交易,所以网络安全变得越发重要,而且网络安全技术发展很快,主要用来对付那些不断发现新方法侵入系统的黑客。,7.Internet电话只要Internet拥有足够带宽和经济投入,实现用Internet会议来取代现在基于PSTN的电视会议是完全可能的。只有具备麦克风、扬声器和相应软件的基本配置的计算机,则可以呼叫与自己有相同配置的任何用户,把IP地址作为电话号码。现在许多关键的技术障碍还阻碍Internet电话技术广泛应用。,8.其他丰富多彩的Internet服务Internet提供的这些丰富多彩的服务,将在人们生活中占据举足轻重的地位.Internet提供的这些丰富多彩的服务主要包括有:网上看新闻,读报纸,看杂志;网上天气预报,火车订票,飞机航班;网上旅游;网上交易;网上宣传;网上求学;网上图书馆;网上购物;网上听音乐,看电视,看电影;网上人才市场与网上求职;网上求医以及网上游戏等等。,1.2 WWW的基本概念,1.2.1 概述1.2.2 Web浏览器的工作原理1.2.3 统一资源定位器URL1.2.4 超文本与超媒体1.2.5 超文本标记语言HTML1.2.6 超文本传输协议1.2.7 主页,1.2.1 概述WWW是Word Wide Web的英文缩写,译为“万维网”或“全球信息网”.WWW服务的基础是Web页面,每个服务站点都包括若干个相互关联的页面.每个站点都有一个主页,是进入某个站点的起始页,也就是第一页,相当于这个站点的窗口。WWW的核心是Web服务器,由它提供各种形式的信息,1.2.2 Web浏览器的工作原理 WWW基于客户机/服务器模式.,用户输入不同的URL,可以打开特定的Web服务器的相应文档,下载到浏览器上,浏览器解释HTML所描述的动画、声音、文本和图形图像,以及需要进一步链接的URL,展现给用户的是极其丰富的超文本信息。Web浏览器最基本的功能是解释HTML文档,它并不是能处理各种类型的文件,当遇到不能处理的某类文件时,就检查是否由这类文件的帮助程序,常见的帮助程序由JPEG观察器、MPEG播放器、声音播放器以及动画、图像观察器等,这样无论在Web站点上浏览什么类型的文件,浏览器几乎都能解释。,1.2.3 统一资源定位符URL统一资源定位器(Uniform Resource Locator)是文件名的扩展。一个URL包括了以上所有的信息,构成格式为:protocol:/machine.name:portdirectoryfilename protocol是访问该资源所采用的协议 machine.name是存放资源主机的IP地址,通常以字符形式出现,如 port(端口号)是服务器在其主机所使用的端口号。directory和filename 是该资源的路径和文件名。,1.2.4 超文本与超媒体超文本的概念是特德尼尔逊于1969年左右提出的。蒂姆提出了一种超文本的数据结构,并把这种技术应用于描述和检索信息,实现了高效率的存取,从而发明了WWW的信息浏览服务方式。在WWW中的超文本,实际上是一种解决菜单与信息分离的机制,把可选菜单项嵌入文本中的概念称为“超文本”。,1.2.4 超文本与超媒体超文本技术采用指针连结的网状交叉索引方式,对不同来源的信息加以链接。超媒体是超文本的自然扩展,是超文本与多媒体的组合。在超媒体中,链接的除了文本文件以外,还有音像和动画等。,1.2.5 超文本标记语言HTML超文本标记语言HTML-Hyper Text Markup LanguageHTML是一种专用的编程语言,用于编制要通过WWW显示的超文本文件页面。HTML对文件显示的具体格式进行了详细的规定和描述。HTML采用标准的位ASCII码文件形式,通过一系列格式化方法表示各种超链接(hyperlink)和信息。用HTML编写的文档采用“.html”作为后缀。当WWW浏览器读取到HTML文件时,就以超文本方式显示给用户。,例如,下面的HTML语句建立了一个按“专题分类查询信息”(information by subject),并将该条目与计算机“”中的文件“index.html”相链接,HTML语法如下:Information by Subject,1.2.6 超文本传输协议超文本传输协议HTTP(Hyper Text Transfer Protocol)可以简单地被看成是浏览器和Web服务器之间的会话。,1.2.6 超文本传输协议HTTP定义了简单事务处理程序,由下个步骤组成:(1)客户机与服务器建立连接;(2)客户机向服务器递交请求,在请求中指明所要求的特定文件;(3)如果请求被接纳,那么服务器便发回一个应答。在应答中至少应当包括状态编号和该文件内容;(4)客户机与服务器断开连接。,1.2.7 主页主页(Home Page)就是用户在访问Internet网上某个站点时,首先显示的第一个页面从信息查询的角度来看,主页就是用户本次通过WWW在连接访问超文本各类信息资源的根;从信息提供的角度来看,由于各个开发WWW服务器的机构在组织WWW信息时是以信息页为单位的,这些信息页被组织成树状结构以便检索,那个代表“树根”信息页的超文本就是该WWW服务器的初始页(主页)。,1.3 Web程序设计的方式,通常的网络程序设计所采取的大都是一种叫客户/服务器(Client/Server 缩写C/S)方式在网络上对数据库访问发展的必然趋势,即浏览器/服务器方式(Browse/Server 缩写B/S),1.3.1 浏览器/服务器方式及原理,这种三层式方式采用的浏览器/服务器方式工作原理如下:(1)首先客户Web浏览器发出请求要求访问Web服务器的某一网页,Web服务器检查文件的扩展名是不是特殊的网页(如ASP页),如果是ASP页,Web服务器就确实它应当调用ASP来处理该页。,(2)Web服务器对该ASP页进行语法检查和编译。(3)若在脚本程序中使用了ADO(ActiveX Data Objects)对象,则Web服务器会根据ADO对象所设置的参数来启动对应的ODBC驱动程序,而启动ODBC驱动程序之后,程序可以直接利用ADO对象来访问数据库,或通过ADO对象来发送SQL指令,进而达到存取数据库的目的。,(4)最后如果有数据必须显示在浏览器上,则脚本程序会利用ASP所提供的输出对象送出数据形成动态的HTML文档,并且和静态HTML文档进行合并,然后由WEB服务器传送给前端的客户浏览器。,1.3.2 浏览器/服务器方式的好处浏览器/服务器方式的三层结构有以下好处:(1)对于远程的前端用户来讲,他不需要特殊设置与软件安装.(2)在Web开发者而言,所有的应用软件集中在服务器端开发管理,1.3.3 ASP、PHP、JSP的比较1.ASP ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript或 JavaScript作为自己的开发语言。ASP特点:(1)使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。(2)无须compile编译,容易编写,可在服务器端直接执行。(3)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。(4)与浏览器无关,1.3.3 ASP、PHP、JSP的比较2。PHPPHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法,并耦合PHP本身的特性,使WEB开发者能够快速地写出动态生成页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,可以从PHP官方站点()自由下载。而且可以不受限制地获得源码,甚至可以从中加进所需要的特色。(1)数据库连接(2)面向对象编程,1.3.3 ASP、PHP、JSP的比较3.JSPJSP是Sun公司推出的新一代站点开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSPJava Server Page。Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。(1)将内容的生成和显示进行分离,ASP.NET在执行脚本时要经过两次编译:第一次是从脚本语言到MSIL(Microsoft Intermediate Language,微软的中间语言);第二次是MSIL到执行的机器码。,1.3.4 ASP.NET,1.4 IIS上的WWW服务器实现,1.4.1 IIS概述1.安全性 安全验证方面 安全通信方面2.可编程性3.Internet标准支持,1.4.2 IIS的安装,Web站点的主目录的路经是InetpubwwwrootFTP站点的主目录的路径是Inetpubftproot。,如果用户在安装Windows 2000时没有选择安装IIS 5.0,过程如下:(1)依次选择“开始设置控制面板添加/删除程序”。打开“添加/删除程序”窗口。(2)然后单击“添加/删除 Windows 组件”,打开“Windows 组件向导”窗口,(3)在“组件”下,选中“Internet信息服务(IIS)”。单击“详细信息”按钮,打开“Internet信息服务(IIS)”窗口。,(4)在“Internet信息服务(IIS)”下,单击“World Wide Web服务器”,然后单击“确定”按钮。(5)安装程序开始配置组件,在“文件复制来源”中,键入 Windows 2000 分配文件的完整路径,然后单击“确定”按钮。所需的文件被复制到硬盘上,就可以使用服务器软件了。,IIS主目录的设置过程如下:,(1)打开IIS管理器:选“开始菜单程序管理工具Internet信息服务”。如图1-7所示。,IIS主目录的设置过程如下:,(2)在IIS管理器中,右击“默认Web站点”节点,选择“属性”命令,打开“默认Web站点属性”对话框后,单击“主目录”选项卡。,创建虚拟目录,可参照下面的步骤:,(1)在IIS管理器中,右击“默认Web站点”节点,在弹出的快捷菜单中选择“新建”|“虚拟目录”命令,打开“虚拟目录创建向导”对话框,然后单击“下一步”按钮,打开“虚拟目录别名”对话框。,创建虚拟目录,可参照下面的步骤:,(2)在“别名”文本框中输入用于获得此Web虚拟目录访问权限的别名,例如,office。输入别名后,单击“下一步”按钮,打开“Web站点内容目录”对话框。,(3)如果用户知道目录路径,可直接在“目录”文本框中输入目录路径。否者单击“浏览”按钮,打开“浏览文件夹”对话框,选择目录路径。(4)单击“下一步”按钮,打开“访问权限”对话框,在“允许下列权限”选项区域中,用户可以为此目录设置访问权限。例如,选择“写入”复选框,既允许访问者修改目录内容。(5)访问权限设置完成后,单击“下一步”按钮,进入最后一步,打开“您已成功完成虚拟目录创建向导”对话框。单击“完成”按钮,虚拟目录创建完成。,设置文件的Web共享属性来快速创建虚拟目录,具体操作步骤如下:,(1)打开“我的电脑”或“资源管理器”窗口,右击要共享的文件夹,(2)选择“共享这个文件夹”单选按钮,此时会弹出“编辑别名”对话框。,(3)在“别名”框中键入该目录的别名。(4)在“应用程序许可”选项区域中,通过选择单选按钮来设置目录中的应用程序许可权限.,1.4.4 设置默认的文档在每一个目录中都可以建立这样一个默认的文档,因为如果没有默认文档,用户用不带文件名的URL访问Web服务器时,WWW服务器将返回错误。,1.5 本书说明,1.5.1 本书所需数据表说明本书实例所采用的后台数据库是SQL Server 2000。1.邮件用户数据表(emailuser),2.存取邮件数据表(email),3.邮件附件表(email_att)此数据表是用来存储某一邮件对应的附件表。,4.附件编号表(att_number)此数据表是用来让附件存储在Web服务器上保证惟一用的。,1.5.2 本书实例的程序设计思想一个真正的邮件系统应该由两部分组成。前端处理程序-后端的Email服务器。“伪邮件系统”前端用浏览器-服务器端采用Web服务器和SQL Server 2000数据库服务器来模拟Email服务器下面来分别介绍这个系统的主要模块功能:,1.新用户注册(1)验证信息项当用户输入注册信息时,对其输入的信息有以下验证过程:用户名应在15位以下,只能以字母和数字组成,且不能为空和以字母开头密码与确认密码必须一致,且不能为空邮件地址所输入的字符串必须包含“”和“.”这两个字符,(2)测试信息项当所须验证信息项目用户全部输入正确以后,还必须测试在“邮件用户数据表”中是否已经有了新用户所输入的用户名,如果有,则提示用户重新填写新的用户名,直到测试所输入的新用户名在此表中没有,然后所把该新用户信息写到“邮件用户数据表”中,到这里新用户注册完毕,可以使用本系统了,但在使用之前,还必须要进行登录。,2.发送邮件发送邮件其实就是向邮件数据表中添加一条记录。工作过程.说明:在邮件数据表中设立了一个“邮件标志”标志字=0时,表示该邮件是已阅读邮件;=1时,表示该邮件是新邮件;=2时,表示此邮件在用户的垃圾箱中。,3.附件处理发送邮件的用户在发送带附件的邮件时,邮件的主要信息写到“邮件数据表”中,而附件是以文件的方式存储在Web服务器上,把附件的原文件名(如“测试附件.doc”)存储在邮件附件表的s_att字段中,把文件名换成一个惟一的文件名(如,4.邮件的接收这里所说的邮件接收,其实就是一种把“邮件数据表”中收件人与用户登录名相同的所有记录显示出来,然后用户可根据邮件的状态来选择删除某一记录(邮件)或显示某一邮件的详细信息。,1.6 本书所需的软件环境本书的Web程序设计是以ASP.NET为基础,那么要运行ASP.NET必须要有.NET Framework SDK。它可以到http:/S软件,可直接安装,因其本身带有.NET Framework SDK。另外,还需要有SQL Server 2000(或者SQL Server7.0、ACCESS)。,