1、第一章第一章 ASP.NET概述概述 HTTP协议协议 Web服务器服务器 静态网页静态网页 动态网页动态网页 HTTP协议协议HTTPHTTP协议即超文本传输协议协议即超文本传输协议(Hypertext Hypertext Transfer Protocol)Transfer Protocol),是在是在InternetInternet中进行中进行信息传送的协议。浏览器默认使用这个协议。信息传送的协议。浏览器默认使用这个协议。HTTPHTTP协议是无状态协议。协议是无状态协议。WebWeb服务器服务器 WebWeb服务器是一种软件,可以管理各种服务器是一种软件,可以管理各种WebWeb文文件
2、,并为提出件,并为提出HTTPHTTP请求的浏览器提供请求的浏览器提供HTTPHTTP响响应。应。常见的常见的WebWeb服务器有服务器有ApacheApache和和IISIIS(Internet Internet Information ServiceInformation Service)。)。静态网页静态网页 静态网页就是用纯静态网页就是用纯HTML代码编写的网页。代码编写的网页。例子例子 动态网页动态网页 动态网页的实现两种常用方法动态网页的实现两种常用方法客户端程序设计客户端程序设计通过将程序下载到浏览器上完成动态程序设计通过将程序下载到浏览器上完成动态程序设计常见的技术:常见的技术
3、:JavaScriptJavaScript、VBScriptVBScript和和Java appletJava applet等等 服务器端程序设计服务器端程序设计程序员编写的代码被保存在服务器上,当用户对某个动态程序员编写的代码被保存在服务器上,当用户对某个动态网页提出网页提出HTTP请求的时候,这个请求所要访问的网页的请求的时候,这个请求所要访问的网页的代码都在服务器端执行完成,并把执行结果以代码都在服务器端执行完成,并把执行结果以HTML的形的形式传回浏览器。式传回浏览器。基本概念基本概念 ASP.NET的发展历史的发展历史 ASP.NETASP.NET与与ASPASP的区别的区别 ASP
4、.NETASP.NET的工作原理的工作原理 编译和解释编译和解释编译编译将程序翻译成二进制机器代码的过程是在程序执将程序翻译成二进制机器代码的过程是在程序执行之前预先进行的,那么就是编译行之前预先进行的,那么就是编译可以对代码进行优化来保证编译的结果可以最好可以对代码进行优化来保证编译的结果可以最好地利用机器硬件的各种性能地利用机器硬件的各种性能 解释解释将程序翻译成二进制机器代码的过程是在程序的将程序翻译成二进制机器代码的过程是在程序的执行过程中进行的,那么就是解释执行过程中进行的,那么就是解释在程序的执行过程中进行的,所以没有办法对程在程序的执行过程中进行的,所以没有办法对程序进行相关的优
5、化序进行相关的优化 HTTPHTTP请求和请求和HTTPHTTP响应响应 用户在浏览器中输入用户在浏览器中输入HTTP请求请求HTTP请求通过请求通过Internet找到相应的找到相应的Web服务器,服务器,并把这个请求传给这个并把这个请求传给这个服务器相应的处理模块服务器相应的处理模块执行结果通过执行结果通过Internet返返回 给 客 户 端,形 成回 给 客 户 端,形 成HTTP响应。响应。客户机 HTTP 响应 HTTP 请求 Internet Web 服务器 CGI(Common Gateway Interface,公共网关接口)公共网关接口)CGI是在服务器上创建脚本的一种机制
6、。几乎是在服务器上创建脚本的一种机制。几乎所有的所有的Web服务器都支持服务器都支持CGI。应用程序在维护和调试的时候都十分困难。应用程序在维护和调试的时候都十分困难。对于每一个客户的请求,对于每一个客户的请求,CGI都要产生一个进都要产生一个进程来进行处理,系统资源消耗大。程来进行处理,系统资源消耗大。ISAPI ISAPI应用程序是通过应用程序是通过DLL实现的,并且可以实现的,并且可以加载到服务器的进程空间,以保证程序执行加载到服务器的进程空间,以保证程序执行得更快得更快用用ISAPI可以创建过滤程序和扩展程序。可以创建过滤程序和扩展程序。ISAPI的的DLL是被加载到是被加载到Web服
7、务器的进程空服务器的进程空间的,如果编写的间的,如果编写的ISAPI应用程序对性能的考应用程序对性能的考虑不是很好,就会导致服务器的崩溃。虑不是很好,就会导致服务器的崩溃。使用使用C语言编写程序,调试和维护仍然不容易。语言编写程序,调试和维护仍然不容易。PHP PHP起源于个人主页页面起源于个人主页页面(Personal Home Pages),现在指现在指PHP超文本与处理程序超文本与处理程序(Hypertext Preprocessor)。)。PHP是开放源码并且是跨平台的,可以在是开放源码并且是跨平台的,可以在Windows、UNIX和和Apache Web服务器上运行。服务器上运行。P
8、HP语言类似于语言类似于C,所以对于初学者而言不容所以对于初学者而言不容易掌握。易掌握。ASP ASP是一种允许用户将是一种允许用户将HTML或或XML标记与标记与VBScript代码或者代码或者JavaScript代码相结合生成动态页代码相结合生成动态页面的技术,当一个页面被访问时,面的技术,当一个页面被访问时,VBScript/JavaScript代码首先被服务器处理,然后代码首先被服务器处理,然后将处理后得到将处理后得到HTML代码发送给浏览器。代码发送给浏览器。ASP只能建立在只能建立在Windows的的IIS Web服务器上服务器上所有的代码都是解释执行的,所以相对速度较慢。所有的代
9、码都是解释执行的,所以相对速度较慢。VBScript/JavaScript代码的结构性不好,所以导致代码的结构性不好,所以导致代码不好理解。代码不好理解。JSP 与与ASPASP类似,类似,JSPJSP也是一种允许用户将也是一种允许用户将HTMLHTML或或XMLXML标记与标记与JavaJava代码相结合生成动态页面的技代码相结合生成动态页面的技术,很多的术,很多的WebWeb服务器都支持服务器都支持JSPJSP,因此可以因此可以实现不同服务器中代码的兼容。实现不同服务器中代码的兼容。JSPJSP使用使用JavaJava语法,所以语法,所以JavaJava程序员很容易掌程序员很容易掌握这种编
10、程技术。握这种编程技术。ASP.NET ASP.NET与与ASP相比效率更高,提供了很高的相比效率更高,提供了很高的可重用性,并且对于实现同样的功能比使用可重用性,并且对于实现同样的功能比使用ASP的代码量要小得多。另外,的代码量要小得多。另外,ASP.NET采用采用全新的编程环境,代表了技术发展的主流方全新的编程环境,代表了技术发展的主流方向。向。ASP.NET的发展历史的发展历史 1996年年ASP1.0诞生诞生 1998年,微软发布了年,微软发布了ASP 2.0。2000年,随着年,随着Windows 2000的成功发布,这的成功发布,这个操作系统的个操作系统的IIS 5.0所附带的所附
11、带的ASP 3.0也开始也开始流行流行 2001年,年,ASP.NET出现了。出现了。ASP.NET与与ASP的区别的区别 效率效率 可重用性可重用性 代码量代码量 ASP.NET的工作原理的工作原理 有一个有一个HTTP请求发送到请求发送到Web服务器要求访问一个服务器要求访问一个Web网页。网页。Web服务器通过分析客户的服务器通过分析客户的HTTP请求来定位所请求请求来定位所请求网页的位置。网页的位置。如果所请求的网页的文件名的后缀是如果所请求的网页的文件名的后缀是aspx,那么就把这个那么就把这个文件传送到文件传送到aspnet_isapi.dll进行处理,由进行处理,由aspnet_
12、isapi.dll把把ASP.NET代码提交给代码提交给CLR。如果以前没有执行过这个程序,那么就由如果以前没有执行过这个程序,那么就由CLR编译并执行,编译并执行,得到纯得到纯HTML结果;结果;如果已经执行过这个程序,那么就直接执行编译好的程序如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯并得到纯HTML结果。结果。最后把这些纯最后把这些纯HTML结果传回浏览器作为结果传回浏览器作为HTTP响应。响应。浏览器收到这个响应之后,就可以显示浏览器收到这个响应之后,就可以显示Web网页。网页。IISIISMDACMDAC.NET Framework.NET Framework和和AS
13、P.NETASP.NETIISIISIIS是在是在Windows启动的时候自动启动的。启动的时候自动启动的。目录管理目录管理 设置主目录设置主目录虚拟目录并不是一虚拟目录并不是一个真正存在的物理个真正存在的物理目录,而是服务器目录,而是服务器上物理目录的一个上物理目录的一个别名。别名。开始编写开始编写ASP.NETASP.NET程序程序 开发环境的选择开发环境的选择 编写代码编写代码 开发环境的选择开发环境的选择微软提供的微软提供的Visual Studio.NET为开发为开发ASP.NET应用程序和应用程序和Windows应用程序提供了一个应用程序提供了一个丰富的环境丰富的环境拖放拖放Int
14、ellisense(智能提示)智能提示)调试调试Notepad这样的最简单的纯文本编辑器这样的最简单的纯文本编辑器 ASP.NET应用程序实际上就是一个纯文本的文件,这个文应用程序实际上就是一个纯文本的文件,这个文件的实际编译工作是向件的实际编译工作是向IIS第一次发出对这个文件的第一次发出对这个文件的HTTP请求时由请求时由ASP.NET进行的进行的,只要有一个文本编辑器就可以只要有一个文本编辑器就可以进行进行ASP.NET程序设计。程序设计。ASP的编码方式的编码方式 使用的是使用的是VBScript或者或者JavaScript这样的脚本这样的脚本语言,并在语言,并在HTML代码中需要编写程序的地代码中需要编写程序的地方插入代码方插入代码插入代码的方法是把代码写到插入代码的方法是把代码写到符号中符号中间间 ASP.NET的编码方式的编码方式 ASP.NET的代码和的代码和HTML的代码则是完全分割的代码则是完全分割开的,代码都在开的,代码都在标记中,而标记中,而页面描述信息则都在页面描述信息则都在标记之标记之外。外。注释注释 在在VB.NET中,注释语句的写法和在中,注释语句的写法和在VB中的中的写法是一样的,就是在注释语句的前面加上写法是一样的,就是在注释语句的前面加上一个一个“”。