《《Web技术ok》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《Web技术ok》PPT课件.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Web应用与开发 贡正仙贡正仙苏州大学计算机科学与技术学院苏州大学计算机科学与技术学院Web应用开发应用开发课程内容o Web技术简介o HTMLo CSSo JavaScripto ASP.NETnASP.NET控件和对象nASP.NET数据库应用程序Web应用开发应用开发第一章 Web技术简介o什么是Web?o什么是Web服务器?o什么是Web页面?o统一资源定位符URLo浏览器的工作机理及种类oC/S模式与B/S模式oWeb访问的机理oWeb开发平台的组成o常用Web开发工具 Web应用开发应用开发第4页Internet与WWWoInternet是一个网络上的网络,或者说是一个全球范围的
2、网间网。在Internet中分布了成千上万的计算机,这些计算机扮演的角色和所起的作用各不相同。有的计算机可以收发电子邮件,有的可以为用户传输文件,有的负责对域名进行解析,更多的机器则用于组织并展示相关的信息资源,方便用户的获取。所有这些承担服务任务的计算机统称为服务器。Web应用开发应用开发Internet与与WWWnWWW服务 n文件传输服务(FTP)n电子邮件服务(E-mail)n远程登录服务(Telnet)nWeb应用开发应用开发Web定义o全称为World wide web,缩写为WWW,中译为“万维网”o万维网是一个建立在客户机服务器(ClientServer)模型之上,以HTML语
3、言和HTTP协议为基础,能够提供面向各种Internet服务的、一致的用户界面的一种信息服务系统。Web应用开发应用开发2022/11/287理解o1)Web是Internet提供的一种服务。o2)Web是一个巨大的信息宝库。o3)Web上的信息彼此关联。o4)Web上的信息保存在Web站点中。o5)Web简单易用。Web应用开发应用开发什么是Web服务器?oWeb服务器又称WWW服务器、网站服务器、站点服务器,就是将本地的信息用超文本(Hypertext)组织,为用户在Internet上搜索和浏览信息提供服务。从本质上来说Web服务器实际上就是一个软件系统。一台计算机可以充当多个Web服务器
4、,为提高用户的访问效率,一般情况下一台计算机只充当一个Web服务器;为提供大量用户的访问,多台计算机可以形成集群,只提供一个Web服务。平常,我们将只充当一个Web服务器的一台计算机就叫做Web服务器。Web应用开发应用开发什么是Web页面?oWeb在提供信息服务之前,所有信息都必须以文件方式事先存放在Web服务器所管辖磁盘中某个文件夹下,其中包含了由超文本标记语言HTML(HyperText Markup Language)组成的文本文件,我们称这些文本文件为超链接文件,又称网页文件,或称Web页面文件(Web Page)。Web应用开发应用开发 什么是Web页面?Web应用开发应用开发UR
5、L统一资源定位器o信息资源放在Web服务器之后,需要将它的地址告诉给用户,以便让用户来访问,这就是统一资源定位符URL(Uniform Resource Locators)的功能,俗称为网址。oURL的构成:通过不同的协议来访问因特网上的不同资源。通过不同的协议来访问因特网上的不同资源。eg:http:/ Web浏览器浏览器是用来解释Web页面并完成相应转换和显示的程序。Web浏览器最基本的功能:解释HTML文档;运行并显示Java、ActiveX以及脚本语言等编程语言创建的应用、程序、动画等;1994年Netscape Navigator推出。Microsoft从1995年开始推出Web浏览
6、器:Internet Explorer。Web应用开发应用开发Web服务器u 负责处理客户端的HTTP请求并与主机上的操作系统通信。u 负责为用户提供所需要的网页,并对客户端浏览器发来的请求作出响应。Web应用开发应用开发浏览器/服务器的工作过程o用户启动浏览器,并在浏览器中指定一个URL,浏览器便向该URL所指向的Web服务器发出请求oWeb服务器接到浏览器的请求后,把URL转换成页面所在服务器上的文件路径名o如果URL指向的是普通的HTML文档,Web服务器直接将它送给浏览器。o如果HTML文档中嵌有CGI程序,Web服务器就运行CGI程序,并将结果传送至浏览器。Web应用开发应用开发20
7、22/11/2820浏览器/服务器的工作过程Web应用开发应用开发什么是HTTP协议 HTTP(Hypertext Transport Protocol):超文本传输协议 它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等 它是建立在TCP/IP协议基础上的应用层协议,采用统一资源标识码定位WWW 服务器的资源,并获取它。HTTP是请求/响应式协议Web应用开发应用开发第22页HTTP的宏观工作原理的宏观工作原理 客户机(IE)服务器【server】请求响应统一资源标识符(URL)协议版本号MIME信息(请求修饰符、客户机信息和可能
8、的内容)状态行(信息的协议版本号、一个成功或错误的代码)MIME信息(服务器信息、实体信息和可能的内容)Web应用开发应用开发一个请求例子Get/mattmarg/HTTP/1.0 User-Agent:Mozilla/2.0(Macintosh;I;PPC)Accept:text/html;*/*Cookie:name=value Referer:http:/ Host:www.grippy.org Web应用开发应用开发一个响应例子HTTP/1.0 200 Found Date:Mon,10 Feb 1997 23:48:22 GMT Server:Apache/1.1.1 HotWire
9、d/1.0 Content-type:text/html Last-Modified:Tues,11 Feb 1997 22:45:55 GMTWeb应用开发应用开发第25页1.建立连接2.发送请求3.发送响应4.关闭连接客户机【IE】服务器【server】请求建立连接发送响应发送请求关闭连接 HTTP协议基础 Web应用开发应用开发HTTP的特点o以Client/Server模型为基础。o简易性。n客户机要连接到服务器,只需发送请求方式和URL路径等少量信息。HTTP规范定义了七种请求方式,最常用的有三种:GET、HEAD和POST。o灵活性。nHTTP允许任意类型数据的传送。内容-类型(c
10、ontent-type)标识指示了所传输数据的类型。Web应用开发应用开发HTTP的特点p“无连接”性。n“无连接”意味着每次连接只限处理一个请求。客户要建立连接需先发出请求,收到响应,然后断开连接。o无状态性。n这既是优点也是缺点。一方面,由于缺少状态使得HTTP累赘少,系统运行效率高;另一方面,缺少状态意味着所需的前面信息必须重现,导致每次连接需要传送较多的信息。Web应用开发应用开发C/S模式与B/S模式 oC/S计算模式将应用一分为二:前端是客户机,几乎所有的应用逻辑都在客户端进行和表达,客户机完成与用户的交互任务。后端是服务器,它负责后台数据的查询和管理、大规模的计算等服务。通常客户
11、端的任务比较繁重,称作“肥”客户端,而服务器端的任务较轻,称作“瘦”服务器。Web应用开发应用开发C/S模式与B/S模式oC/S模式的结构如图1-3所示:Web应用开发应用开发C/S模式与B/S模式oC/S计算模式具有以下几个方面的优点:通过异种平台集成,能够协调现有的各种基础结构:分布式管理;能充分发挥客户端PC的处理能力,安全、稳定、速度快,且在适当情况下可脱机操作。Web应用开发应用开发C/S模式与B/S模式oB/S模式的结构如图1-4所示。图1-4 B/S模式结构Web应用开发应用开发C/S模式与B/S模式oB/S模式与传统的C/S模式相比体现了集中式计算的优越性:具有良好的开放性,利
12、用单一的访问点,用户可以在任何地点使用系统;用户可以跨平台以相同的浏览器界面访问系统;因为在客户端只需要安装浏览器,取消了客户端的维护工作,有效地降低了整个系统的运行和维护成本。Web应用开发应用开发Web开发平台的组成 .NET开发平台 o2000年6月,微软公司宣布其.NET战略。2001年,ECMA通过了Microsoft提交的C#语言和CLI标准,这两个技术标准构成了.NET平台的基石。2002年,Microsoft正式发布.NET Framework和Visual Studio.NET开发工具。o微软公司的.NET战略揭示了一个全新的境界,提供了一个新的软件开发模型。.NET战略的一
13、个关键特性在于它独立于任何特定的语言或平台。它不要求程序员使用一种特定的程序语言。相反,开发者可使用多种.NET兼容语言的任意组合来创建一个.NET应用程序。多个程序员可致力于同一个软件项目,但分别采用自己最精通的.NET语言编写代码。Web应用开发应用开发Web开发平台的组成 Java EE开发平台 Java EE(Java ENTERPRISE EDITION)是纯粹基于Java的解决方案,之前较低版本叫做J2EE。1998年SUN发布了EJB 1.0标准,EJB为企业级应用中必不可少的数据封装、事务处理、交易控制等功能提供了良好的技术基础。J2EE平台的三大核心技术SERVLET、JSP
14、和EJB都已先后问世。1999年,SUN正式发布了J2EE的第一个版本。紧接着,遵循J2EE标准,为企业级应用提供支撑平台的各类应用服务软件争先恐后地涌现了出来。IBM的WebSphere、BEA的WebLogic都是这一领域里最为成功的商业软件平台。Web应用开发应用开发网页制作工具 1Sausage HotDog Professional oHotDog是较早基于代码的网页设计工具,支持最新的Web标准和扩展,其最具特色的是提供了许多向导工具,能帮助设计者制作页面中的复杂部分。oHotDog是个功能强大的软件,对于那些希望在网页中加入CSS、Java、RealVideo等复杂技术的高级设计
15、者,是个很好的选择。Web应用开发应用开发网页制作工具2Adobe Dreamweaver、Fireworks、Flash、Golive Dreamweaver友好的界面、功能强大和快捷的工具以及可视化特征,可以使初学者直接在页面上添加和编辑元素,而不用写源代码,软件会自动将结果转换为HTML源代码,而且它还集成了目前最流行的制作网页的多种功能,比如可通过层叠样式(CSS)格式化文本,通过表格定位网页元素,通过时间轴实现一些网页的动画,以及可进行源代码编写修改功能等,大大方便了网页设计者。Web应用开发应用开发网页制作工具oFireworks也是由Macromedia公司开发的一种工具。它以处
16、理网页图片为特长,并可以轻松创作GIF动画。它的出现使Web作图发生了革命性的变化。Fireworks是专为网络图像设计而开发,内建丰富的支持网络出版功能,比如Fireworks能够自动切图、生成鼠标动态感应的javascript。而且Fireworks 具有十分强大的动画功能和一个几乎完美的网络图像生成器(Export功能)。它增强了与Dreamweaver的联系,可以导出为配合CSS式样的网页及图片。Web应用开发应用开发网页制作工具3Microsoft FrontPage 2003oFrontPage是微软推出的Microsoft办公系列软件Office家族的成员之一,它是具有“所见即所
17、得”特点的网页制作软件,使用FrontPage2003制作网页,你能真正体会到“功能强大,简单易用”的含义。FrontPage2003的主要功能是设计、制作、管理网页或站点,它的操作对象主要是网页或网站。从单个的网页到复杂的网站的设计制作,以及本地或远程网站的管理,都可以使用FrontPage2003完成。FrontPage2003带有图形和GIF动画编辑器,支持CGI和CSS。Web应用开发应用开发网页制作工具IBM EclipseoEclipse是一种可扩展的开放源代码的IDE(集成开发环境),由IBM出资组建。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互
18、操作性,从而显著改善了项目工作流程,使开发者可以专注在实际开发目标上。Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的Visual Studio和Sun公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse框架灵活、扩展容易,因此很受开发人员的喜爱,目前它的支持者越来越多,大有成为Java第一开发工具之势。它的缺点是较复杂,初学者理解起来比较困难。Web应用开发应用开发Web基本技术介绍oHTML技术oDHTML技术o什么是Java AppletoJavaScript与 VBScr
19、iptoActiveXoCGI技术oPHPoJSPoASP/ASP.NEToWeb Services Web应用开发应用开发HTML技术 oHTML是HyperText Markup Language(超文本标记语言)的缩写,是一种用来制作超文本文档的简单标记语言,它实际上是标准通用标记语言(SGML,Standard Generalized Markup Language)的一个子集。oHTML文件是一种纯文本文件,通常它带有.htm或.html的文件扩展名(在UNIX和Windows 95中的扩展名为.html)。Web应用开发应用开发DHTML技术 oDHTML即动态的HTML语言(Dy
20、namic HTML)。除了具有HTML语言的一切性质外,其最大的突破就是可以实现在下载网页后仍然能实时变换页面元素效果、使人们在浏览Web页面时看到五彩缤纷、绚丽夺目的动态效果。DHTML并不是一门新的语言,它是以下技术、标准或规范的一种集成:(1)HTML 4.0(2)CSS(Cascading Style Sheets,层叠样式单)(3)CSSL(Client-Side Scripting Language,客户端脚本语言)(4)HTML DOM(HTML文档对象模型,Document Object Model)Web应用开发应用开发web技术概要分类o客户端技术o服务端技术Web应用开
21、发应用开发客户端技术o对象嵌入技术oJava Applet技术o客户端脚本程序技术Web应用开发应用开发什么是Java Applet oJava 小应用程序即Java Applet是指用Java编写的能够在Web页中运行的应用程序,它的可执行代码为class文件。它具有安全、功能强和跨平台等特性。IE、Netscape等主流浏览器都能显示包含Applet的页面。oApplet是从远程服务器上下载到本地客户机上运行的,出于安全的考虑,对它的运行进行了必要的限制。例如不能运行本地机上的程序,只能与它所对应的服务器联系;无法对本地机上的文件进行读写操作;除了可获取本地机使用的Java版本号、操作系统
22、名称及版本号、文件名分隔符、文件路径外,无法获得本地机的其他信息。oJava Applet可提供动画、音频和音乐等多媒体服务,并能产生原本只有CGI(公共网关接口)才能实现的功能。因此Java Applet已经成为Web技术的重要组成部分。Web应用开发应用开发JavaScript与 VBScript oJavaScript是目前使用最广泛的脚本语言,它是由Netscape公司开发并随Navigator浏览器一起发布的,是一种介于Java与HTML之间、基于对象的事件驱动的编程语言。使用JavaScript,不需要Java编译器,而是直接在Web浏览器中解释执行。oVBScript脚本语言是V
23、isual Basic Script的简称,有时也被缩写为VBS,它是Microsoft Visual Basic的一个子集,即可以看作是VB语言的简化版。VBS和Javascript一样都用于创建客户方的脚本程序,并处理页面上的事件及生成动态内容。Web应用开发应用开发ActiveX oActiveX控件是由软件提供商开发的可重用的软件组件。它是微软公司提出的一种软件技术。ActiveX控件可用于拓展Web页面的功能,创建丰富的Internet应用程序。开发人员可直接使用已有大量商用或免费ActiveX控件,也可通过各种编程工具如VC、VB、Delphi等根据控件所要实现的功能进行组件开发。
24、Web开发者无需知道这些组件是如何开发的,一般情况下不需要自己编程,就可完成使用ActiveX控件的网页设计。例如ActiveX控件ActiveMovie可用于播放视频与动画,你只需要在控件的属性中指定参数值,就可在Web页面中控制其播放。现在很多浏览器包括IE、Netscape、Firefox等都支持ActiveX技术。Web应用开发应用开发对象嵌入技术将Applet对象或ActiveX控件作为对象插入到HTML文档中,由浏览器执行。如:Web应用开发应用开发服务端技术o服务器端的脚本程序技术o中间件技术Web应用开发应用开发CGI技术 oCGI是公共网关接口(Common Gateway
25、Interface)的缩写,是用于连接Web页面和应用程序的接口。本身HTML语言的功能是比较贫乏的,难以完成诸如访问数据库等一类的操作,而实际的情况则是经常需要先对数据库进行操作(比如文件检索系统),然后把访问的结果动态地显示在主页上。此类需求只用HTML是无法做到的,所以CGI便应运而生。CGI是在Web Server端运行的一个可执行程序,由主页的一个超链接激活进行调用,并对该程序的返回结果进行处理后,显示在页面上。Web应用开发应用开发PHP oPHP(PHP:Hypertext Preprocessor,超文本预处理器,也称Professional Home Page)是利用服务器端
26、脚本创建动态网站的技术,它包括了一个完整的编程语言、支持因特网的各种协议、提供与多种数据库直接互联的能力,包括MYSQL、SQL SERVER、SYBASE、INFORMIX、ORACLE等,还能支持ODBC数据库连接方式。oPHP也是一种跨平台的软件,在大多数Unix平台、GUN/Linux和微软Windows平台上均可以运行。Web应用开发应用开发JSP oJSP(Java Server Page)是由Sun公司于1999年推出的一项因特网应用开发技术,是基于Java Server以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术是以Java
27、语言作为脚本语言的,使用JSP标识或者Java Servlet小脚本来生成页面上的动态内容。JSP页面看起来象普通HTML页面,但它允许嵌入服务器执行代码。服务器端的JSP引擎解释JSP标识和小脚本,生成所请求的内容,并且将结果以HTML页面形式发送回浏览器。在数据库操作上,JSP可通过JDBC技术连接数据库。Web应用开发应用开发ASP/ASP.NEToASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革命性意义的新特性,让ASP.NET远远超越了ASP,同时也提供给Web开发人员更好的灵活性,有效缩短了Web应用程序的开
28、发周期。ASP.NET与Windows Server 家族的完美组合为中小型乃至企业级的Web商业模型提供了一个更为稳定、高效、安全的运行环境。Web应用开发应用开发Web ServiceoWeb Services是自包含、自描述、模块化的应用,可以在网络中被描述、发布、查找以及通过Web调用。Web Services需要一套协议来实现分布式应用程序的创建。要实现互操作性,Web Service还必须提供一套标准的类型系统,用于沟通不同的平台、编程语言和组建模型中的不同类型系统。Web Services平台涉及到的主要内容包括:o采用与平台无关、厂商无关的XML表示数据的基本格式;o采用W3C
29、制定的XML Schema XSD定义作为标准的数据类型;o采用SOAP(Simple Object Access Protocol,简单对象访问协议)作为交换XML编码信息的轻量级协议;o采用基于XML语言的WSDL(Web Service描述语言)作为Web Services及其函数、参数和返回值的描述文档;o采用 UDDI(Universal Description,Discovery,and Integration,统一描述、发现和集成)规范实现 Web 服务的相互操作,例如可用UDDI实现Web Service的注册、查找、调用等。o用远程过程调用RPC和消息传递实现和Web Ser
30、vices之间的通信。Web应用开发应用开发Web 2.0概述oAjaxo网志Blogo社会书签o维基百科Wikio内容聚合RSSWeb应用开发应用开发Web 2.0概述 o一般来说Web 2.0(也有人称之为互联网2.0)是相对Web 1.0的新的一类互联网应用的统称。Web 1.0的主要特点在于用户通过浏览器获取信息,Web 2.0则更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者。由Web 1.0单纯通过网络浏览器浏览网页模式向内容更丰富、联系性更强、工具性更强的Web 2.0互联网模式的发展已经成为互联网新的发展趋势。Web应用开发应用开发Web 2.0概
31、述o如果说Web 1.0是以数据为核心的网,那么Web 2.0是以人为出发点的互联网。从知识生产的角度看,Web 1.0的任务是将以前没有放在网上的人类知识,通过商业的力量,放到网上去。Web 2.0的任务是,将这些知识通过每个用户的浏览求知的力量,协作工作,把知识有机地组织起来,在这个过程中继续将知识深化,并产生新的思想火花;从内容产生者角度看,Web 1.0是商业公司为主体把内容往网上搬,而Web 2.0则是以用户为主,以简便随意方式把新内容往网上搬,以实现信息共享;从交互性看,Web 1.0是网站对用户为主;Web 2.0是以用户对用户为主。从技术上看,由于Ajax等技术的使用,Web客
32、户端工作效率越来越高。下面我们主要对Ajax、Blog(博客)、Tag、Wiki、RSS作简单介绍。Web应用开发应用开发Ajax oAjax(Asynchronous JavaScript and XML,异步JavaScript和XML)最早由Jesse James Garrett提出。区别于传统的Web应用,Ajax应用的主要目的就是提高用户体验:o不刷新整个页面,在页面内与服务器通信;o使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的的响应能力;o应用系统不需要由大量页面组成。大部分交互在页面内完成,不需要切换整个页面。o由此可见,Ajax使得Web应用更加动态,带来了更
33、高的智能,并且可以提供表现能力丰富的Ajax UI组件。这样一类新型的Web应用叫做RIA(Rich Internet Application)应用。Web应用开发应用开发网志Blog oBlog的全名是Web log,后来缩写为Blog,中文意思是“网络日志”,一般人们喜欢称之为“博客”。Blog是一个易于使用的网站,您可以在其中迅速发布想法、与他人交流以及从事其他活动,所有这一切都是免费的。o博客是一种新的生活方式、新的工作方式、新的学习方式和交流方式,是“互联网的第四块里程牌”。Web应用开发应用开发社会书签 o网摘又名网页书签,英文原名是Social Bookmark,直译是“社会书签
34、”。世界上第一个网摘站点del.icio.us的创始人Joshua在2004年发明了网摘。网摘是一种服务,它提供的是一种收藏、分类、排序、分享互联网信息资源的方式。Web应用开发应用开发维基百科Wiki oWiki一词来源于夏威夷语“wee kee wee kee”,原本是“快点快点”的意思,中文译为“维客”或“维基”。它是一种多人协作的写作工具。Wiki站点可以有多人,甚至任何访问者维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。Wiki指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。Web应用开发应用开发内容聚合RSS oRSS是站点用来和其他站点之间共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication)的技术。最初源自浏览器“新闻频道”的技术,现在通常被用于新闻和其他按顺序排列的网站,例如Blog。RSS搭建了一个信息迅速传播的技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用。