ASP.NET4.0Web程序设计(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-23 11:38:43

点击下载

作者:刘艳丽,张恒(编著)

出版社:高等教育出版分社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

ASP.NET4.0Web程序设计

ASP.NET4.0Web程序设计试读:

前言

ASP.NET 是 Microsoft 公司创建服务器端 Web 应用程序的新一代技术,它构建在Microsoft.NET Framework基础之上,.NET Framework 聚合了紧密相关的多种新技术,彻底改变了从数据库访问到分布式应用程序的一切。而ASP.NET 是.NET Framework 中最重要的部件之一,通过它用户可以开发出高性能的Web应用程序。

ASP.NET 4.0不仅在语言和技术上弥补了原有ASP.NET 2.0 的不足,还提供了很多新的控件和特色以提升开发人员的工作效率。与之相应的 Visual Studio 2010 除了保持与 Visual Studio 旧版本相同的特点之外,也提供了大量新的特色帮助。本书全面介绍了 ASP.NET 4.0技术的开发与使用,站在实用和实际的角度,深入浅出地分析该技术的各个要点。如果读者曾使用前一版本的ASP.NET编过程序,可以将重点放在学习本书ASP.NET的新特性上,如第10章的LINQ、第15章的AJAX和第16章的WCF服务等。

本书是作者根据多年从事网络程序设计工作和讲授计算机专业相关课程的教学实践,在已编写多部讲义和教材的基础上编写而成的。本书精选大量例题,且增加了汉字注释,所有例题都在Visual Studio 2010 上调试通过,读者可按照书中提示信息找到每章的源码(如ch5_4表示第5章第4小节的所有代码)。

本书分为17章。第1章~第4章为基础篇,主要内容包括Web程序设计概述、HTML和CSS、JavaScript编程基础和C#语言基础。本书将JavaScript单独讲解,主要是因为从实践经验中发现ASP.NET中使用JavaScript是很有必要的,没有JavaScript编程基础,有些简单的问题都很难理解,详细说明请见第3章与第7章的7.6节。第5章~第11章为核心篇,主要内容包括ASP.NET Web 开发基础、APS.NET 对象及状态管理、ASP.NET 4.0 服务器控件、ADO.NET数据访问、数据绑定技术与绑定控件、使用LINQ和ASP.NET网页布局与标准化。通过本篇的学习,读者能够开发出小型的Web应用程序,掌握数据库以及网站的页面设计。第12章~第16章为提高篇,主要内容包括ASP.NET应用程序安全技术、文件操作、ASP.NET中使用XML、ASP.NET的AJAX扩展、Web服务和WCF服务。通过本篇的学习,读者可以掌握ASP.NET安全技术、Web服务在网站高级开发中的应用以及ASP.NET新技术。第17章为系统集成篇,主要内容包括网站发布、打包与安装。通过本篇的学习,读者可以将自己开发的程序部署到用户的服务器上。

本书第1章~第4章由张恒编写,第5章~第11章由刘艳丽编写,第12章~第14章由周洁编写,第15章~第16章由蔡体健编写,第17章由石红芹编写,全书由刘艳丽统稿。本书的代码由华东交通大学研究生协助编写与整理。

虽然我们尽可能保证文字和代码没有错误,但由于编者水平有限,加之编写时间仓促,书中难免存在错误和疏漏之处,希望广大读者批评指正。编者2012年9月第1章Web程序设计概述

Web应用和相关技术的飞速发展给人们的工作、学习和生活带来了重大变化,人们可以利用网络处理数据、获取信息,极大地提高了工作效率。本书以ASP.NET 4.0为框架讲解Web程序设计,在深入介绍之前,有必要了解Web程序设计的基本内容、概念和方法等基础知识。1.1 Internet与WWW概述1.1.1 Internet概述

Internet,中文正式译名为因特网,又叫做国际互联网。它是由那些使用公用语言互相通信的计算机连接而成的全球网络。一旦计算机连接到它的任何一个节点上,就意味着这台计算机已经连入Internet了。Internet目前的用户已经遍及全球,有超过几亿人在使用Internet,并且它的用户数还在呈几何倍数上升。

Internet是一组全球信息资源的总汇。有一种粗略的说法,认为Internet是由许多小的网络(子网)互连而成的一个逻辑网,每个子网中连接着若干台计算机(主机)。Internet 以相互交流信息资源为目的,基于一些共同的协议,并通过许多路由器和公共互联网组成,它是一个信息资源和资源共享的集合。计算机网络只是传播信息的载体,而 Internet 的优越性和实用性则在于本身。与Internet相关的常用术语简单解释如下。(1)因特网(Internet):专指全球最大的、开放的、由众多网络相互连接而成的计算机网络。它由美国的ARPAnet发展而来,主要采用TCP/IP。(2)万维网(World Wide Web,WWW):也称环球信息网,是基于超文本的、方便用户在Internet上搜索和浏览信息的信息服务系统。(3)超文本(Hypertext):是一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。它是超级文本的简称。(4)超媒体(Hypermedia):是超文本和多媒体在信息浏览环境下的结合,是超级媒体的简称。(5)主页(HomePage):是通过万维网进行信息查询时的起始信息页。(6)浏览器(Brower):这里专指Web 浏览器,如Microsoft的IE(Internet Explorer),以及可以跨平台的Netscape Navigator、Opera 等。它可以向万维网服务器发送各种请求,并对服务器发来的、由HTML定义的超文本信息和各种多媒体数据格式进行解释、显示和播放。(7)目录服务(Directory Service):是Internet 上根据用户的某些信息反查找另一些信息的一种公共查询服务。(8)防火墙(Firewall):是用于将Internet的子网和Internet的其他部分相隔离,以达到网络安全和信息安全效果的软件或硬件设施。(9)Internet服务商(Internet Service Provider,ISP):是向用户提供Internet服务的公司或机构。其中,大公司在许多城市都设有访问站点,小公司则只提供本地或地区性的Internet服务。一些ISP在提供Internet的TCP/IP连接的同时,也提供他们自己各具特色的信息资源。1.1.2 WWW概述

WWW 是World Wide Web(环球信息网)的缩写,也可以简称为Web,中文名字为“万维网”。它起源于1989 年3 月,是由欧洲量子物理实验室(the European Laboratory for Particle Physics,CERN)所发展出来的主从结构分布式超媒体系统。通过万维网,人们只要使用简单的方法,就可以很迅速方便地取得丰富的信息资料。由于用户在通过Web浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而Web在Internet上一推出就受到了热烈的欢迎,走红全球,并迅速得到了爆炸性的发展。

长期以来,人们只是通过传统的媒体(如电视、报纸、杂志和广播等)获得信息。但随着计算机网络的发展,人们已不再满足于传统媒体那种单方面传输和获取信息的方式,而希望有一种主观的选择性。现在,网络上提供各种类别的数据库系统,如文献期刊、产业信息、气象信息、论文检索等。由于计算机网络的发展,信息的获取变得非常及时、迅速和便捷。

到了1993年,WWW的技术有了突破性的进展,它解决了远程信息服务中的文字显示、数据连接以及图像传输的问题,这使得WWW成为Internet上最为流行的信息传播方式。现在,Web服务器成为Internet上最大的计算机群,Web文档之多,链接的网络之广,令人难以想象。可以说,Web为Internet的普及迈出了开创性的一步,是近年来Internet上取得的最激动人心的成就。

WWW采用的是浏览器/服务器结构,其作用是整理和存储各种WWW资源,并响应客户端软件的请求,把客户所需的资源传送到 Windows XP、Windows 7、UNIX或Linux等平台上。1.2 Web浏览器与Web服务器1.2.1 Web浏览器

浏览器是用于显示网页伺服器或档案系统内的HTML文件,并让用户与这些文件互动的一种软件。个人计算机上常见的网页浏览器包括 Microsoft 的 Internet Explorer、Mozilla 的Firefox、Opera和Safari。浏览器是最经常使用的客户端程序。全球资讯网是全球最大的连接文件网络文库。

网页浏览器主要通过HTTP连接网页伺服器而取得网页,HTTP容许网页浏览器送交资料到网页伺服器并且获取网页。目前最常用的HTTP是HTTP/1.1,这个协议在RFC2616中被完整定义。HTTP/1.1 有自己一套 Internet Explorer 并不完全支持的标准,然而许多其他网页浏览器则完全支持这些标准。

网页的位置(网址)以URL(统一资源定位符)指示;以http:开头的网址表示通过HTTP登录。很多浏览器同时支持多种类型的URL及协议,如ftp:是FTP(文件传送协议),gopher:是Gopher,https:是HTTPS(以SSL加密的HTTP)。

网页通常使用HTML(超文本标记语言)文件格式,并在HTTP内以MIME内容形式来定义。大部分浏览器均支持许多HTML以外的文件格式,如JPEG、PNG和GIF图像格式,还可以利用外挂程式来支持更多文件类型。在HTTP内容类型和URL协议的结合下,网页设计者可以把图像、动画、视频、声音和流媒体包含在网页中,或让人们通过网页取得它们。

早期的网页浏览器只支持简易版本的 HTML。专属软件浏览器的迅速发展促使非标准HTML代码的产生。这导致了浏览器相容性的问题。现代的浏览器(Mozilla、Opera和Safari)支持标准的HTML 和XHTML(从HTML 4.01 版本开始)。它们显示出来的网页效果都一样。Internet Explorer仍未完全支持HTML 4.01及XHTML 1.x。现在许多网站都是使用所见即所得的HTML编辑软件来建构的,这些软件包括Adobe Dreamweaver和Microsoft Frontpage等。它们通常预设产生非标准HTML,这阻碍了W3C制定统一标准,尤其是XHTML和CSS(层叠样式表,设计网页时用)。

有一些浏览器还载入了一些附加组件来Usenet新闻组、IRC(互联网中继聊天)和电子邮件。支持的协议包括NNTP(网络新闻传输协议)、SMTP(简单邮件传输协议)、IMAP(交互邮件访问协议)和POP(邮局协议)。1.2.2 Web服务器

Web 服务器也称为WWW(World Wide Web)服务器,主要功能是提供网上信息浏览服务。WWW是Internet的多媒体信息查询工具,是Internet近年才发展起来的服务,也是发展最快和目前应用最广泛的服务。正是因为有了WWW工具,才使得近年来Internet迅速发展,且用户数量飞速增长。Web服务器是指驻留于Internet上的某种类型计算机的程序。当Web浏览器(客户端)连接到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它称为HTTP服务器的原因。

Web服务器是可以向发出请求的浏览器提供文档的程序。(1)服务器是一种被动程序:只有当 Internet 上运行在其他计算机中的浏览器发出请求时,服务器才会响应。(2)最常用的 Web 服务器是 Apache 和 Microsoft 的 Internet 信息服务器(Internet Information Server,IIS)。(3)Internet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、E-mail和FTP等各种Internet服务。

Web 服务器和 Web 浏览器的关系如图1-1所示。图1-1 Web 服务器和Web 浏览器的关系

Web 服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。Web 服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。更确切的说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)的。

