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

下载本文档

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

文档简介

1、第1章 Web程序设计基础1了解计算机网络和Web的基本知识 掌握关系数据库及SQL语言的基本知识具备面向对象的基本概念具备高级语言的编程知识本课程的学习前提2软件编程体系 (C/S、B/S)Web的工作原理Web程序设计技术Web应用开发工具34/65什么是Web ?Internet(因特网、国际互联网) 60年代末,美国国防部的高级研究计划局ARPA (Advance Research Projects Agency)建立阿帕网ARPANet www万维网 90年代初由蒂姆伯纳斯-李发明于CERN(欧洲核子研究组织 )45/65基本Web服务结构51.1 软件编程体系6C/S (Clien

2、t/Server)软件体系结构 优势:充分发挥客户端PC的处理能力,客户端响应速度快。服务器端一般不会成为性能的瓶颈。劣势:系统的可扩展性和可维护性差。客户端需要专门安装;升级很不方便;可连接用户数有限。C/S结构:主要适用于局域网环境。客户端具有独立的处理功能,同时通过网络与服务器端通信。开发工具包括C+、Delphi、Java等。7B/S(Brower/Server )软件体系结构 B/S结构:适用于广域网环境。应用程序及数据库系统都安装在服务器上,客户端只需安装一个浏览器软件。处理功能都运行在服务器端。开发工具包括ASP、PHP、JSP、J2EE、ASP.NET等。优势:维护方便、易于升

3、级和扩展。处理功能运行在服务器端,客户端零维护。软件升级只需在服务器端更新程序即可。软件重用性好。 劣势:服务器负担沉重,容易成为性能的瓶颈;客户端功能十分有限。8C/S结构与B/S结构的比较 91.2 Web的工作原理10 定义:HTTP(Hyper Text Transfer Protocol)超文本传输协议是万维网客户端与服务器端交互遵守的协议,是一个应用层的协议,使用TCP连接进行可靠的传输。 HTTP的基本思想:客户端给服务器发送请求,服务器向客户发送响应。HTTP事务有两种类型:请求和响应。1.2.1 HTTP协议1112/65一次HTTP操作称为一个事务,其工作过程可分为四步:1

4、. 首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。2. 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。3.服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 4. 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。 如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这

5、些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。 121.2.2 HTTP 请求和 HTTP 响应 HTTP协议是一种请求/应答协议,它通过客户机和服务器相互发送消息的方式工作。使用HTTP消息头,可以实现客户机与服务器之间的HTTP请求和HTTP应答。消息头分为:通用头,请求头,响应头和实体头等4类。13HTTP请求消息 HTTP响应消息 1415/651.2.3 http 和 httpshttp: http 1.0这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。 http 1.1当前版本。持久连接被默认采用,并能很好地配合

6、代理服务器工作。 https(SSL,TLS)151.3 Web程序设计技术161)浏览器发出一个URL请求,与服务器建立连接;2)服务器接到请求后,在硬盘上找到相应的文件:若是静态网页直接传送到客户端;若是动态网页运行它,生成静态HTML并返回客户端3)服务器关闭连接。DBWeb ServerWeb BrowserHTTP RequestHTTP Response1.3.1 静态网页和动态网页17静态网页 (Static Pages) 纯粹HTML格式的网页被称为静态网页,通常是以 .htm 或 .html 为后缀的HTML文件。 1819/65Web页面1920/65统一资源定位符URL

7、信息资源放在Web服务器之后,需要将它的地址告诉给用户,以便让用户来访问,这就是统一资源定位符URL(Uniform Resource Locators)的功能,俗称为网址。URL字串分成三个部分:协议名称、主机名和文件名(包含路径)。协议名称通常为http、Ftp、File等,例如:为一个URL地址,其中http指的是采用的传输协议是http;为主机名;index.htm为文件名。 20静态网页 (Static Pages) 每个静态网页都有一个固定的URL。 静态网页的内容是原封不动被传递的,如果要修改网页内容,必须修改HTML源代码。 静态网页没有数据库的支持,不支持客户端和服务器端的交

8、互。 主要特点: 21动态网页 (Dynamic Pages) 动态网页文件中含有HTML标记和程序代码,后缀随程序语言的不同而不同,如.asp、.aspx、.php、.jsp等,大都需要数据库支持。22 动态网页是由服务器执行相应的脚本程序后,动态生成的HTML文件。 不同的请求及访问数据的变化会生成不同的HTML代码,网页内容随时更新。 具有数据库访问功能,支持客户端和服务器端的交互。接受请求找到动态网页发送网页服务器端 执行程序代码,生成静态网页动态网页 (Dynamic Pages) 主要特点:231.3.2 客户端和服务器端脚本编程 脚本(Scripts)是指嵌入到Web页中的程序代

