Chap01-Web程序设计基础_第1页
Chap01-Web程序设计基础_第2页
Chap01-Web程序设计基础_第3页
Chap01-Web程序设计基础_第4页
Chap01-Web程序设计基础_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章Web程序设计根底

了解计算机网络和Web的根本知识掌握关系数据库及SQL语言的根本知识具备面向对象的根本概念具备高级语言的编程知识本课程的学习前提

软件编程体系(C/S、B/S)Web的工作原理Web程序设计技术Web应用开发工具4/65什么是Web?Internet(因特网、国际互联网)60年代末,美国国防部的高级研究方案局ARPA〔AdvanceResearchProjectsAgency〕建立阿帕网ARPANetwww万维网90年代初由蒂姆·伯纳斯-李创造于CERN〔欧洲核子研究组织〕5/65根本Web效劳结构1.1软件编程体系C/S〔Client/Server〕软件体系结构优势:充分发挥客户端PC的处理能力,客户端响应速度快。效劳器端一般不会成为性能的瓶颈。劣势:系统的可扩展性和可维护性差。客户端需要专门安装;升级很不方便;可连接用户数有限。C/S结构:主要适用于局域网环境。客户端具有独立的处理功能,同时通过网络与效劳器端通信。开发工具包括C++、Delphi、Java等。B/S〔Brower/Server〕软件体系结构B/S结构:适用于广域网环境。应用程序及数据库系统都安装在效劳器上,客户端只需安装一个浏览器软件。处理功能都运行在效劳器端。开发工具包括ASP、PHP、JSP、J2EE、ASP.NET等。优势:维护方便、易于升级和扩展。处理功能运行在效劳器端,客户端零维护。软件升级只需在效劳器端更新程序即可。软件重用性好。劣势:效劳器负担沉重,容易成为性能的瓶颈;客户端功能十分有限。C/S结构与B/S结构的比较C/S软件体系结构B/S软件体系结构硬件环境局域网,专门的小范围网络硬件环境,用户固定,用户数量有限

广域网,不必是专门的网络环境,只要是能接入Internet的用户均可

系统维护升级和维护难,成本高客户端零维护,易于实现系统的无缝升级软件重用性单一结构,软件整体性较强,各部分间的耦合性强,可重用性较差

多重结构,各构件相对独立,可重用性较好

平台相关性客户端和服务器端是平台相关的,多是Windows平台

客户端和服务器端是平台无关的

安全性面向相对固定的用户群,对信息安全的控制能力强

面向不可知的用户群,对信息安全的控制能力相对较弱

1.2Web的工作原理定义:HTTP〔HyperTextTransferProtocol〕超文本传输协议是万维网客户端与效劳器端交互遵守的协议,是一个应用层的协议,使用TCP连接进行可靠的传输。HTTP的根本思想:客户端给效劳器发送请求,效劳器向客户发送响应。HTTP事务有两种类型:请求和响应。1.2.1HTTP协议12/65

一次HTTP操作称为一个事务,其工作过程可分为四步:

1.首先客户机与效劳器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。

2.建立连接后,客户机发送一个请求给效劳器,请求方式的格式为:统一资源标识符〔URL〕、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

3.效劳器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括效劳器信息、实体信息和可能的内容。

4.客户端接收效劳器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与效劳器断开连接。如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。1.2.2HTTP请求和HTTP响应

HTTP协议是一种请求/应答协议,它通过客户机和效劳器相互发送消息的方式工作。使用HTTP消息头,可以实现客户机与效劳器之间的HTTP请求和HTTP应答。消息头分为:通用头,请求头,响应头和实体头等4类。HTTP请求消息