Web服务器可以解析(handles)HTTP。当Web服务器接收到一个HTTP请求时,会返回一个HTTP响应(response),如送回一个HTML页面。为了处理一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给其他的程序,如CGI脚本、JSP(JavaServer Pages)脚本、servlets、ASP(Active Server Pages)脚本、服务器端(server-side)JavaScript,或者其他的服务器端(server-side)技术。无论它们(脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应来让浏览器可以浏览。

Web 服务器的代理模型(delegation model)非常简单。当一个请求被送到Web 服务器中时,它只单纯地把请求传递给可以很好地处理请求的程序(服务器端脚本)。Web 服务器仅仅提供一个可以执行服务器端程序和返回(程序所产生的)响应的环境,而不会超出职能范围。服务器端程序通常具有事务处理(transaction processing)、数据库连接(database connectivity)和消息发送(messaging)等功能。1.3 Web编程概述

Web是一种典型的分布式应用框架。Web应用中的每一次信息交换都要涉及客户端和服务端两个层面。因此,Web编程技术大体上也可以分为客户端技术和服务端技术两大类。1.3.1 Web的工作原理

Web的信息源保存在Web站点中,用户通过Web浏览器来访问。因此,Web是一种基于客户机/服务器(Client/Server,C/S)的体系结构。用户使用浏览器从网上查阅Web信息,把需要的信息从网上下载到本机。信息分布点和用户需求信息的不同,表现在Web上是链接地址的不断变化。

浏览器的主要功能是解释并显示由Web服务器传送来的、由HTML写成的文档,包括嵌入HTML文档中的GIF和JPEG格式的图像。此外,浏览器还可以根据用户的需要配置某些辅助应用程序,用来处理嵌入HTML文档中的声音、视频等外部多媒体信息。通常将Web浏览器中显示的HTML文本称为Web页面(Page)。

Web服务器是一个软件,用于管理Web页面,并使这些页面通过本地网络或Internet供客户机浏览器使用。在使用 Internet 的情况下,Web 服务器和浏览器通常位于两台不同的计算机上,也许它们之间相隔很远,甚至不在一个国家。但在本地情况下,也许是用一台计算机运行Web服务器软件,然后在同一台计算机上通过浏览器浏览它的Web 页面。访问远程Web服务器与本地服务器之间没有什么差别,因为不论处于何种情况,Web服务器的功能(即生成可用的Web页面)保持不变。如果用户是唯一在自己的计算机上访问Web服务器的人,那么其操作与用户在自己的计算机上运行Web服务器的操作相同。无论是何种情况,其工作原理都是不变的。

最常用的 Web 服务器有 Apache、IIS 和 iPlanet 的 Enterprise 服务器等,本书将只介绍Microsoft的IIS。IIS是能够运行ASP.NET的唯一服务器(将在1.4节重点介绍IIS的安装)。

1.静态Web页面的工作原理

在Internet上浏览网页时,会发现许多Web页面的内容和外观总是保持不变,并且这些页面的文件后缀名都是.htm 或者.html,这就是静态 Web 页面。下面编写一个简单的名为“Welcome.htm”的静态页面并对其进行访问,步骤如下。(1)新建一个文本文件,并输入如下代码。

<html>

<!-- 标题-->

<head>

<title>我的页面标题</title>

</head>

<body>

<!-- 页面主体-->

Welcome! 这是最简单的网页。

</body>

</html>(2)将此文件命名为“Welcome”,并修改扩展名“txt”为“htm”。(3)将此文件保存到“C:\inetpub\wwwroot”目录下。将文件保存到该目录下是因为本书例程运行所用的Web服务器的主目录设为“C:\inetpub\wwwroot”。具体的内容将在本书后续章节介绍。(4)启动IE,在地址栏中输入地址“http://localhost/Welcome.htm”,并按【Enter】键,运行结果如图1-2所示。其中“http://localhost/”代表本机的Web服务器。图1-2 静态页面图1-3 静态Web 页面的工作原理

实际上,在用户访问这个页面之前,页面的内容已经确定,不管用户何时访问,以怎样的方式访问,页面的内容都不会再改变。静态页面如何显示在客户机浏览器中有以下5个步骤,过程如图1-3所示。(1)编程人员编写由纯HTML代码组成的Web页面,并将其以.htm文件格式保存到Web服务器上(在Web服务器上发布)。(2)用户在其浏览器中输入页面请求(URL),该请求从浏览器传送到Web服务器。(3)Web服务器确定.htm页面的位置,并将它转换成HTML流。(4)Web服务器将HTML流通过网络传回到浏览器。(5)浏览器处理HTML并显示该页面。

类似Welcome.htm这样静态的、纯HTML文件能够呈现出完全可用的Web页面,甚至可以给这样的页面加入更多的 HTML 代码来修改字体和颜色,提高页面的显示效果和可用性。然而,编写纯HTML也只能做这些工作,因为页面的内容在用户请求页面之前已经完全确定,没有任何用户交互或动态响应功能。

2.动态Web页面的工作原理

动态Web页面不能在用户请求页面之前通过将页面代码保存到文件这一方法来创建,而是在得到页面请求之后再生成HTML文件。主要有以下两种方法可以实现此功能。(1)客户端动态Web页面。

在客户端模型中,附加到浏览器上的模块(即插件)完成创建动态页面的全部工作。通常包含一套指令的单独文件随HTML代码传送到浏览器,HTML页面对该文件进行引用。但是,常见的另一种情况是这些指令与HTML代码混合在一起,当用户请求Web页面时,浏览器利用这些指令生成纯HTML页面。也就是说,页面根据用户请求动态生成。这样就生成了一个在浏览器中显示的HTML页面。

在客户端模型中,前面介绍生成Web页面的5个步骤变成了以下6个步骤。

① 编程人员编写一套用于创建HTML 的指令,并将它保存到.htm 文件中。也可以用其他语言编写一套指令,这些指令可以包含在.htm文件中,或放在单独的文件中。

② 用户在其浏览器中输入Web 页面请求,该请求就从浏览器传送到Web 服务器。

③ Web 服务器确定.htm页面的位置,也许还需要确定包含指令的其他文件的位置。

④ Web 服务器将新创建的HTML 流与指令通过网络传回浏览器。

⑤ 位于浏览器的模块会处理指令,并将.htm 页面的指令以HTML形式返回(只返回一个页面,即使有两个请求也是如此)。

⑥ 浏览器处理 HTML,并显示该页面。

上述过程如图1-4所示。图1-4 客户端动态Web 页面的工作原理

客户端技术近来已不再受欢迎,因为此技术需要较长的下载时间,特别是当需要下载多个文件时,下载时间就更长。客户端技术的第二个缺点是每一个浏览器以不同的方式解释客户端脚本代码,因此无法保证所有的浏览器都能够理解它们。客户端技术的第三个缺点是当编写使用服务器端资源(如数据库)的客户端代码时会出现问题,因为代码是在客户端解释的,而客户端脚本代码是不安全的,很容易在浏览器中查看源代码。(2)服务器端动态Web页面。

利用服务器端模型,HTML源代码与混合在其中的一套指令被传回到Web服务器。当用户请求页面时,这套指令用于生成HTML页面,页面会根据请求动态生成。在服务器端模型中,前面介绍的5个步骤也变成了6个,但由于处理指令的位置不同,这6个步骤与客户端模型中的6个步骤略有不同。具体步骤如下。

① 编程人员编写一套创建HTML 的指令,并将这些指令保存到文件中。

② 用户在其浏览器中输入Web 页面请求,该请求就从浏览器传递到Web 服务器。

③ Web 服务器确定指令文件的位置。

④ Web 服务器根据指令创建HTML流。

⑤ Web 服务器将新创建的HTML 流通过网络传回浏览器。

⑥ 浏览器处理HTML,并显示Web页面。

上述过程如图1-5所示。图1-5 服务器端动态Web 页面的工作原理

该方法与前面介绍方法的不同之处是在页面返回到浏览器之前,所有的处理过程都在服务器上完成。与客户端模型相比,此方法的主要优点之一是只有 HTML 代码传回浏览器,这意味着页面的初始代码隐藏在服务器中,而且可以保证大多数浏览器能够显示生成的HTML页面。ASP.NET就属于服务器端模型。1.3.2 动态Web开发技术概述

1.提供动态内容的客户端技术

每一项提供动态内容的客户端技术都依赖于内置在浏览器中的模块(即插件)来处理指令。客户端技术是脚本语言、控件以及功能完善的编程语言的综合。(1)JavaScript

JavaScript是最早的浏览器脚本语言。JavaScript语言的前身称为Livescript,自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将原有的 Livescript 重新设计,并改名为 JavaScript。JavaScript 是一种基于对象和事件驱动并具有安全性能的脚本语言,JavaScript 可使网页变得更加生动。使用它的目的是与 HTML、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或在标准的HTML中调入实现的。

JavaScript编写容易,不需要有丰富的编程经验。现在,JavaScript已经成为制作动态网页必不可少的元素,经常在网页上看到的动态按钮和滚动字幕等,大多数都是使用JavaScript技术制作的。

Microsoft 公司在Internet Explorer 3.0中推出了自己的JavaScript 版本,其名称为Jscript,且到目前为止,Internet Explorer 一直在支持它。虽然老版本的Internet Explorer 和Netscape浏览器支持的语言有较大的差别,但现在这两个版本之间的差别很小。(2)VBScript

在 Internet Explorer 3.0 中,Microsoft 公司也推出了自己的脚本语言——VBScript。VBScript 是基于Visual Basic 的编程语言,直接与JavaScript 竞争。就功能而言,VBScript 与JavaScript 之间并没有太大的区别,具体使用哪一种语言由个人的爱好决定。但 VBScript 具有类似VB 的简化功能,Visual Basic开发人员有时会喜欢使用VBScript,因为VBScript 的大部分内容是Visual Basic语言(VB.NET 以前的版本)的子集。不过,对于初级编程者来说, VBScript更具有吸引力的一点是不区分大小写(与JavaScript不一样),而且也不过分注重代码方面的细节。但正是由于这些“优点”,VBScript运行速度慢,效率也较低。

VBScript最大的缺点是没有一家Microsoft公司以外的浏览器支持由VBScript编写的客户端脚本。虽然曾经有一些用于Netscape的插件可提供对VBScript的支持,但一直没有流行起来,相比之下,JavaScript有更为广泛的应用与支持。如果希望在客户端编写Internet上的Web 页面,JavaScript 则是唯一可选择的语言。当编写内部网页面,且已知所有客户端都是Windows系统上的IE时,才考虑使用VBScript。

JavaScript和VBScript都依赖于称为脚本引擎的模块,该模块被内置到浏览器中,以动态方式处理指令,在这种情况下,这些指令也称为脚本。(3)Java小应用程序

Java是用于开发应用程序的跨平台语言。当Java在20世纪90年代中期首次应用于Web时,曾引起了巨大的轰动。Java代码以小应用程序的形式使用,这些小应用程序基本上是可以借助于<applet>标记方便地插入Web页面的Java组件。

Java比脚本语言的功能更为强大且不牺牲安全性,它在诸如图形功能、文件处理方面提供了更好的支持,Java也通过JDBC提供了强有力的数据库支持。

各种浏览器均通过 Java 虚拟机(JVM)得到内置的 Java 支持,而且有上千个标准的<object>标记和非标准的<applet>标记用于给Web页面添加Java小应用程序。这些标记告诉浏览器从服务器下载Java文件,并利用内置于浏览器的JVM执行它。当然,构造Web页面的这一额外步骤意味着Java小应用程序需要花一些时间进行下载,且下载到浏览器上后,还需要用更长的时间进行处理。虽然在 Web 上非常流行较小的 Java 小应用程序,但较大的小应用程序仍不像脚本页面那么普及。(4)Flash

Adobe公司的Flash是Web上的动态图形工具,它允许开发人员创建动画、交互式的图形和用户界面元素,如菜单。这似乎与其他已成熟的脚本和编程语言有点不同,但 Flash 也提供了它自己的脚本语言ActionScript,因此很快成为提供客户端动态内容的标准方式。它还与许多服务器端技术是完全互操作的。

许多浏览器的标准配置都含有用于浏览 Flash 的插件,如果没有这样的插件,可以从http://www.macromedia.com上免费下载安装。用于创建Flash动画(.swf文件)的Flash工具则必须从Adobe公司购买,但可以免费获得一个30天的演示版本。

Flash的功能和通用性都很强,在希望页面包含图形或声音的开发人员中非常流行。它使用的ActionScript语言在许多方面都类似于JavaScript,这又提高了熟悉JavaScript的开发人员对它的兴趣。Flash文件使用Falsh工具添加到HTML页面上。实际上,该工具自动生成一个<object>或<embed>标记,以便浏览器识别和进行相应的处理。

2.提供动态内容的服务器端技术

提供动态内容的服务器端技术依赖于添加到 Web 服务器而不是添加到浏览器的模块附件。因此,只有HTML文件和客户端脚本通过Web服务器传递到浏览器。换言之,这种方法不会将服务器端代码传送回浏览器,服务器端技术要比客户端技术具有更一致的外观和操作方式,而且在一些服务器端技术之间切换时,不需要学习过多的新东西(CGI除外)。(1)CGI

公共网关接口(Common Gateway Interface,CGI)是在服务器上创建脚本的一种机制,可用来创建动态Web应用程序。CGI是添加到Web服务器的模块,每当服务器接到客户端更新数据的要求后,利用这个模块启动外部应用程序完成各类计算、处理或访问数据库的工作,处理完后将结果返回Web服务器,再返回浏览器。外部应用程序是使用C、C++、Perl、Java等语言编写的程序,程序运行在独立的地址空间。

CGI的缺点很明显,具体体现在以下3个方面。

① 初学者不容易掌握编写这种模块的技术。

② CGI 需要许多服务器资源,特别是在多用户情况下更是如此。

③ 给创建动态内容的服务器端模型增加了额外的创建步骤,即页面在服务器上处理之前,需要运行CGI程序来创建动态页面。

另外,许多编程语言难以用CGI接收和传递数据的格式处理数据,因此需要一种具备良好特性的语言来处理文本并与其他软件通信。可完成此功能且适于所有操作系统的最为有效的编程语言是 C、C++和 Perl。虽然这几种语言可以完全胜任这些工作,但它们难以掌握。

尽管如此,CGI仍然在许多大型的Web站点中非常流行,特别是运行于UNIX操作系统上的站点。CGI也可以运行于许多不同的平台,这也保证了它的流行性。(2)ASP

动态服务器页面(Active Server Pages,ASP)是“传统的ASP”,本书中该术语用来描述除ASP.NET之外的任何ASP。ASP通常依赖JavaScript或VBScript脚本语言(但它也能够使用安装在Windows上的任何语言,如PerlScript)创建动态Web页面。ASP是一个用户附加到其 Web 服务器上的模块(asp.dll 文件),它在 Web 服务器上处理 JavaScript 或VBScript,然后在将它发送到浏览器之前将其转换成 HTML,而不是在浏览器上完成这一转换工作。

ASP实际上可允许用户在ASP页面中使用Windows提供的任何功能,如数据库存取、收发E-mail、图形处理、网络功能和系统功能。但是,ASP的缺陷是它的性能非常低下,它仅局限于使用脚本语言,不能够完成功能完善的语言所做的所有工作。另外,脚本语言就像是功能完善的语言的低级版本,采用了许多捷径,以使语言更简洁些。其中的一些捷径会使程序比实际需要的更长更复杂。相比之下,ASP.NET通过使代码更结构化、更易读、更简短而解决了这些问题。(3)JSP

JavaServer Pages(JSP)是允许用户将标记(HTML 或XML)与Java 代码相组合,动态生成Web页面的技术。JSP的主要优点之一是代码在不同服务器间的兼容性。JSP的功能也是非常强大的,它的运行速度要比ASP快,而且Java程序员能够很快掌握它。JSP允许Java程序利用Java 2 平台的JavaBeans和Java 2 库。JavaServer页面与ASP 没有直接的关系,但具有利用服务器端标记将Java代码嵌入Web页面的能力。(4)PHP

PHP 起源于个人主页面(Personal Home Pages)。但现在的PHP 是指PHP 超文本预处理程序(HyperText Preprocessor),它是用于创建动态Web 页面的另外一种脚本语言。当访问者打开页面时,服务器处理PHP命令,然后将结果传送到访问者的浏览器中,这一点与ASP.NET相同。但与ASP.NET 不同的是,PHP 是开放源代码和跨平台的。PHP 可以在Windows NT、许多UNIX 版本和Apache Web 服务器上运行。当构造成Apache 模块时,PHP 具有较高的速度。PHP的缺点是用户需要单独下载它,并通过一系列相当复杂的步骤进行安装才能使它在自己的计算机上工作。另外,直到PHP 4.0 才具有了PHP 会话管理,而且,即使现在这种会话管理也劣于ASP的会话管理。

PHP语言的语法类似于C和Perl,这对于没有编程经验的人来说是一个障碍。但如果用户具有使用C或Perl语言的经验,也许会去了解PHP。PHP也有一些初级的面向对象的特性,它提供了组织和封装代码的有用方法。(5)ASP.NET

随着PHP、JSP等技术的出现,ASP的统治地位受到了挑战,它们占有了ASP大量的市场。在这种情况下,在ASP的基础之上,Microsoft公司于2000年11月发布了ASP.NET,并于2005 年正式发布了功能更为强大、使用更为简单的ASP.NET 2.0。对于Web 开发人员而言,ASP.NET 2.0 是Microsoft 公司Web 开发史上的一个重要的里程碑。

伴随着强劲的发展势头,2008年Microsoft 推出了ASP.NET 3.5,使网络程序开发更倾向于智能开发。ASP.NET 3.5是建立在ASP.NET 2.0 CLR(公共语言运行库)基础上的一个框架,其底层类库依然调用的是.NET 2.0以前封装好的所有类,但在.NET 2.0 的基础上增加了众多的新特性。ASP.NET 前进的步伐从未停止,2010年又发布了ASP.NET 4.0。

ASP.NET 采用效率较高的、面向对象的方法来创建动态 Web 应用程序。在原来的 ASP技术中,服务器端代码和客户端HTML混合交织在一起,常常导致页面的代码冗长而复杂,程序的逻辑难以理解,而ASP.NET就能很好地解决这个问题,能独立于浏览器,而且可以支持VB.NET、C#.NET、VC++.NET等多种编程语言。1.4 ASP.NET4.0开发环境

Visual Studio 2010是Microsoft为了配合.NET战略推出的IDE开发环境,在开发ASP.NET应用程序时,首先需要安装Visual Studio 2010集成开发环境。本节首先讲解Visual Studio 2010的安装和配置,然后介绍安装IIS服务器的步骤及相关的配置与管理。1.4.1 Visual Studio2010简介

Visual Studio 是 Microsoft 出品的开发工具,对于.NET 的开发,先后有 Visual Studio 2002/2003/2005/2008,分别用来开发.NET 1.0、2.0和3.5,Visual Studio 2010是目前最新的版本。Visual Studio 2010 支持的最高级.NET framework 是.NET Framework 4.0,同时还支持.NET Framework 1.X、.NET Framework 2.0和.NET Framework 3.5。

Visual Studio 2010和Visual Studio 2008相比使得开发更加容易。Visual Studio 2008 能做的事情Visual Studio 2010都能做,Visual Studio 2010 向前、向后无缝兼容。1.4.2 下载与安装Visual Studio2010

1.下载Visual Studio 2010

可以到官方网站下载Visual Studio 2010 安装程序Microsoft Visual Studio 2010 Ultimate Beta2–ISO。下载地址是:

http://www.microsoft.com/downloads/details.aspx?FamilyID=dc333ac8-596d-41e3-ba6c-842 64e761b81&displaylang=en

下载的是ISO 文件,需要虚拟光驱工具,如DAEMON Tools。

2.系统要求(1)支持的操作系统。

9 Windows XP (x86) with Service Pack 3 - all editions except Starter Edition

9 Windows XP (x64) with Service Pack 2 - all editions except Starter Edition

9 Windows Vista (x86 & x64) with Service Pack 1 - all editions except Starter Edition

9 Windows 7 (x86 and x64)

9 Windows Server 2003 (x86 & x64) with Service Pack 2

9 Windows Server 2003 R2 (x86 and x64)

9 Windows Server 2008 (x86 and x64) with Service Pack 2

9 Windows Server 2008 R2 (x64)(2)硬件环境要求。

9 Computer that has a 1.6GHz or faster processor

9 1 024 MB RAM

9 3 GB of available hard disk space

9 5 400 RPM hard disk drive

9 DirectX 9-capable video card that runs at 1280 x 1024 or higher display resolution

9 DVD-ROM Drive

3.安装注意事项

Visual Studio 2010 的安装过程与Visual Studio 2008没什么区别。关于安装没有特别需要说明的,一直单击“下一步”按钮即可,要注意的是安装功能选择界面,如图1-6所示。图1-6 Visual Studio 2010安装功能选择界面

Visual C++对于ASP.NET 开发人员来说不用安装,还有Visual Basic和Visual C#也可以适当地做出选择,这样可以节省一些空间,如果不使用 Visual Basic 完全可以不选中 Visual Basic复选框。

对于“Microsoft SQL Server 2008 Express Service”选项建议不要选中,因为如果能安装SQLServer 2005/ SQLServer 2008更高级的版本也就是高级版和企业版,就能得到更多的功能。

对于最下面的“Microsoft SharePoint Development Tools”,如果不开发SharePoint 建议不选中。

安装完后打开Visual Studio 2010,如果是第一次打开,那么看到的项目列表是空的。如果已经开发过一些项目,可以看到最近打开过的项目列表。1.4.3 Visual Studio2010开发界面

Visual Studio 2010 的主界面包括标题栏、菜单栏、工具栏、工具箱、解决方案资源管理器、属性窗口、文档窗口等,如图1-7所示。图1-7 Visual Studio 2010主界面

下面对几个常用项进行介绍。

1.工具箱

默认情况下,在主窗口的左侧,可以看到折叠的工具箱选项卡,将鼠标指针移动到该选项卡上悬停几秒,工具箱就会展开。在执行不同的任务时,工具箱也可能会变化,以显示相关的控件。可以简单地拖动鼠标将工具箱的控件拖放到页面中的合适位置。工具箱中的控件包含多个类,用户可以根据需要展开或折叠某个分类,以便找到需要的控件。如果在主窗口左侧找不到工具箱,可以按【Ctrl+Alt+X】组合键或者选择“视图→工具箱”命令。

2.解决方案资源管理器

在该面板中,文件被分门别类地存储在不同的文件夹中,可以通过该面板向站点中添加新的文件夹和文件、从项目中删除文件、更改文件或文件名等。解决方案资源管理器的大部分功能都集中在它的右键快捷菜单中。解决方案资源管理器一般与服务器资源管理器集成在一起显示,通过该面板,可以使用数据库、创建新数据库、打开现在数据库,以及向数据库中添加新的表和查询工具。

3.属性面板

属性面板位于窗口的右下角,通过面板可以查看和编辑项目、文件、控件、页面本身的属性以及其他内容。

4.文档编辑区

它是界面的主要区域,大部分动作都是在这里发生的。在文档编辑区的下方有3个视图按钮,分别是“设计”、“拆分”、“源”按钮。在操作含有标记的文件(如ASPX和HTML文件)时,这些按钮会自动出现。单击“设计”按钮可以打开页面的设计视图,在此可以看到页面在浏览器中的效果;单击“源”按钮将打开源视图,在此可以看到页面的源代码;单击“拆分”按钮可以同时打开设计视图和源视图。默认情况下,文档编辑区是一个带选项卡的区域,各文件通过选项卡呈现,文件名在编辑区顶部。如果选项卡上的文件名带有“*”,则说明该文件的内容修改过但还没有保存。

5.其他面板

除了前面介绍的几个组成部件之外,Visual Studio 2010 还有很多工具面板,包括输出、错误列表、书签、查询结果等面板。这些面板都可以通过“视图”菜单下面的相应命令打开。1.4.4 IIS的安装与配置

下面以在Windows 7 环境下安装IIS 7为例,介绍IIS 的安装。默认情况下,Windows 7安装时不会自动安装IIS,只能手动安装。具体安装步骤如下。(1)打开Windows 7 控制面板,单击“程序”→“程序和功能”命令,在弹出的“程序和功能”窗口中单击左侧的“打开或关闭Windows功能”超链接,如图1-8所示。(2)弹出“Windows功能”窗口,从中选择需要的功能,用户可以根据自已的实际情况选择,一般情况下可按图1-9选择。(3)IIS 7安装完成后,要对其进行必要的配置。再次进入控制面板,单击“管理工具”,在弹出的“管理工具”窗口中双击“Internet 信息服务(IIS)管理器”选项,如图 1-10 所示。图1-8 打开和关闭Windows 功能图1-9 选中需要的功能图1-10 双击“Internet 信息服务(IIS)管理器”(4)弹出“Internet 信息服务(IIS)管理器”窗口,选中“Default Web Site”,双击“IIS”中的“ASP”,如图1-11所示。图1-11 “Internet信息服务(IIS)管理器”窗口(5)在 ASP 属性窗口,把“启用父路径”的设置改为“True”,默认是“False”,如图1-12所示。图1-12 ASP 属性窗口(6)回到“Internet 信息服务(IIS)管理器”窗口,在右侧的“浏览网站”中选择“高级设置”命令,在打开的“高级设置”对话框中设置网站的目录,如图1-13所示。此时默认的“物理路径”(也就是网站的目录)为 C:\inetput\wwwroot,用户可以根据自己的需要修改这个路径。(7)回到“Internet 信息服务(IIS)管理器”窗口,单击右侧的“绑定...”,选中要绑定的网站,单击“编辑”按钮,如图1-14所示。如果是一台计算机,只修改后面的端口号就行,可以随意修改数字。如果是办公室局域网,单击下拉框,选择自己计算机上的局域网IP地址,如192.168. **. **,然后修改端口号。(8)回到“Internet 信息服务(IIS)管理器”窗口,右键单击“Default Web Site”,在弹出的快捷菜单中选择“管理网站”→“浏览”,如图1-15所示,就可以打开绑定在文件夹里的网站了。图1-13 “高级设置”对话框图1-14 “网站绑定”对话框图1-15 选择“浏览”测试页本章实验

一、实验目的

了解ASP.NET开发与运行环境的安装方法,为后继实验的顺利进行奠定基础。

二、实验内容和要求(1)在一台未安装 IIS 的使用 Windows XP 或Window 7 操作系统的计算机的控制面板中依次单击“程序”→“程序和功能”命令,在弹出的“程序和功能”窗口中单击左侧的“打开或关闭Windows功能”超链接,安装IIS。(2)IIS安装完成后,按1.4.4介绍的方法配置,最后测试是否能显示如图1-16所示的网页(Window 7操作系统)。图1-16 IIS测试页面(3)在1.4.2介绍的网址下载Visual Studio 2010 并安装。(4)运行安装好的Visual Studio 2010,从“帮助”菜单中选择“MSDN论坛”,熟悉产品文档(MSDN)的主要内容。第2章HTML和CSS

Web应用程序主要通过HTML和XML来表达信息。HTML确定了网页的文档结构,而XML则定义了信息自身的结构。在网页设计中HTML是基础,在程序开发中XML则拥有重要的地位。层叠样式表(Cascading Style Sheet,CSS)用于定义HTML网页在浏览器中的显示效果,是现在Web网页设计的基础技术之一。本章主要对这三方面的技术进行详细介绍。2.1 HTML基础

HTML是创建Web页面的基本框架语言,它利用标记(tag)来描述网页的字体、大小、颜色及页面布局。自1990年以来HTML就一直被用作WWW上的信息表示语言,用于描述网页的格式设计和它与WWW上其他网页的链接信息。可以说,HTML是整个Web开发技术的基础,ASP.NET网页上的影像、语音、图片和文字,甚至后台程序都是通过HTML连接起来的。2.1.1 HTML与XHTML

为了方便浏览器的开发,W3C 组织为 HTML 制定了相应的国际标准,目前常用的版本为4.01。但这一标准并不严格,而且由于历史原因,一些老的 HTML 网页并不规范,例如,在有的网页中起始标签与结束标签并没有严格对应,而且也不区分大小写。由于HTML的老版本并不统一,所以在解析老版本的 HTML 网页时,各种浏览器的开发者往住自行其是,从而导致同一个网页在不同种类的浏览器(甚至是同一种浏览器的不同版本)中显示效果不一样。

为了统一网页的编写规则,在原有 HTML 规范的基础之上,W3C 制定了更为严格的XHTML(eXtensible HyperText Markup Language)规范,引入了XML 文档的一些特性(如起始标签与结束标签必须严格对应,整个文档只能有一个根节点等)。

HTML文档中的DOCTYPE指令用于声明它所遵循的规范,例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html14/loose.dtd">

以上代码解析如下。

<! :这是特殊指令,不是HTML 元素。

html:表示根元素为html。

PUBLIC:表示HTML 4.01 是公开的标准。

"-//W3C//DTD HTML 4.01 Transitional//EN":表示使用HTML 4.01,标签使用英语。

http://www.w3.org/TR/html14/loose.dtd:这是HTML 4.01 文档的URL。

如果需要严格按照HTML 4.01 编写网页(不再兼容老版本),应按以下格式声明。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html14/strict.dtd">

strict.dtd 定义了严格的HTML 规范,如要求内联元素(Inline Elements)必须嵌套于块元素(Block Elements)之内。

可以访问W3C的网站(http://validator.w3.org)对HTML文档进行验证,检查它们是否符合声明的版本标准(如HTML 4.01),它根据DOCTYPE 指令检验网页。

目前开发的网页大多遵循XHTML 规范,例如,使用Visual Studio 创建的HTML 网页开头总是这一句。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

其中,“xhtml1-transitional.dtd”说明Visual Studio 网页遵循XHTML 规范,但采用过渡(transitional)形式,即在网页中仍然允许使用HTML 的一些老的特性。Visual Studio 内嵌了XHTML 校验器,如果发现不符合XHTML 规范的代码,Visual Studio 会给其打上波浪线。2.1.2 遵循XHTML规范编写网页

W3C建议编写新的网页时遵循XHTML规范,简单总结如下。(1)标签名称必须小写。(2)属性名称必须小写,属性值用双引号括起来。(3)标签必须严格嵌套。(4)标签必须严格配对,即使是空元素也要封闭。

例如,传统的HTML中允许以下代码。

<p>这是一段文字

<br>换行

但在XHTML中,必须改为:

<p>这是一段文字</p>

<br/>换行

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载