ASP.NET程序设计(2.0版)李辉1.ASP.NET基础知识1_ASP.NET基础知识主要内容本章主要介绍ASP.NET编程的网络基础知识和网络程序设计的相关概念.介绍了Web和Web应用程序开发的概念及相关的基础知识。1_ASP.NET基础知识1.1网络基础知识1.1.1Internet1)从网络互联角度。Internet是一个网间网,通过网络互联设备将全球范围众多的网络或网络群体互联起来形成的网络,是一个网络的集合,它是将全球范围成千上万台计算机互联在一起的、开放的国际计算机互联网。2)从提供信息资源角度。Internet是一个集各个部门、各个领域的各种信息资源为一体,供网上用户共享的信息资源网。已经成为世界上覆盖面最广、规模最大、信息资源最丰富的计算机信息网络。1_ASP.NET基础知识1.1网络基础知识(续1)3)从网络通信角度。它采用了统一的TCP/IP通信协议,构成数据通信网。4)从网络管理角度。在国外文献中,人们称它是“没有领导、没有法律、没有政治、没有军队……”,总之是不可思议的组织结构或社会。互联网的主要技术特点有:TCP/IP协议(Internet的核心和基础);路由器加专线技术;分层的分布式结构;无连接的分组交换技术;层次结构的域名、网络管理技术。1_ASP.NET基础知识1.1.2客户端/服务器结构在计算机的世界里,凡是提供服务的一方我们称之为服务器(Server),而接受服务的另一方我们则称作客户端(Client)。1_ASP.NET基础知识1.1.2客户端/服务器结构(续1)在实践中,客户端及服务器的关系不一定都是建立在两台分开的机器上,同一台机器中也有这种主从关系的存在。提供服务的服务器及接受服务的客户端也有可能都在同一台机器上,例如我们在提供网页的服务器上执行浏览器浏览本机所提供的网页,这样在同一台机器上就同时扮演客户端及服务器的角色,Client/Server都在同一台机器上。1_ASP.NET基础知识1.1.3C/S和B/SC/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。浏览器通过WebServer同数据库进行数据交互。1_ASP.NET基础知识1.1.3C/S和B/S架构比较1_ASP.NET基础知识1.1.4(WorldWideWeb)又称“万维网”,也简称作Web。起源于1989年欧洲粒子物理研究室(CERN),当时是为了研究人员互相传递文献资料用的。1991年,上亮相,立即引起了强烈反响,并迅速获得推广应用。它是基于客户/服务器模式的信息发布和超文本(HyperText)技术的综合。Web服务器将信息组织成为分布式的超文本,这些信息可以是文本、子目录或信息指针。1_ASP.NET基础知识1.1.4资源(续1)(HyperTextTransferProtocol)的用户界面(网页)。(HyperTextMarkupLanguage)描述。HTML利用通用资源定位器URL(UniformResourceLocator)表示超媒体(Hypermedia)链接,并在文本内指向其他网络资源。网页分为静态网页和动态网页1_ASP.NET基础知识1.1.5静态网页和动态网页1、静态网页。在动态网页出现之前,采用传统的HTML编写的网页是静态网页,目前大部分的网页仍然属于静态网页。静态网页无需系统实时生成,网页风格灵活多样,但是静态网页在交互性能上比动态网页要差,日常维护也更为繁琐。文件后缀一般为htm或html。示例:大的网站的主页,如新浪、搜狐等1_ASP.NET基础知识1.1.5静态网页和动态网页(续1)•HTML制作网页的缺陷:网页是静态网页。•发展需要:动态网页(DHTML)。动态页面的概念的几条规则:1、“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大事所趋。2、自动更新即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量。3、“因时因人而变”,即当不同的时间、不同的人访问同一网址时会产生不同的页面。121_ASP.NET基础知识1.1.5静态网页和动态网页(续2)2)动态网页。所谓动态网页就是网页内含有程序代码(脚本),采用JSP、PHP、ASP、ASP.NET等技术动态生成页面,这种网页通常在服务器端以扩展名JSP、PHP、ASP或是ASPX储存,表示里面的内容是ActiveServerPages(动态服务器页面),有需要执行的程序。在接到用户的访问请求后,必须由服务器端先执行程序后,再将执行完的结果动态生成页面并传输到用户的浏览器中,在浏览器上显示出来。这种网页由于要在服务器端执行一些程序,由于执行程序时的条件不同,所以执行的结果也可能会有所不同,所以称为动态网页。1_ASP.NET基础知识1.1.5静态网页和动态网页(续3)由于动态网页由计算机实时生成,具有日常维护简单、更改结构方便、交互性能强等优点,同时动态网页需要大量的系统资源来合成网页。它常用的后台数据库有:Access、SQLServer2000等。在我们平时见到的网页中,不要以为如果页面上有动的东西,如GIF图片、FLASH动画等,就认为页面是动态网页,其实是完全错误的。1_ASP.NET基础知识1.1.5静态网页和动态网页(续4)静态网页动态网页内容网页内容固定网页内容动态生成后缀.htm;.html等.ASP,.JSP,.PHP,.CGI,.ASPX等优点无需系统实时生成,网页风格灵活多样日常维护简单,更改结构方便,交互性能强缺点交互性能较差,日常维护繁琐需要大量的系统资源合成网页数据库不支持支持1_ASP.NET基础知识客户端和服务器端处理1_ASP.NET基础知识HTTP请求与响应HTTP请求:从浏览器向Web服务器发出的搜索某个网页的请求。HTTP响应:当web服务器收到这个请求后,就会按照请求的要求,寻找响应的网页。如果找到这个网页,那么就把网页的HTML代码通过网络传回浏览器;如果没有找到这个网页,就发送一个错误信息给发出HTTP请求的浏览器。这些操作都称作HTTP响应。1_ASP.NET基础知识1.2Web应用程序的开发学习ASP.NET主要就是学习Web编程,也就是基于因特网的编程,Web应用程序运行在因特网(internet)上,通俗地说就是做网页,或说做Web网页。而在web应用程序开发中,核心是Web服务器,Web服务器可连接数据库服务器。Web服务器是一种软件,可以管理各种Web文件,并为提出HTTP请求的浏览器提出HTTP响应。比较常见的Web服务器有Apache和IIS。1_ASP.NET基础知识Web应用程序1_ASP.NET基础知识Web应用程序的运行结构1_ASP.NET基础知识Web应用程序的开发Web编程不是一件简单的任务,传统的应用程序开发拥有许多结构化语言支持的完好编程模型和较好的开发工具,而Web应用程序开发混合了标记语言、脚本语言和服务器平台,需要考虑很多东西。这就是为什么产生一种使用简单、功能强大的网络程序设计的语言和相应的开发工具是如此的重要,也势在必行。在这种背景下,几种网页制作工具和几种Web网页编程工具和相对应网络程序设计语言应运而生。1_ASP.NET基础知识几种主要的网络程序设计语言1、ASP、PHP和JSP和从总的方面来说,基本上都是把脚本语言嵌入到HTML文档中。如果要说它们各自主要的优点,那就是:ASP学习简单,使用方便;PHP软件免费,运行成本低;JSP多平台支持,转换方便。2、最新开发的ASP.NET。ASP.NET是我们要重点介绍的。1_ASP.NET基础知识几种主要的网络程序设计语言(续1)1.ASP概述ASP的全称是ActiveServerPages,是微软推出的用以取代CGI(CommonGatewayInterface)的动态服务器网页技术。特点:简单易学,功能强大。对客户端没有任何特殊的要求,只要有一个普通的浏览器就行。ASP文件就是在普通的HTML文件中嵌入VBScript或Javascript脚本语言形成的。1_ASP.NET基础知识ASP包含三方面含义:ASP的含义从字面上说,ASP包含三方面含义:(1)、Active:ASP使用了Microsoft的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。1_ASP.NET基础知识ASP包含三方面含义(续1)(2)、Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBScript和JScript。VBScript是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBScript,所以最好不要在客户端使用VBScript。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面。1_ASP.NET基础知识ASP包含三方面含义(续2)(3)、Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。由此我们可以看出,ASP是在IIS下开发Web应用的一种简单、方便的编程工具。在了解了VBScript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。1_ASP.NET基础知识•2.ASP程序的缺点运行速度比起HTML程序来运行较慢•有的网络操作系统不支持ASP文件或者支持得不好,这样,用ASP开发Web程序一般最好选用WindowsNT或Wndows2000操作系统。WndowsServer2003,WndowsXP。1_ASP.NET基础知识2.PHP概述PHP是RasmusLerdorf+1994年提出来的。它开始是一个用Perl语言编写的简单程序,RasmusLerdorfffi它来和访问他主页的人保持联系。当时只是作为一个个人工具,仅提供留言本、计数器等简单的功能。后来逐渐传开,Rasmus又重写了整个解析器,并命名为PHPv1.0,当然功能还不是十分完善。此后,其他程序员开始参与PHP源码的编写,1997年ZeevSuraski和AndiGutamns又重新编写了解析器,经过此次重写,功能基本完善,形成了今天流行的PHP3的雏形。1_ASP.NET基础知识3JSP概述JSP的全称是JavaServerPages,它是由太阳微系统公司(SunMicrosystemsInc.)提出、多家公司合作建立的一种动态网页技术。该技术的目的是为了整合已经存在的Java编程环境(例如JavaServle等),结果产生了一种全新的足以和ASP抗衡的网络程序语言。JSP的最大优点是开放的、跨平台的结构。它可以运行在几乎所有的服务器系统上,包括WindowsNT、Windows2000、Unix、Linux、Windows98等。当然,需要安装JSP服务器引擎软件。SUN公司提供了免费的JDK、J