Visual Basic 6.0 中的WEB 工具-3
在Visual Basic 中创建Web应用程序
在这篇文章的开头我们曾经提到,Visual Basic 为我们创建Web应用程序提供了很多可以利用的技术。你可以通过在现有的Visual Basic 应用程序中加进一些Web访问的功能,使它们能够在Web环境下运行。另外,你也可以从头开始创建一个能够在Web环境下运行的应用程序。
不管是何种情况,我们可以列出以下几条原因来说明为什么要选用Visual Basic作为开发工具来创建Web应用程序。
首先,不管你采取什么方式开发Web应用程序,你都可以将通过Visual Basic 编写的代码嵌入到你的Web应用程序中。因此,你就不必在学习脚本语言或者是其它Web编程技术上花费力气了。
其次,你可以把Web显示的内容(HTML页面)同应用程序的功能(你编写的Visual Basic 代码)分离。如果你曾经在Web页面中编写过脚本语言,可能你会知道惯用的做法是将一个页面中的代码和布局混合在一起(这样通常会使人不易区分)。
最后,在进行Web开发的过程中,你可以利用Visual Basic 提供的比如象调试器这些工具,它们使你开发出来的Web应用程序更加强健。在这个阶段,你使用Visual Basic 所提供的开发工具比用创建基于脚本的应用程序时系统提供的工具要方便,快捷得多。
概述Visual Basic Web技术
让我们来回顾一下在Visual Basic 中你可以利用甚至能够创建的Web技术:
利用Visual Basic 创建基于服务器的应用程序。利用一种在Visual Basic中提供的称为WebClasses的技术,你可以为远程调用型应用程序创建Web页面和在服务器端执行的处理过程。
为基于窗体的Visual Basic 应用程序增加Internet功能。通过将Microsoft ActiveX控件添加到窗体上,你可以使窗体成为一个Web浏览器,一个HTML编辑器或者是一个Web通信对象。
将Visual Basic 窗体(活动文档,也被称作是"ActiveX 文档")嵌入到Internet Explorer 中,或者是把浏览器中的一个Web页面作为应用程序的容器(DHTML 应用程序)。
下面的表格对以上技术进行了分类介绍,并简要地对以下问题进行了说明:采用某种Web技术创建出来的应用程序是属于哪种类型的应用程序:是本地执行型还是远程调用型;你可以使用哪种类型的客户端应用程序;以及在这篇文章中的哪些地方对这些技术提供了详细的说明。值得指出的是,当你在设计应用程序的过程中决定选取哪一种Web技术时,你应该把与这项Web技术相关的因素都考虑进来,因此,我们建议你在作出决定之前,仔细地阅读关于你所选用的Web技术的细节。
为了说明这些Web技术是如何彼此相关的,现在,我们对前面给出的图示结合起来。从中你可以看出,无论你想创建基于服务器的远程调用型应用程序,还是想创建基于客户机的本地执行型应用程序,都有某种合适的Visual Basic Web技术方便地供你选择。
图5.Visual Basic Web技术的彼此相关性
在Visual Basic 中创建服务器应用程序
如果你想创建远程调用型应用程序,处理过程和相应的代码将放在服务器端。在Visual Basic 中,WebClasses 为你提供了解决方案。
IIS中的服务器处理
让我们首先来回顾一下IIS是如何来执行服务器端的处理的。IIS支持一种称作是活动服务器页(ASP)的Web页。ASP实质上是一种HTML页面,同时它还包含了到服务器端处理过程的链接。
当IIS发现扩展名为 .asp 的文件时,它首先在服务器端执行在页面中指定的处理过程 (ASP页面通常包含用脚本语言编写的在服务器端执行的处理过程) 。在远程调用型应用程序中,指定的服务器处理可以包括你所需要的任何事务逻辑处理。在页面中指定的服务器的处理过程完成后,页面被送回浏览器端,这样,在页面中所有需要对HTML的修改都由ASP处理器完成了。
图6.IIS在服务器端的处理过程
需要重复说明的是:所有的处理过程都是由服务器来完成的。当页面到达用户的浏览器时,所有的处理工作都已经完成了,用户根本不知道页面中的哪些内容是由服务器动态产生的。因此,用户浏览器除了显示页面中的HTML外,其它什么事都不用做。
WebClasses
在Visual Basic 中,你可以利用一种称作是"IIS 应用程序"或者是简称为"WebClasses"的技术创建基于服务器的应用程序。WebClasses允许你在Visual Basic 中建立服务器处理逻辑并把它链接到ASP页面。当浏览器对ASP页面提出处理请求时,ASP页面通过调用WebClasses执行服务器端的处理过程来作出响应。图7对WebClasses 的处理进行了示意性的说明。
图7.利用WebClasses 执行服务器端的处理过程
WebClasses 不仅能够产生输出,也能够接受输入。比如,你可能需要创建这样一个Web页面,里面包含了进行数据输入的表单。用户在填写完表单中的输入款项后,通过点击提交(在Web环境下的习惯叫法)按扭以把填写好的表单发送给服务器上的某个ASP页面。作为响应,ASP页面调用WebClasses 来获取表单中各个控件的值并进行相应的处理。可能你还需要通过发送另外一个页面来对用户的提交请求作出响应,比如确认表单中输入数据的正确性,显示一条错误的消息,或者向用户发送你希望让他们看见的任何提示和消息。
你需要记住的很重要的一点是:这个简单的用来输入数据的表单在用户和服务器之间完成了双向的传输。实际上,在一个纯粹的基于服务器的应用程序中,每当你需要运行代码以执行某项处理任务时,你总是要将一个表单发送到服务器。如果你还希望检验用户在表单中输入的数据的正确性,你不仅需要将表单(页面)提交给服务器,还需要通过调用服务器上的WebClasses对表单中输入的数据进行效验,然后将表单返回给用户。很不幸,这就是一个标准的远程调用型应用程序所要付出的代价。
优点
对于大多数基于Visual Basic 的应用程序而言,在开发的过程中采用WebClasses 技术是一种理智的选择。之所以这样说,是因为有以下原因:
最重要的原因是,WebClasses 是在Visual Basic 中用来创建远程调用型应用程序的Web技术。在 WebClasses的处理过程中,并不需要同时运行Internet Explorer,也不需要Visual Basic 运行库的支持。
WebClasses使你能够在Visual Basic运行远程调用型应用程序。你根本不需要通过编写脚本语言或者是利用其它程序开发环境来使应用程序与ASP页面进行交互。
由于应用程序代码运行在服务器端,你不需要将应用程序分布在各个客户端,因此,你可以大大减少安装和维护应用程序带来的麻烦和花费的成本。
WebClasses 把服务器上的处理过程和页面的布局进行了隔离。页面中只包含HTML和一些必要的代码,这些代码用来创建你的WebClasses实例并将WebClasses 所需要的处理信息传送给它们。
WebClasses 经过了编译处理,因此与脚本语言相比,它们能为服务器代码提供更好的安全性,实现更快的执行速度。
此外,你还可以用所熟悉的Visual Basic 开发环境和它提供的一些工具来创建WebClasses 。
在Visual Basic 6.0帮助文档中,你可以了解到关于WebClasses 的大量信息。(如果你认为WebClasses 的功能还不够强大,你可以进一步阅读帮助文档中的主题:"IIS应用程序的优点",从中,你可以了解到关于WebClasses的强大功能更有说服力的资料。) 在MSDN 的Visual Studio 版和MSDN联机文档中,还有其它的一些介绍WebClasses的文章。如果你感兴趣的话,你可以阅读在MSDN中位于目录:技术文章\可视化工具下的一篇名为"The WebClass Developer's Primer(WebClasses 开发人员必读)"的文章。
最后,你还可以通过访问Web站点:http://vblive.rte.microsoft.com/(该站点提供的软件可免费使用,但你在使用前必须注册)来了解关于WebClasses 的更多信息。该站点提供了许多用WebClasses编写,可以免费下载的样例程序和源代码。
※编辑: typhoon 于 2001-5-9 13:32:20 在 [202.117.82.2] 编辑本文
在这篇文章的开头我们曾经提到,Visual Basic 为我们创建Web应用程序提供了很多可以利用的技术。你可以通过在现有的Visual Basic 应用程序中加进一些Web访问的功能,使它们能够在Web环境下运行。另外,你也可以从头开始创建一个能够在Web环境下运行的应用程序。
不管是何种情况,我们可以列出以下几条原因来说明为什么要选用Visual Basic作为开发工具来创建Web应用程序。
概述Visual Basic Web技术
让我们来回顾一下在Visual Basic 中你可以利用甚至能够创建的Web技术:
下面的表格对以上技术进行了分类介绍,并简要地对以下问题进行了说明:采用某种Web技术创建出来的应用程序是属于哪种类型的应用程序:是本地执行型还是远程调用型;你可以使用哪种类型的客户端应用程序;以及在这篇文章中的哪些地方对这些技术提供了详细的说明。值得指出的是,当你在设计应用程序的过程中决定选取哪一种Web技术时,你应该把与这项Web技术相关的因素都考虑进来,因此,我们建议你在作出决定之前,仔细地阅读关于你所选用的Web技术的细节。
本地执行型或
远程调用型 |
做什么
|
用什么作为客
户端应用软件 |
使用哪一种VB
技术 |
参看章节
|
远程调用型 | 创建服务器 应用程序 |
任何浏览器 | WebClasses ("IIS 应用程序) |
"在Visual Basic 中创建 服务器应用程序" |
本地执行型 | 通过在现有的 应用程序中添 加Web访问 功能来扩大其 使用范围 |
Visual Basic 窗体 |
Visual Basic 窗体 +Internet 控件 |
"在Visual Basic的窗 体中嵌入Web功能" |
本地执行型 | 创建Visual Basic 应用程序,把浏 览器作为窗体的 容器 |
在Internet Explorer 3.0或者其更高版本中 运行的Visual Basic 窗体 |
活动文档 | "在浏览器中运行 Visual Basic 应用程序" |
本地执行型 | 利用Visual Basic 来创建并操作DHTML Web页面 |
Internet Explorer 4.0 或者其更高版本 |
DHTML应用程序 | "在浏览器中运行 Visual Basic 应用程序" |
为了说明这些Web技术是如何彼此相关的,现在,我们对前面给出的图示结合起来。从中你可以看出,无论你想创建基于服务器的远程调用型应用程序,还是想创建基于客户机的本地执行型应用程序,都有某种合适的Visual Basic Web技术方便地供你选择。
图5.Visual Basic Web技术的彼此相关性
在Visual Basic 中创建服务器应用程序
如果你想创建远程调用型应用程序,处理过程和相应的代码将放在服务器端。在Visual Basic 中,WebClasses 为你提供了解决方案。
IIS中的服务器处理
让我们首先来回顾一下IIS是如何来执行服务器端的处理的。IIS支持一种称作是活动服务器页(ASP)的Web页。ASP实质上是一种HTML页面,同时它还包含了到服务器端处理过程的链接。
当IIS发现扩展名为 .asp 的文件时,它首先在服务器端执行在页面中指定的处理过程 (ASP页面通常包含用脚本语言编写的在服务器端执行的处理过程) 。在远程调用型应用程序中,指定的服务器处理可以包括你所需要的任何事务逻辑处理。在页面中指定的服务器的处理过程完成后,页面被送回浏览器端,这样,在页面中所有需要对HTML的修改都由ASP处理器完成了。
图6.IIS在服务器端的处理过程
需要重复说明的是:所有的处理过程都是由服务器来完成的。当页面到达用户的浏览器时,所有的处理工作都已经完成了,用户根本不知道页面中的哪些内容是由服务器动态产生的。因此,用户浏览器除了显示页面中的HTML外,其它什么事都不用做。
WebClasses
在Visual Basic 中,你可以利用一种称作是"IIS 应用程序"或者是简称为"WebClasses"的技术创建基于服务器的应用程序。WebClasses允许你在Visual Basic 中建立服务器处理逻辑并把它链接到ASP页面。当浏览器对ASP页面提出处理请求时,ASP页面通过调用WebClasses执行服务器端的处理过程来作出响应。图7对WebClasses 的处理进行了示意性的说明。
图7.利用WebClasses 执行服务器端的处理过程
WebClasses 不仅能够产生输出,也能够接受输入。比如,你可能需要创建这样一个Web页面,里面包含了进行数据输入的表单。用户在填写完表单中的输入款项后,通过点击提交(在Web环境下的习惯叫法)按扭以把填写好的表单发送给服务器上的某个ASP页面。作为响应,ASP页面调用WebClasses 来获取表单中各个控件的值并进行相应的处理。可能你还需要通过发送另外一个页面来对用户的提交请求作出响应,比如确认表单中输入数据的正确性,显示一条错误的消息,或者向用户发送你希望让他们看见的任何提示和消息。
你需要记住的很重要的一点是:这个简单的用来输入数据的表单在用户和服务器之间完成了双向的传输。实际上,在一个纯粹的基于服务器的应用程序中,每当你需要运行代码以执行某项处理任务时,你总是要将一个表单发送到服务器。如果你还希望检验用户在表单中输入的数据的正确性,你不仅需要将表单(页面)提交给服务器,还需要通过调用服务器上的WebClasses对表单中输入的数据进行效验,然后将表单返回给用户。很不幸,这就是一个标准的远程调用型应用程序所要付出的代价。
优点
对于大多数基于Visual Basic 的应用程序而言,在开发的过程中采用WebClasses 技术是一种理智的选择。之所以这样说,是因为有以下原因:
在Visual Basic 6.0帮助文档中,你可以了解到关于WebClasses 的大量信息。(如果你认为WebClasses 的功能还不够强大,你可以进一步阅读帮助文档中的主题:"IIS应用程序的优点",从中,你可以了解到关于WebClasses的强大功能更有说服力的资料。) 在MSDN 的Visual Studio 版和MSDN联机文档中,还有其它的一些介绍WebClasses的文章。如果你感兴趣的话,你可以阅读在MSDN中位于目录:技术文章\可视化工具下的一篇名为"The WebClass Developer's Primer(WebClasses 开发人员必读)"的文章。
最后,你还可以通过访问Web站点:http://vblive.rte.microsoft.com/(该站点提供的软件可免费使用,但你在使用前必须注册)来了解关于WebClasses 的更多信息。该站点提供了许多用WebClasses编写,可以免费下载的样例程序和源代码。
※编辑: typhoon 于 2001-5-9 13:32:20 在 [202.117.82.2] 编辑本文
欲求无限
立地成佛
.
有时候
交谈变得空洞
沉默却像沟通