HTTP响应消息15/651.2.3和s:1.0这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理效劳器中。1.1当前版本。持久连接被默认采用,并能很好地配合代理效劳器工作。s〔SSL,TLS〕1.3Web程序设计技术1〕浏览器发出一个URL请求,与效劳器建立连接;2〕效劳器接到请求后,在硬盘上找到相应的文件:假设是静态网页直接传送到客户端;假设是动态网页运行它,生成静态HTML并返回客户端3〕效劳器关闭连接。DBWebServerWebBrowserHTTPRequestHTTPResponse1.3.1静态网页和动态网页静态网页(StaticPages)纯粹HTML格式的网页被称为静态网页,通常是以.htm或.html为后缀的HTML文件。19/65Web页面20/65统一资源定位符URL信息资源放在Web效劳器之后,需要将它的地址告诉给用户,以便让用户来访问,这就是统一资源定位符URL〔UniformResourceLocators〕的功能,俗称为网址。URL字串分成三个局部:协议名称、主机名和文件名〔包含路径〕。协议名称通常为、Ftp、File等,例如:://为一个URL地址,其中指的是采用的传输协议是;为主机名;index.htm为文件名。静态网页(StaticPages)每个静态网页都有一个固定的URL。静态网页的内容是原封不动被传递的,如果要修改网页内容,必须修改HTML源代码。静态网页没有数据库的支持,不支持客户端和效劳器端的交互。主要特点:动态网页(DynamicPages)动态网页文件中含有HTML标记和程序代码,后缀随程序语言的不同而不同,如.asp、.aspx、.php、.jsp等,大都需要数据库支持。动态网页是由效劳器执行相应的脚本程序后,动态生成的HTML文件。不同的请求及访问数据的变化会生成不同的HTML代码,网页内容随时更新。具有数据库访问功能,支持客户端和效劳器端的交互。接受请求找到动态网页发送网页服务器端执行程序代码,生成静态网页动态网页(DynamicPages)主要特点:1.3.2客户端和效劳器端脚本编程脚本〔Scripts〕是指嵌入到Web页中的程序代码,所使用的编程语言称为脚本语言。按照执行方式和位置的不同,脚本分为客户端脚本和效劳器端脚本。客户端脚本在客户机上被Web浏览器执行,效劳器端脚本在效劳器上被Web应用效劳器执行。静态网页只能包含客户端脚本,动态网页那么可以包含客户端脚本和效劳器端脚本。因此,静态网页中的任何脚本都不能在效劳器上运行,而动态网页中的某些脚本只能在Web效劳器上运行。客户端脚本编程〔Client-sideScripting〕常见的客户端脚本语言有VBScript、JavaScript等。它们都是解释型的、基于对象的脚本语言。相同的工作机制:将脚本嵌入到Web页面中,并随着HTML文件一起传送到客户端,由浏览器解释执行。在脚本执行期间无须与效劳器交互,可以对用户的操作直接做出响应。用客户端脚本语言编写的程序通常用标记<script>和</script>界定,可以放到HTML的<head>或<body>局部。26/65DHTML技术DHTML即动态的HTML语言(DynamicHTML)。除了具有HTML语言的一切性质外,其最大的突破就是可以实现在下载网页后仍然能实时变换页面元素效果、使人们在浏览Web页面时看到五彩缤纷、绚丽夺目的动态效果。DHTML并不是一门新的语言,它是以下技术、标准或标准的一种集成:〔1〕HTML4.0〔2〕CSS〔CascadingStyleSheets,层叠样式单〕〔3〕CSSL〔Client-SideScriptingLanguage,客户端脚本语言〕〔4〕HTMLDOM〔HTML文档对象模型,DocumentObjectModel〕效劳器端脚本编程〔Server-sideScripting〕常见的效劳器端脚本语言有:ASP(.NET):微软公司推出JSP:SUN公司推出PHP:PHP网络小组开发小组共同点:-脚本都运行于效劳器端,能够动态生成网页;-脚本运行不受客户端浏览器限制;-脚本被嵌入到HTML文档中,执行后返回HTML代码。1〕PHP(PersonalHypertextPreprocessor)PHP文件:在普通HTML文件中嵌入PHP脚本语言,类似C/Java/Perl语言。效劳器端:Unix/Linux/Windows均可;特点:脚本在效劳器端运行,不受浏览器限制。优点:免费、开放源代码,运行本钱低,跨平台,可以在Windows、UNIX和ApacheWeb效劳器上运行。。缺点:运行环境的安装、配置比较复杂;缺乏大公司的支持。2〕JSP〔JavaServerPages〕JSP文件:将Java程序片段〔Scriptlet〕和JSP标记嵌入普通的HTML文档中。特点:脚本在效劳器端运行,当客户第一次请求JSP文件时,该文件将被编译成Servlet,并由Java虚拟机执行,以后的请求就不用再编译了。优点:跨平台Unix/Linux/Windows,移植方便;缺点:较复杂难学。3〕ASP〔ActiveServerPages〕ASP文件:将VBScript或JavaScript脚本嵌入到普通HTML文件中。效劳器端:Windows2000+IIS、Windows98+PWS;特点:脚本在效劳器端运行,不受客户端浏览器限制;无需编译就可以解释执行。优点:简单易学、容易上手;缺点:所有代码都是解释执行的,运行速度比HTML慢;只能在Windows环境下使用,不能跨平台;代码的结构性不好,导致代码不好理解。4〕ASP.NETASP.NET是.NET框架体系的一局部,它建立在公共语言运行库上,可用于在效劳器上生成功能强大的Web应用程序,为Web站点创立动态的、交互的HTML页面。〔1〕效率增强ASP.NET采用编译后运行的方式,速度大大提高。〔2〕顶级开发工具支持可以在VisualStudio.NET中开发,支持所见即所得、拖放控件和自动部署等功能。〔3〕程序结构清晰将程序代码和HTML标记分开〔4〕移植方便可以向目标效劳器直接复制组件,当需要更新时,重新复制一个即可。32/65ADO/ADO.NETMicrosoftActiveXDataObjects(ADO)使得客户端应用程序能够通过ODBC〔OpenDataBaseConnectivity〕、OLEDB提供者等方式来访问和操作数据库效劳器中的数据。它基于微软的COM技术,是实现C/S、B/S应用程序数据库操作的关键技术。ADO最主要的特点是易于使用、速度快、内存支出少和占用磁盘空间较少,但它是面向连接的数据访问方式,即在操作数据库时,必须连接数据库效劳器进行联机操作。当同时有大量用户对数据库效劳器进行数据操作时,会影响数据库效劳器性能。33/65ADO/ADO.NETADO.NET是基于.NET的一种全新的数据访问方式,它是基于消息机制的数据访问方式。在ADO.NET中,数据源的数据可以作为XML文档进行传输和存储。在访问数据的时候ADO.NET会利用XML制作数据的一份副本,用户可断开与数据库效劳器的连接直接在副本上进行操作,最后根据需要再将副本中的数据更新到数据库效劳器。ADO.NET的这种新的数据访问接口大大提高了数据访问的整体性能。基于XML这一特性决定了ADO.NET的更广泛适应性。34/65WebServicesWebServices〔Web效劳〕是为实现“基于Web无缝集成”的目标而提出的全新概念,希望通过WebService能够实现不同的系统之间用“软件-软件对话”的方式相互调用,打破软件应用、网站和各种设备之间格格不入的状态。一个WebService既可以是一个组件〔小粒度〕,该组件必须和其他组件结合才能进行完整的业务处理;WebService也可以是一个应用程序〔大粒度〕,可以为其他应用程序提供支撑。不管WebService作为一个组件还是一个应用程序,它都会向外界暴露一个能够通过Web进行调用的API,这就是说,能够用编程的方法通过Web调用来实现某个功能的应用程序。35/65WebServicesWebServices是自包含、自描述、模块化的应用,可以在网络中被描述、发布、查找以及通过Web调用。WebServices需要一套协议来实现分布式应用程序的创立。要实现互操作性,WebService还必须提供一套标准的类型系统,用于沟通不同的平台、编程语言和组建模型中的不同类型系统。WebServices平台涉及到的主要内容包括:采用与平台无关、厂商无关的XML表示数据的根本格式;采用W3C制定的XMLSchemaXSD定义作为标准的数据类型;采用SOAP〔SimpleObjectAccessProtocol,简单对象访问协议〕作为交换XML编码信息的轻量级协议;采用基于XML语言的WSDL〔WebService描述语言〕作为WebServices及其函数、参数和返回值的描述文档;采用UDDI〔UniversalDescription,Discovery,andIntegration,统一描述、发现和集成〕标准实现Web效劳的相互操作,例如可用UDDI实现WebService的注册、查找、调用等。用远程过程调用RPC和消息传递实现和WebServices之间的通信。36/65AjaxAjax〔AsynchronousJavaScriptandXML,异步JavaScript和XML〕最早由JesseJamesGarrett提出。区别于传统的Web应用,Ajax应用的主要目的就是提高用户体验:不刷新整个页面,在页面内与效劳器通信;使用异步方式与效劳器通信,不需要打断用户的操作,具有更加迅速的的响应能力;应用系统不需要由大量页面组成。大局部交互在页面内完成,不需要切换整个页面。由此可见,Ajax使得Web应用更加动态,带来了更高的智能,并且可以提供表现能力丰富的AjaxUI组件。这样一类新型的Web应用叫做RIA(RichInternetApplication)应用。37/65XML设计XML的动机就是要克服HTML的种种缺乏,将网络上传输的文档标准化,并赋予标记一定的含义,与此同时,还要保存其简捷、适于网上传输和浏览的优点。XML不但是标记语言,而且提供了一个标准,利用这个标准,可以根据实际需要,自定义新的标记语言,并为这个标记语言规定它特有的一套标记。38/65JavaAppletJava小应用程序即JavaApplet是指用Java编写的能够在Web页中运行的应用程序,它的可执行代码为class文件。它具有平安、功能强和跨平台等特性。IE、Netscape等主流浏览器都能显示包含Applet的页面。Applet是从远程效劳器上下载到本地客户机上运行的,出于平安的考虑,对它的运行进行了必要的限制。例如不能运行本地机上的程序,只能与它所对应的效劳器联系;无法对本地机上的文件进行读写操作;除了可获取本地机使用的Java版本号、操作系统名称及版本号、文件名分隔符、文件路径外,无法获得本地机的其他信息。JavaApplet可提供动画、音频和音乐等多媒体效劳,并能产生原本只有CGI〔公共网关接口〕才能实现的功能。因此JavaApplet已经成为Web技术的重要组成局部。39/65ActiveX控件ActiveX控件是由软件提供商开发的可重用的软件组件。它是微软公司提出的一种软件技术。ActiveX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论