9、码,所使用的编程语言称为脚本语言。按照执行方式和位置的不同,脚本分为客户端脚本和服务器端脚本。客户端脚本在客户机上被Web浏览器执行,服务器端脚本在服务器上被 Web应用服务器执行。静态网页只能包含客户端脚本,动态网页则可以包含客户端脚本和服务器端脚本。因此,静态网页中的任何脚本都不能在服务器上运行,而动态网页中的某些脚本只能在Web服务器上运行。24客户端脚本编程(Client-side Scripting) 常见的客户端脚本语言有VBScript、JavaScript等。它们都是解释型的、基于对象的脚本语言。相同的工作机制:将脚本嵌入到Web页面中,并随着HTML文件一起传送到客户端,由浏

10、览器解释执行。在脚本执行期间无须与服务器交互,可以对用户的操作直接做出响应。用客户端脚本语言编写的程序通常用标记和界定,可以放到HTML的或部分。2526/65DHTML技术 DHTML即动态的HTML语言(Dynamic HTML)。除了具有HTML语言的一切性质外,其最大的突破就是可以实现在下载网页后仍然能实时变换页面元素效果、使人们在浏览Web页面时看到五彩缤纷、绚丽夺目的动态效果。DHTML并不是一门新的语言,它是以下技术、标准或规范的一种集成: (1)HTML 4.0(2)CSS (Cascading Style Sheets,层叠样式单)(3)CSSL(Client-Side Sc

11、ripting Language,客户端脚本语言)(4)HTML DOM(HTML文档对象模型,Document Object Model) 26服务器端脚本编程(Server-side Scripting)常见的服务器端脚本语言有:ASP (.NET) : 微软公司推出JSP: SUN公司推出PHP: PHP网络小组开发小组共同点: - 脚本都运行于服务器端,能够动态生成网页; - 脚本运行不受客户端浏览器限制; - 脚本被嵌入到HTML文档中,执行后返回HTML代码。 271)PHP (Personal Hypertext Preprocessor) PHP文件:在普通HTML文件中嵌入P

12、HP脚本语言,类似C/Java/Perl语言。服务器端:Unix / Linux / Windows均可; 特点:脚本在服务器端运行,不受浏览器限制。优点:免费、开放源代码,运行成本低,跨平台,可以在Windows、UNIX和Apache Web服务器上运行。 。缺点:运行环境的安装、配置比较复杂;缺乏大公司的支持。282)JSP(Java Server Pages)JSP文件:将Java程序片段(Scriptlet)和JSP标记嵌入普通的HTML文档中。 特点:脚本在服务器端运行,当客户第一次请求JSP文件时,该文件将被编译成Servlet,并由Java虚拟机执行,以后的请求就不用再编译了。

13、优点:跨平台Unix/Linux/Windows,移植方便;缺点:较复杂难学。293) ASP(Active Server Pages)ASP文件:将VBScript或JavaScript脚本嵌入到普通HTML文件中。服务器端:Windows 2000+IIS、Windows 98+PWS;特点:脚本在服务器端运行,不受客户端浏览器限制;无需编译就可以解释执行。优点:简单易学、容易上手;缺点:所有代码都是解释执行的,运行速度比HTML慢;只能在Windows环境下使用,不能跨平台;代码的结构性不好,导致代码不好理解。304) ASP.NETASP.NET是.NET框架体系的一部分,它建立在公共

14、语言运行库上,可用于在服务器上生成功能强大的Web应用程序,为Web站点创建动态的、交互的HTML页面。 (1)效率增强 ASP.NET采用编译后运行的方式 ,速度大大提高。(2)顶级开发工具支持 可以在Visual Studio.NET中开发,支持所见即所得、拖放控件和自动部署等功能。 (3)程序结构清晰 将程序代码和HTML标记分开(4)移植方便 可以向目标服务器直接复制组件,当需要更新时,重新复制一个即可。3132/65ADO/ADO.NET Microsoft ActiveX Data Objects (ADO) 使得客户端应用程序能够通过ODBC(Open DataBase Conn

15、ectivity)、OLE DB 提供者等方式来访问和操作数据库服务器中的数据。它基于微软的COM技术,是实现C/S、B/S应用程序数据库操作的关键技术。ADO 最主要的特点是易于使用、速度快、内存支出少和占用磁盘空间较少,但它是面向连接的数据访问方式,即在操作数据库时,必须连接数据库服务器进行联机操作。当同时有大量用户对数据库服务器进行数据操作时,会影响数据库服务器性能。 3233/65ADO/ADO.NETADO.NET是基于.NET的一种全新的数据访问方式,它是基于消息机制的数据访问方式。在ADO.NET中,数据源的数据可以作为XML文档进行传输和存储。在访问数据的时候ADO.NET会利

