top
Loading...
利用VB6.0開發基于IIS的應用程序
本文介紹了利用VisualBasic開發IIS應用程序的方法和步驟。使用這種開發方法不但大大簡化了IIS應用程序的開發過程,而且使我們的Web站點具有更強的功能和更大的靈活性。

一、概述

大家知道,IIS(Internet Information Server)應用程序是VisualBasic應用程序,它在動態的、基于瀏覽器的應用程序中使用HTML和已編譯的VisualBasic代碼。IIS應用程序駐留在Web服務器上,接受來自瀏覽器的請求,運行與請求相關聯的代碼并返回響應到瀏覽器。IIS應用程序可以使用VisualBasic代碼來完成以前用腳本、CGI處理和其他方法完成的功能。IIS應用程序可以在任何瀏覽器上運行,因此它很容易得到廣泛的應用。對用戶來說,一個IIS應用程序好象是由一系列的HTML頁面組成。對開發者來說,一個IIS應用程序是由一些被稱為Webclass的特殊類型對象組成。而Webclass包含一系列稱為Webitem的資源。Webclass作為應用程序的核心,處理來自瀏覽器的數據并向用戶發送信息。Webitem是Webclass為響應一個請求發送給瀏覽器的HTML頁面和其他數據。

二、IIS應用程序的開發過程

IIS應用程序的開發過程大體分為五個步驟。我們結合一個公文數據檢索程序來說明。

1、建立IIS應用程序工程

當建立一個IIS應用程序時,應選擇IIS應用程序類型工程。IIS應用程序工程是一個ActiveXDLL工程類型,它自動包括一個ActiveX設計器。這個稱為Webclass的設計器作為創建應用程序的基礎。一個Webclass設計器對應一個Webclass,但它可以包含多個HTML模板和Webitem。如果想在應用程序中包括多個Webclass,必須在工程中插入另外的設計器。多數情況下,必須編寫代碼告訴Webclass當應用程序第一次啟動時做哪些工作,使用Start事件來完成它。當用戶第一次訪問你的應用程序時,Start事件發生。使用Start事件代碼漫游到應用程序中的第一個Webitem。

例如,我們建立一個名為SearchData的IIS應用程序,編寫Webclass的Start事件代碼如下:

Private Sub Webclass_Start()
Set NextItem=SearchTpl
End sub

2、添加HTML模板到Webclass

添加HTML模板到IIS應用程序,可使Webclass在響應用戶請求時向瀏覽器發送HTML頁面。當添加一個模板到Webclass時,要選擇一個與它關聯的HTML頁面。一個Webclass可以包含多個模板Webitem,但每個模板Webitem僅能表示一個HTML頁面。你必須為每一個HTML頁面添加相應的模板。在插入一個HTML頁面文件之后,可以使用HTML編輯器對頁面的內容和布局進行更改。例如,我們添加一個名為SearchTpl的模板Webitem,它與SearchCondition頁面關聯,并編寫Respond事件將此HTML頁面的內容寫到瀏覽器。

Private Sub SearchTpl_Respond()
SearchTpl.Write Template
End Sub

與SearchTpl模板關聯的SearchCondition頁面讓用戶輸入檢索條件。其內容如下:

<HTML>
<head>
<metahttp-equiv="Content-Type" content="text/HTML;charset=gb_2312-80">
<title>檢索條件</title>
</head>
<body bgcolor="#FFFFFF">
<form action="SearchData_Webclass.asp?WCI=SearchResult" method="POST">
<p>起始日期<input Type="text" size="10" name="date1"></p>
<p>終止日期<inputType="text" size="10" name="date2"></p>
<p>文件字號<inputType="text" size="50" name="code"></p>
<p>文件標題<inputType="text" size="50" name="title"></p>
<p><inputType="submit" name="submit" value="確定">
<inputType="reset" name="clear" value="清除">
</p>
</form>
</body>
</HTML>

3、添加自定義的Webitem到Webclass

自定義的Webitem允許你通過VisualBasic代碼動態地向瀏覽器發送響應。自定義的Webitem通常是一組過程代碼。IIS應用程序中的大多數處理發生在自定義Webitem的事件過程中。IIS應用程序接收HTML頁面的請求,與Webitem的事件進行匹配,并運行相應的事件過程代碼。例如,我們添加一個名為SearchResult的自定義Webitem。它使用Request對象在SearchCondition頁面窗體中獲取用戶輸入的查詢條件,然后建立一個連接到ADO公文數據庫,創建記錄集并從中檢索滿足條件的信息。

Private Sub SearchResult_Respond()
′為獲取窗體的信息聲明變量
Private sDate1 as String
Private sDate2 as String
Private sTitle as String
Private sCode as String
′獲取窗體參數并賦給變量
sDate1=Request.Form("date1")
sDate2=Request.Form("date2")
sTitle=Request.Form("title")
sCode=Request.Form("code")
′為數據庫連接和記錄集聲明對象變量
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim QueryStr As String′

'形成SQL數據查詢字符串

QueryStr="select form 公文 where "&"日期>="&"#" & sDate1 &"#"&
"and" &"日期<="&"# "& sDate2 & "#"&" and" &"文件標題like" & "* "&" *"& sTitle & “ * "&"*"& "and" &"文件字號like"&"*"&" "& sCode&" * "&""

′建立數據庫連接

cn.ConnectionString="DSN=doc;UID=sa;
PWD=sa;DATABASE=document"
cn.Open
′創建記錄集
Open QueryStr,cn,adOpenStatic,adlockReadonly
′將結果信息逐個記錄地寫到一個表格
With Response
.Write "<HTML>”
.Write "<BODY>"
.Write "<TABLE BORDER CELLSPACING=1 CELLPADDING=7>"
Do While rs.EOF=False
.Write "<TR><TD>"
.Write rs("文件標題")
.Write "</TD><TD>"
.Write rs("文件字號")
.Write "</TD><TD>"
.Write rs("日期")
.Write "</TD><TR>"
.Write rs("責任單位")
.Write "</TD><TR>"
.Write rs("主題詞")
.Write "</TD><TR>"
rs.MoveNext
Loop
.Write"</TABLE>"
.Write"</BODY>"
.Write"</HTML>"
End With′

'關閉記錄集和數據庫連接

rs.Close
cn.Close
End Sub

4、調試IIS應用程序

調試一個IIS應用程序的方法和調試其他VisualBasic應用程序一樣,都是通過進入運行模式來進行的。VisualBasic為IIS應用程序創建虛擬目錄,使用瀏覽器打開相應.asp文件啟動Webclass。調試時,可以使用VisualBasic的所有工具來調試你的工程。如設置斷點、查看變量、調試語句等。

5、部署IIS應用程序

可以使用VisualBasic打包和展開向導來包裝和部署你的IIS應用程序。打包和展開向導將工程的.DLL文件和所有相關的文件包裝到一個“壓縮包”或.cab文件中。然后可以部署這個壓縮包文件和相關文件到一個Web服務器上。

三、小結

利用VisualBasic開發IIS應用程序,不但可以使用VisualBasic的類模塊和ActiveX部件,而且能夠使用VisualBasic所有的工具來調試IIS應用程序。這種開發方法大大簡化了IIS應用程序的開發過程,使我們更加方便地建立功能強大的Web站點。
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