第8章 Web应用程序开发.ppt
《第8章 Web应用程序开发.ppt》由会员分享,可在线阅读,更多相关《第8章 Web应用程序开发.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章Web应用程序应用程序开发开发n n本章要点:什么是Web应用程序Web应用程序的特点ASP.NET服务器端控件在Web应用程序中访问数据库8.1 Web版的版的“你好,你好,Visual Basic.NET!”n n8.1.18.1.1第一个第一个WebWeb应用程序应用程序n n进入开发环境后,建立一个新项目进入开发环境后,建立一个新项目Case8_1Case8_1,但是这一次与,但是这一次与以前不同,要选择建立的是一个以前不同,要选择建立的是一个“ASP.NET WebASP.NET Web应用程序应用程序”,如图,如图8.18.1所示。所示。n n应用程序建立以后,将会看到应
2、用程序建立以后,将会看到Visual Basic.NETVisual Basic.NET自动生成了自动生成了一个叫做一个叫做WebForm1WebForm1的窗体,这是一个的窗体,这是一个Web FormsWeb Forms窗体,与窗体,与以前的以前的Windows FormsWindows Forms窗体有许多相似之处,但是由于其窗体有许多相似之处,但是由于其运行在运行在WebWeb上的特点,两者并不完全相同。上的特点,两者并不完全相同。n n最显著的一点就是它没有明显的边界,这一点很好理解:最显著的一点就是它没有明显的边界,这一点很好理解:可以回想一下,平时上网看到的网页也没有如可以回想一
3、下,平时上网看到的网页也没有如WindowsWindows窗窗体那般明显的边界。体那般明显的边界。n n另外一个不同点就是在另外一个不同点就是在Web FormsWeb Forms窗体上只能够放置窗体上只能够放置WebWeb窗窗体控件。事实上,如果看看工具箱,就会发现工具箱中显体控件。事实上,如果看看工具箱,就会发现工具箱中显示的是如图示的是如图8.28.2所示的所示的WebWeb窗体控件页,而没有窗体控件页,而没有WindowsWindows窗窗体控件页。体控件页。n n8.1.2在浏览器中执行Web应用程序n n8.1.38.1.3WebWeb应用程序如何运行应用程序如何运行n n由于这是
4、本书的第一个由于这是本书的第一个WebWeb应用程序,在这里有必要首先应用程序,在这里有必要首先解释一下解释一下WebWeb应用程序本身应用程序本身“是什么是什么”。n nWebWeb应用程序可以看做是一个或几个协同工作的应用程序可以看做是一个或几个协同工作的WebWeb页面,页面,如果是几个页面,它们之间往往会互相传递信息,根据用如果是几个页面,它们之间往往会互相传递信息,根据用户的输入做出相应的反应。户的输入做出相应的反应。Case8_1Case8_1虽然只有一个页面,但虽然只有一个页面,但是也可以看成是这个页面与它自身传递信息以做出适当的是也可以看成是这个页面与它自身传递信息以做出适当的
5、反应。事实上,在运行这个程序期间,计算机反应。事实上,在运行这个程序期间,计算机“偷偷地偷偷地”做了很多事情:做了很多事情:n n(1 1)按)按F5F5键,相当于在浏览器中输入键,相当于在浏览器中输入“http:/localhost/Case8_1/WebForm1.aspx”http:/localhost/Case8_1/WebForm1.aspx”;n n(2 2)服务器接受请求,运行)服务器接受请求,运行WebForm1.aspxWebForm1.aspx中的程序,把中的程序,把结果返回到浏览器;结果返回到浏览器;n n(3 3)用户单击)用户单击“Say Hello”Say Hell
6、o”按钮,浏览器把请求发回到服按钮,浏览器把请求发回到服务器;务器;n n(4 4)服务器接受请求,再次运行)服务器接受请求,再次运行WebForm1.aspxWebForm1.aspx中的程序,中的程序,把结果返回到浏览器。把结果返回到浏览器。n n可以看到,就是这么一个简单的程序,却包含了可以看到,就是这么一个简单的程序,却包含了浏览器与服务器之间的两次信息来回,这也正是浏览器与服务器之间的两次信息来回,这也正是WebWeb应用程序的特点:几乎每一个动作都会引起应用程序的特点:几乎每一个动作都会引起浏览器与服务器的通讯,所以比起本地的应用程浏览器与服务器的通讯,所以比起本地的应用程序来,效
7、率比较低。序来,效率比较低。n n理解了理解了WebWeb应用程序,可能不会对程序本身有什应用程序,可能不会对程序本身有什么疑问,因为它与么疑问,因为它与WindowsWindows应用程序太相像了:都应用程序太相像了:都是把控件放到窗体上,都是编写事件代码,运行是把控件放到窗体上,都是编写事件代码,运行起来也几乎没什么区别。但是,应该意识到,这起来也几乎没什么区别。但是,应该意识到,这些表面上的相似性都是些表面上的相似性都是Web FormsWeb Forms的功劳,是它使的功劳,是它使我们能够以如此一致的方式创建这两种完全不同我们能够以如此一致的方式创建这两种完全不同的应用程序。在下一个案
8、例中,会对这一切作深的应用程序。在下一个案例中,会对这一切作深入地探讨。入地探讨。8.2 ASP.NETn nASPASP是近些年来是近些年来WindowsWindows平台上使用最广泛的服务平台上使用最广泛的服务器端页面语言之一。确实,即使你从没有做过器端页面语言之一。确实,即使你从没有做过WebWeb编程,那也接触过它编程,那也接触过它在常去的网站中,在常去的网站中,就有很多页面带有就有很多页面带有“asp”asp”这个扩展名的。这个扩展名的。ASPASP的的页面嵌入式语言特性,以及它与页面嵌入式语言特性,以及它与ActiveXActiveX的完美结的完美结合都给程序员带来了很大的方便。合
9、都给程序员带来了很大的方便。n n如果你是一个如果你是一个ASPASP程序员,或者对程序员,或者对ASPASP有所了解的有所了解的话,那么理解话,那么理解ASP.NETASP.NET(原来叫(原来叫ASP+ASP+)最快的办)最快的办法是一句话:法是一句话:“ASP.NETASP.NET是下一代的是下一代的ASPASP,并且是,并且是建立在建立在.NET.NET框架上的框架上的ASPASP。”但是,仅仅这么一但是,仅仅这么一句话还是失之偏颇了,因为句话还是失之偏颇了,因为ASP.NETASP.NET并不是简单并不是简单的对原有的的对原有的ASPASP的补充和增强,也不是仅仅加上的补充和增强,也
10、不是仅仅加上了一些了一些.NET.NET,而是真正从底层重新创建了的,而是真正从底层重新创建了的ASPASP。n n从表面特征来看,从表面特征来看,ASP.NETASP.NET与与ASPASP相比至少有两大优点。相比至少有两大优点。n n(1 1)执行速度更快)执行速度更快n n传统的传统的ASPASP是纯解释型的,也就是说每一次执行时,都要是纯解释型的,也就是说每一次执行时,都要先先“阅读阅读”ASPASP源代码,然后源代码,然后“翻译翻译”成可执行码,最后成可执行码,最后才执行。而才执行。而ASP.NETASP.NET是编译执行的,在第一次执行的时候,是编译执行的,在第一次执行的时候,“阅
11、读阅读”和和“翻译翻译”的过程还要进行,但是的过程还要进行,但是“翻译翻译”的结的结果被保留下来,在以后就直接执行了,除非源代码做了改果被保留下来,在以后就直接执行了,除非源代码做了改变。变。n n(2 2)代码更简洁)代码更简洁n n原本原本400400行的行的ASPASP代码完成的功能往往只用代码完成的功能往往只用2020行的行的ASP.NETASP.NET代码就可以完成。代码就可以完成。n n以上谈到的是一些理论,事实上,上一个案例中已经用到以上谈到的是一些理论,事实上,上一个案例中已经用到了了ASP.NETASP.NET。Web FormsWeb Forms就是就是ASP.NETASP
12、.NET的组成部分。的组成部分。n n为了让你有一个深刻的了解,在这个案例中将重写为了让你有一个深刻的了解,在这个案例中将重写WebWeb版版本的本的“你好,你好,Visual Basic.NET”Visual Basic.NET”。这一次我们不用集成开。这一次我们不用集成开发环境,而是用编写发环境,而是用编写ASPASP的传统方式的传统方式使用记事本(或使用记事本(或者其他文本编辑器)来完成。者其他文本编辑器)来完成。n n8.2.1 8.2.1 手工编写一个手工编写一个WebWeb应用程序应用程序n nn n script language=VB =servern n Sub Sub bt
13、nHello_Click(SrcbtnHello_Click(Src As Object,e As As Object,e As EventArgsEventArgs)n n txtHello.TexttxtHello.Text=你好你好,Visual Basic.NET!,Visual Basic.NET!n n End Sub End Subn n n n n n form =servern n =server/n n =server/n n n n n nn n8.2.2手工运行Web应用程序n n在上个案例中曾经讲过在浏览器中输入“http:/localhost/Case8_1/Web
14、Form1.aspx”可以访问Case8_1的运行结果,这里localhost实际上就是默认网站,它运行在本地机上。IP协议规定IP地址127.0.0.1指的就是本机,所以如果要运行这个案例,可以在浏览器中输入“http:/127.0.0.1/Case8_2/Case8_2.aspx”,当然输入“http:/localhost/Case8_2/Case8_2.aspx”同样可以运行,二者是等价的。n n8.2.38.2.3点评:点评:ASP.NETASP.NETn n下面来看看代码,这段代码也许从后面看起来更好一些,下面来看看代码,这段代码也许从后面看起来更好一些,我们先看这一段:我们先看这一
15、段:n n form=servern n =server/n n =server/n n n n你可能会注意到两个显眼的你可能会注意到两个显眼的“asp:”asp:”标示,这是标示,这是ASPASP前缀,前缀,用来表明一个用来表明一个ASP.NETASP.NET控件(也就是控件(也就是Web FormsWeb Forms控件)。控件)。这里的两个控件(这里的两个控件(TextBoxTextBox和和ButtonButton)在上个案例中已经介)在上个案例中已经介绍过了,事实上集成开发环境的工作就是自动加上这两句绍过了,事实上集成开发环境的工作就是自动加上这两句话。在后面有话。在后面有“runa
16、trunat=server”=server”的字样,这表明它们都是的字样,这表明它们都是服务器端的控件。简单地说,这些控件是运行在服务器端服务器端的控件。简单地说,这些控件是运行在服务器端的,而且帮助客户与服务器进行交互。的,而且帮助客户与服务器进行交互。n n在在ButtonButton控件中有这样一句:控件中有这样一句:OnClickOnClick=btnHello_ClickbtnHello_Click,这是在声明事件处理程序,这是在声明事件处理程序,那么事件处理程序在哪里呢?就在页面的开头部分:那么事件处理程序在哪里呢?就在页面的开头部分:n n script language=VB=
17、servern n Sub Sub btnHello_Click(SrcbtnHello_Click(Src As Object,e As As Object,e As EventArgsEventArgs)n n txtHello.TexttxtHello.Text=你好你好,Visual Basic.NET!,Visual Basic.NET!n n End Sub End Subn n n n页面上的所有函数、过程都必须定义在页面上的所有函数、过程都必须定义在块中,块中,这与传统这与传统ASPASP差不多。如果仅仅看这个过程本身,根差不多。如果仅仅看这个过程本身,根本无法分辨出这是一个本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 Web应用程序开发 Web 应用程序 开发
限制150内