第八章 Web 应用程序开发
description
Transcript of 第八章 Web 应用程序开发
第八章 Web 应用程序开发
本章学习要点 了解基于 Web 的应用程序的概念 了解 ASP.NET 2.0 的基本知识及 ASP.NET
和 VB.NET 的关系 熟悉服务器控件的定义、类型、属性及各类
控件的使用和 Web 应用的调试 熟悉 HTML 服务器控件构架 熟悉 ASP.NET 配置文件、 ASP.NET 网站管
理工具、缓存及性能监视和测试
8.1 Web 应用程序 .NET 框架的目标是设计用于 Internet 时代应
用程序的开发平台。 对于计算机程序开发人员来讲,有了 .NET
不但可以方便地设计传统的 Windows 应用程序,而且可以高效地开发以 Internet 为基础,通过其标准的通信协议来沟通的 Web 应用程序。
8.1.1 客户机 / 服务器的 Web 应用程序
大多数 Windows 应用程序都是独立的应用程序,而 Web 应用程序需要服务器和客户机。 Web 服务器把网页发送给客户机 , 并在浏览器应用程序中显示网页。 请求
响应
服务器 客户机(浏览器)
服务器把网页发送给客户机 , 在游览器窗口中显示网页 服务器可以位于远程机器上 , 也可以位于客户机所在的机器上
8.1.1 客户机 / 服务器的 Web 应用程序
1. Web 服务器2. Web 客户机3. Web 页4. Web 页与 Windows 窗体
8.1.2 一个 Web 应用程序实例( 1 )启动 Visual Web Developer 2005 , 单击 文件 \
新建网站( 2 )新建项目以后 Visual Web Developer 将自动添
加一个名为 Default.aspx 的 ASP.NET 页面文件,同时将使该文件处于编辑状态
( 3 )接下来我们可以使用默认的 Default.aspx ,也可以自己添加新的 Web 窗体
8.1.2 一个 Web 应用程序实例( 4 )添加新的 Web 窗体以后 Visual Web Developer 将自动打开该文件,并使之处于 HTML 视图,从工具箱中的标准选项卡中拖动一个 Label 控件到设计视图。
( 5 )选中刚才拖入的 Label 控件 , 在属性窗口中设置其 ID 属性为 lblHello
( 6 )在 Helloworld1.aspx 设计视图的空白处双击,这时将自动打开 Helloworld1.aspx.vb 文件
8.1.2 一个 Web 应用程序实例 ( 7 )在解决方案资源管理器中选中
Helloworld1.aspx 文件,单击右键,选中 在浏览器中查看选项,或者直接敲击键盘 F5 键,如图所示。
8.2 ASP.NET 介绍ASP.NET 是一种 Web 开发环境,它可以
编译包括 Visual Basic 在内的任何一种 .NET语言编写的应用程序。这意味着在开发 Web应用程序时,可以利用公共语言运行时和托管代码的优点。 ASP.NET 为 Web 窗体和 Web服务提供同 Windows 应用程序一样的调试支持,使 Web 开发变得更为容易。
8.2.1 关于 ASP.NETASP.NET 是建立在微软新一代 .NET 平台架构
上,利用普通语言运行时( Common Language Runtime )在服务器后端为用户提供建立强大的企业级Web 应用服务的编程框架 。
ASP.NET 主 要 包 括 WebForm 和 WebService两种编程模型。前者为用户提供建立功能强大、外观丰富的基于表单 (Form) 的可编程 Web 页面。后者通过对 HTTP 、 XML 、 SOAP 、 WSDL 等 Internet标准的支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面。
ASP.NET 与 ASP 的联系和主要区别
ASP.NET 与现存的 ASP 保持语法兼容 。ASP.NET 与 ASP 的主要区别在于前者
是编译( Compile )执行 , 而后者是解释( Interpret )执行 , 前者比后者有更高的效率。
8.2.3 Visual Basic 和 ASP.NET
每一个 Web 窗体都由两个不同的部分组成 (1) HTML 代码和提交页面所需的指令; (2) Visual Basic 代码。 VB 代码包含了响应事件的程序逻辑。这个代码文件称为后台代码( code-behind )文件。
使用 VB 和 ASP.NET 可以创建面向对象的、由事件驱动的 Web 应用程序 。
8.3 Web 窗体 ( 服务器控件 ) 控件Web 窗体是用于创建可编程网页的 ASP.NET 技
术。使用 Web 窗体,通过将控件拖放到设计器上然后添加代码来创建 Web 页。
Web 窗体是以 aspx 为后缀的文件,它被编译成 NGWS 的类,只需一次编译。
Web 窗体有几种可用的控件。可以在一个窗体中混合使用这些控件。
8.3.1 服务器控件的定义 服务器控件是一种在服务器端完成的控件,服务器
端在处理完控件动作后,再生成标准的 HTML 文件发送给客户端。
服务器控件在页中使用包含属性 runat=“server”声明性标记标识。
服务器执行的额外处理包括读取 ASP.NET 页面并将页面上的服务器控件转换为浏览器可以理解的 HTML 。
8.3.2 控件类型 标准 (ASP.NET 服务器控件 ):这些控件是 ASP.N
ET 和 .NET Framework 提供的最丰富、最强大的控件。
数据:这个控件列表包括用于显示数据的 GridView和 DataList 。
验证:这些控件用于在把数据发送给服务器之前验证数据。
导航:包括一个菜单控件。
8.3.2 控件类型 登录: Visual Web Developer 2005 包含登录
控件和向导。 WebParts: 组件的 WebParts组允许用户在浏
览器上改变界面的外观和操作方式。 HTML:标准的 HTML 控件,只能在窗户端操作。无法为 HTML 控件编写服务器端编程逻辑。向服务器提交窗体时,所有的 HTML 控件都传送给服务器,返回静态文本。如果要把已有的HTML 页面转换到 ASP.NET ,以获得更多的功能,就会用到 HTML 控件。
8.3.2 控件类型 常规:为了方便设计窗体,可以把上面介绍的任
意的控件拖动到此选项卡中。 在设计视图中,要注意客户端 HTML 控件和服务
器端控件的区别。
客户端的 button与服务器端的 button
客户端 HTML控件
服务器控件
8.3.3 设置控件的属性 设置控件的属性将定义其外观和行为。 有两种方式设置控件属性:(1) 在“设计”视图中,选择控件,然后在“属性”窗
口中设置属性。(2) 在“源”视图中,在控件的元素标记中置入插入点,然后在“属性”窗口中设置属性。
服务器控件的基本属性如表 8.1 所示
8.3.4 事件处理 为 Web 控件编写事件处理的 VB 代码和为 Window
s 控件编写代码的方式是一样的。 事件可能发生在客户机 , 也可能发生在服务器 , 但代
码总是在服务器上执行。 捕获事件,将其发送到服务器以及执行所需方法的整个过程是自动完成的。
服务器控件的基本事件如表 8.2 所示:
8.3.5 标准控件 这些控件是在使用 Windows 应用程序时遇到的各
种工具的 Web 对等物。 最常用的控件: ( 1 ) TextBox 控件:用于在页面上输入文本,常见于购物站点的订单表格,或站点的登录页面。
( 2 ) Label 控件:用于在页面的特定位置显示简单的文本。
8.3.5 标准控件 ( 3 ) Hyperlink 控件:用于在页面上提供超链
接功能,这个功能允许导航到站点的其他页面,或者导航到 Internet 上的其他资源。
( 4 ) Image 控件:用于在页面上显示图片。 ( 5 ) DropDown List 控件:用于向用户提供一
个可选择的选项列表;该列表在没有使用时会 折叠起来以节省空间。
8.3.5 标准控件 ( 6 ) Listbox 控件:用于提供一个大小固定的
选项列表。 ( 7 ) CheckBox 和 Radio Button 控件:用于
选择可选的附加信息,具体形式分别是 yes/no 和“多选一”。
( 8 )按钮 控件:从提交订单到修改站点的个人设置,单击页面上的按钮通常会促使信息传递到服务器,而服务器会对这些信息做出反应并显示一个结果 。
8.3.6 调试 在 Visual Web Developer IDE 中运行 Web 应用程
序不同于运行 Windows 应用程序。 IDE 不会为调试 Web 程序自动生成需要的代码。如果要使用调试工具如断点和单步执行,必有在项目中添加调试支持。
要添加进行调试的必要支持,项目的 Web.config文件必须包含:
<compilation debug=“true” />
8.4 HTML 控件 在创建站点时,有时对某个控件在服务器端不需
要做任何处理。在这种情况下,开发人员可能只想在页面上添加静态的 HTML 控件,例如,仅仅在页面上放置一些元素以便为元素的分组提供容器。
工具箱的 HTML 面板上包含了大多数最常用的 HTML元素的拖放版本。
工具栏中的这些控件只是向页面添加 HTML元素的一种简便的方法,可以使用的控件并不局限于这些元素。在 Source View 中,开发人员可以添加任意合法的 HTML元素。
8.4 HTML 控件1.将 HTML 控件用作 Server 控件 :可以
将任何 HTML 元素转换为服务器控件,只要为该元素添加 runat=“server” 属性即可。
2.应该使用 HTML 控件还是 ASP.NET 服务器控件:在选择向页面添加哪种类型的控件时,绝大多数开发人员的方法是在页面上主要使用 ASP.NET 的 Standard Server Control ,而在布局时使用静态 HTML元素。
8.4.1 HTML 服务器控件构架 HtmlAnchor 控件:用于指定超级链接。 HtmlImage 控件:用来将显示图片于网页上的控件。 HtmlButton 控件:让用户透过按钮执行命令或动作。
HtmlForm 控件:可以让用户将 Client 端的数据传送至 Server 端作处理。
8.4.1 HTML 服务器控件构架 HtmlInputButton 控件:执行一个指令或动作。 HtmlInputText 控件:让用户输入数据。 HtmlInputRadio 控件:单选一个选项。 HtmlInputCheckBox 控件:可选择多个选项。 HTMLInputHidden 控件:顺便传送不需要使用
者输入的数据时,可以使用隐藏输入控件。
8.4.1 HTML 服务器控件构架 HtmlTextArea 控件:文本输入框。 HtmlSelect 控件:选单。 HtmlTable 、 HtmlTableRow 、 HtmlTableCell
控件: HtmlTable 控件可以配合 HtmlTableRow以及 HtmlTableCell 控件来动态的产生表格。 HtmlTable 控件是由许多列( Row )所组成,而每一列中是由许多储存格( Cell )所组成。所以 HtmlTable 控件中有 Rows集合, HtmlTableRow 控件中有 Cells 集合。
8.5 ASP.NET 性能与配置 ASP.NET 配置系统提供一个分层配置结构,能够配
置整个服务器上的所有 ASP.NET 应用程序、单个 ASP.NET 应用程序、各个页面或应用程序子目录。
ASP.NET 的配置文件是基于 XML 文本文件,全部命名为 web.config 。每个 web.config 文件将配置设置应用到其所在的目录和下面的所有虚拟子目录中,配置文件可以出现在 ASP.NET Web 应用程序服务器上任何目录中,并且子目录中的设置可以随意修改或重写在父目录中提供的设置。
8.5 ASP.NET 性能与配置 基于 .config 的文件有以下优点: 可随时修改: 易于访问和复制: 易于创建编辑:
8.5 ASP.NET 性能与配置1. ASP.NET 配置文件 web.config 文件中主要包括 3 个方面的信息: 应用程序配置,用于设置可以使用的功能。 连接字符串,用于连接数据源,以读取或写入数据。 system.web 和 system.net 设置。
8.5 ASP.NET 性能与配置2. ASP.NET网站管理工具 网站配置设置都存储在一个名为 web.config 文件
中,该文件位于网站的根文件夹中。开发人员可以手动编辑修改该文件。而网站管理工具使开发人员无需手动编辑web.config文件,就可以更改站点配置。
8.5 ASP.NET 性能与配置3. 缓存 所谓缓存,就是将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能。
ASP.NET 提供了两种基本的缓存机制来实现缓存功能:页输出缓存和应用程序缓存。
8.5 ASP.NET 性能与配置4. 性能监视和测试 性能监视中最简单的方法就是 ASP.NET跟踪。跟踪的主要使用方式是帮助进行调试,虽然不是设计为性能工具,但可以利用它来获得对如何执行页面的深入的了解。
8.6 使用 ASP.NET构建 Web 应用程序的练习
本节简要介绍如何使用 ASP.NET 2.0 构建 Web 应用程序。重点讲述开发桌面应用程序和开发 Web应用程序之间的区别。
练习 1:创建简单的 Web 应用程序 练习 2:布置控件 练习 3:挂接事件处理程序 练习 4:管理状态练习 练习 5:以数据为中心的站点
本章小结 ASP.NET作为网络应用开发的新一代语言,
其工作原理是基于网络传输的。要想建立 ASP.NET 应用程序,必须要建立 ASP.NET 运行环境。
Web 窗体是用于创建可编程网页的 ASP.NET技术。使用 Web 窗体 , 通过将控件拖放到设计器上然后添加代码来创建 Web 页。
本章小结 ASP.NET 配置系统提供一个分层配置结构,
能够配置整个服务器上的所有 ASP.NET 应用程序、单个 ASP.NET 应用程序、各个页面或应用程序子目录。
ASP.NET 中提供了一个简单的 Web 界面帮助开发人员查看并管理网站配置,该管理工具就是 Web 网站管理工具( Website Administration Tool ,缩写为 WAT )。