第9章 Web网络应用.ppt
《第9章 Web网络应用.ppt》由会员分享,可在线阅读,更多相关《第9章 Web网络应用.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 Web网络应用网络应用9.1 ASP.NET简介ASP.NET是创建动态网页的新技术,继承了微软公司的两项主要技术:Active Server Page(ASP)和.NET。ASP.NET不仅可以生成动态Web页面,还提供了大量易用、可复用的预定义控件,使软件开发变得更加快捷。9.1.1 什么是ASP.NET在Web应用中,存在两种页面:静态页面和动态页面,如图所示。9.1.2 IIS管理ASPX页面当完成Web系统开发后,如何才能让其他用户通过网络来使用呢?Web服务器将提供这种服务。Web服务器是一个软件,用于管理Web页面,使这些页面能够通过网络在客户端的浏览器上使用。客户端
2、可能与Web服务器在同一台机器上,也可能相隔万里。常见的Web服务器包括Apache,IIS以及WebSphere等。本书将详细介绍微软公司的IIS Web服务器。这是因为IIS服务器是目前能够运行ASP.NET的主要服务器。9.2 ASP.NET语法ASP.NET作为一种新的动态页面开发技术,与以前的ASP相比有了新的内容,本节将介绍其基本的语法。9.2.1 剖析ASPX页面ASP.NET本身并非一种编程语言,而是一种创建动态页面的技术,用于把编程语言(Visual Basic.NET,C#,JavaScript)代码段嵌入到页面的HTML中。二者混合在一起,构成了ASPX页面。把编程语言代
3、码嵌入HTML是指利用HTML标记,编程语言代码可以同HTML混为一体,并由Web服务器(IIS)将其从HTML中识别出来,交给ASP.NET模块编译执行,完成一定功能,最后将执行结果以HTML形式返回浏览器。9.2.2 使用嵌入代码在下面的各部分中,将介绍出现在ASPX文件中的ASP.NET常用语法。首先是标记对。使用过ASP的读者肯定不会对标记陌生,包含在标记内部的代码,将会在服务器上执行,并动态生成HTML。下面的示例演示ASP.NET如何使用动态产生HTML。9.2.3 使用.嵌入代码同标记一样,.标记用于在HTML中标记指令代码。对于ASP.NET,标记有两个特殊的属性:Langua
4、ge和Runat=“Server”。9.2.4 使用Server控件控件是ASPX页面上重要的元素,如输入框、按钮、标签等。同HTML中的控件不同,ASPX页面上主要使用Server控件,其特征是拥有Runat=“Server”属性。Runat=“Server”是Server控件非常重要的属性。当ASP.NET网页执行时,.NET会检查页面上的标签有无Runat=“Server”属性。如果没有,就会被直接发送到客户端的浏览器进行解析;如果有,则表示这个控件可以被.NET程序所控制,需要等到程序执行完毕,再将HTML控件的执行结果发送到客户端浏览器。9.2.5 使用在之间的代码为注释语句,当AS
5、P.NET模块处理ASPX文档时,将不认为它们是嵌入在HTML中的可执行代码。下面仍以9.2.2节程序Tag1为例,若在中的代码添加注释,改变为:1.9.2.6 ASP.NET 2.0新特性ASP.NET从1.0版本升级到1.1变化不是很大。然而,从ASP.NET 1.x升级到2.0,ASP.NET技术增加了大量方便、实用的新特性。总体来说,ASP.NET 2.0的新特征主要体现在新的服务器控件、页面框架、服务与接口三个方面。1更丰富的服务器控件2页面框架3服务与接口9.2.7 用设置页面属性在ASPX页面的首页,将使用来设置整个页面的属性,包括以下几个属性:(1)Language=“C#|V
6、B”:设置本页面所采用的编程语言,默认为“C#”;(2)ResponseEdcodeing=“.”:设置ASPX页面编码方式,默认为Unicode;(3)Trace=“True|False”:设置是否在程序中显示代码直行的跟踪(Trace)信息;(4)TraceMode=“SortType”:设置跟踪信息的排序方式,默认为根据执行时间排序“SortByTime”。9.2.8 使用引入类库ASP.NET需要使用.NET基础类库的支持,如果想要引入某个命名空间,需要使用指令。例如,要引入System.Data空间,需要用下面的语句。这样,在本页面中,就可以使用数据库操作的各个类了。另外,ASP.N
7、ET默认支持8个空间,即这8个空间中的类不需要使用,可以直接使用。这8个空间简述如下。(1)System:包含最基本的类及数据类型。(2)System.Text:包含各种编码类、字符编码转换类。(3)System.Collections:包含定义各种集合的类,如列表、队列、数组、哈希表、字典等。(4)System.Web:包含了Web应用中客户端/服务器间联系的各种类。(5)System.Web.UI:包含了各种用于Web的服务器控件。(6)System.Web.UI.HtmlControls:包含了HTML控件。(7)System.Web.UI.WebControls:包含了Web控件。(8
8、)System.Threading:提供多线程变成的类。9.3 ASP.NET内置对象由于Web服务是基于HTTP协议传递数据的,而HTTP协议是一个不记录中间状态的协议,即在客户端使用浏览器访问了Web应用系统后,浏览器将不会保留每一次访问系统的中间信息。如果想要保留这些信息,可以使用ASP.NET提供的内置对象,用这些对象来保存Web服务状态信息。这些对象包括Application,Session,Server,Response及Request等。9.3.1 使用Application对象保存数据Application对象是System.Web.HttpApplicationState类的
9、实例,对象内保存的信息可以在Web服务整个运行期间保存,并且可以被调用Web服务的所有用户使用。如果Web服务类派生自WebService类,那么就可以直接使用Application对象。在Web服务中使用Application对象主要包括以下两种情况。1在Web服务中,将状态保存到Application对象2从Application对象中获取状态信息9.3.2 使用Session对象保存数据与Application对象类似,Session对象也可以在整个Web服务运行过程中保存信息,但它保存的信息只能由单个用户所访问。此处所指的用户是指一次访问Web服务过程的用户,如果一个用户在一次访问We
10、b服务后离开,稍后又重新访问Web服务,那么Web服务也将其视为两个不同的用户。对于从WebService中派生的Web服务类,只有当WebMethod特性的EnableSession属性设置为True时,才能使用Session保存信息。9.3.3 访问Server对象Server对象是System.Web.HttpServerUtility类的实例,提供了一系列可处理Web请求的方法。通过Server对象,Web服务使用者可以获取Web服务所在服务器的名称、物理路径等。下面的代码,在Web服务中添加了一个GetServerName()方法,该方法利用Server对象返回服务器名称:1.Web
11、Method(2.Description=返回Web服务器名称3.)4.public string GetServerName()5.6.return Server.MachineName;7.9.3.4 访问Request对象同ASP.NET Web程序一样,Web服务同样也可以使用ASP.NET内置的Request对象,通过此对象,客户可以向Web服务发送HTTP请求信息。用户可以通过WebService类的Context属性来访问Request对象,Request对象的常用属性和方法说明9.3.5 访问Response对象与Request对象相反,Web服务中的Response对象实现W
12、eb服务向客户发送信息的功能。与ASP.NET应用程序类似,Web服务中的Response对象也是System.Web.HttpResponse类的实例,不同之处在于,在Web服务中需要通过WebServices类的Context属性来获取Response对象。9.4 代码绑定技术前面介绍了使用和方式把C#代码嵌入到HTML中的方式,这也是其他动态网页开发语言常用的方式。这种方式的缺点在于,代码并不容易管理,整体结构性不强,页面的逻辑功能和显示分离的不够清晰。.NET采用了一种更好的策略:代码绑定技术。9.4.1 分离显示功能和逻辑功能ASP.NET的代码绑定技术的目的是:把代码文件(C#代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 Web网络应用 Web 网络 应用
限制150内