16、用XML制作数据的一份副本,用户可断开与数据库服务器的连接直接在副本上进行操作,最后根据需要再将副本中的数据更新到数据库服务器。ADO.NET的这种新的数据访问接口大大提高了数据访问的整体性能。基于XML这一特性决定了ADO.NET的更广泛适应性。 3334/65Web Services Web Services(Web服务)是为实现“基于Web无缝集成”的目标而提出的全新概念,希望通过Web Service能够实现不同的系统之间用“软件-软件对话”的方式相互调用,打破软件应用、网站和各种设备之间格格不入的状态。一个Web Service既可以是一个组件(小粒度),该组件必须和其他组件结合才能

17、进行完整的业务处理;Web Service也可以是一个应用程序(大粒度),可以为其他应用程序提供支撑。不管Web Service作为一个组件还是一个应用程序,它都会向外界暴露一个能够通过Web进行调用的API,这就是说,能够用编程的方法通过Web调用来实现某个功能的应用程序。 3435/65Web ServicesWeb Services是自包含、自描述、模块化的应用,可以在网络中被描述、发布、查找以及通过Web调用。Web Services需要一套协议来实现分布式应用程序的创建。要实现互操作性,Web Service还必须提供一套标准的类型系统,用于沟通不同的平台、编程语言和组建模型中的不同

18、类型系统。Web Services平台涉及到的主要内容包括:采用与平台无关、厂商无关的XML表示数据的基本格式;采用W3C制定的XML Schema XSD定义作为标准的数据类型;采用SOAP(Simple Object Access Protocol,简单对象访问协议)作为交换XML编码信息的轻量级协议;采用基于XML语言的WSDL(Web Service描述语言)作为Web Services及其函数、参数和返回值的描述文档;采用 UDDI(Universal Description , Discovery , and Integration,统一描述、发现和集成)规范实现 Web 服务的相

19、互操作,例如可用UDDI实现Web Service的注册、查找、调用等。用远程过程调用RPC和消息传递实现和Web Services之间的通信。 3536/65Ajax Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)最早由Jesse James Garrett提出。区别于传统的Web应用,Ajax应用的主要目的就是提高用户体验:不刷新整个页面,在页面内与服务器通信;使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的的响应能力;应用系统不需要由大量页面组成。大部分交互在页面内完成,不需要切换整个页面。由此可见,Ajax使得

20、Web应用更加动态,带来了更高的智能,并且可以提供表现能力丰富的Ajax UI组件。这样一类新型的Web应用叫做RIA(Rich Internet Application)应用。 3637/65XML 设计XML的动机就是要克服HTML的种种不足,将网络上传输的文档规范化,并赋予标记一定的含义,与此同时,还要保留其简捷、适于网上传输和浏览的优点。XML不但是标记语言,而且提供了一个标准,利用这个标准,可以根据实际需要,自定义新的标记语言,并为这个标记语言规定它特有的一套标记。3738/65Java Applet Java 小应用程序即Java Applet是指用Java编写的能够在Web页中运

21、行的应用程序,它的可执行代码为class文件。它具有安全、功能强和跨平台等特性。IE、Netscape等主流浏览器都能显示包含Applet的页面。Applet是从远程服务器上下载到本地客户机上运行的,出于安全的考虑,对它的运行进行了必要的限制。例如不能运行本地机上的程序,只能与它所对应的服务器联系;无法对本地机上的文件进行读写操作;除了可获取本地机使用的Java版本号、操作系统名称及版本号、文件名分隔符、文件路径外,无法获得本地机的其他信息。Java Applet可提供动画、音频和音乐等多媒体服务,并能产生原本只有CGI(公共网关接口)才能实现的功能。因此Java Applet已经成为Web技术的重要组成部分。 3839/65ActiveX控件 ActiveX控件是由软件提供商开发的可重用的软件组件。它是微软公司提出的一种软件技术。ActiveX控件可用于拓展Web页面的功能,创建丰富的Internet应用程序。开发人员可直接使用已有大量商

温馨提示

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

评论

0/150

提交评论