詳細(xì)講解VB開發(fā)IIS應(yīng)用程序
VB還是比較常用的,于是我研究了一下VB開發(fā)IIS應(yīng)用程序,在這里拿出來和大家分享一下,希望對大家有用。利用VB開發(fā)IIS應(yīng)用程序的方法和步驟。使用這種開發(fā)方法不但大大簡化了IIS應(yīng)用程序的開發(fā)過程,而且使我們的Web站點(diǎn)具有更強(qiáng)的功能和更大的靈活性。
一、概述
大家知道,IIS(Internet Information Server)應(yīng)用程序是VB應(yīng)用程序,它在動態(tài)的、基于瀏覽器的應(yīng)用程序中使用HTML和已編譯的VB代碼。IIS應(yīng)用程序駐留在Web服務(wù)器上,接受來自瀏覽器的請求,運(yùn)行與請求相關(guān)聯(lián)的代碼并返回響應(yīng)到瀏覽器。IIS應(yīng)用程序可以使用VB代碼來完成以前用腳本、CGI處理和其他方法完成的功能。IIS應(yīng)用程序可以在任何瀏覽器上運(yùn)行,因此它很容易得到廣泛的應(yīng)用。對用戶來說,一個IIS應(yīng)用程序好象是由一系列的HTML頁面組成。對開發(fā)者來說,一個IIS應(yīng)用程序是由一些被稱為Webclass的特殊類型對象組成。而Webclass包含一系列稱為Webitem的資源。 Webclass作為應(yīng)用程序的核心,處理來自瀏覽器的數(shù)據(jù)并向用戶發(fā)送信息。Webitem是Webclass為響應(yīng)一個請求發(fā)送給瀏覽器的HTML頁面和其他數(shù)據(jù)。
二、IIS應(yīng)用程序的VB開發(fā)過程
IIS應(yīng)用程序的開發(fā)過程大體分為五個步驟。我們結(jié)合一個公文數(shù)據(jù)檢索程序來說明。
1、建立IIS應(yīng)用程序工程
當(dāng)建立一個IIS應(yīng)用程序時,應(yīng)選擇IIS應(yīng)用程序類型工程。IIS應(yīng)用程序工程是一個ActiveXDLL工程類型,它自動包括一個ActiveX設(shè)計(jì)器。這個稱為Webclass的設(shè)計(jì)器作為創(chuàng)建應(yīng)用程序的基礎(chǔ)。一個Webclass設(shè)計(jì)器對應(yīng)一個Webclass,但它可以包含多個HTML模板和 Webitem。如果想在應(yīng)用程序中包括多個Webclass,必須在工程中插入另外的設(shè)計(jì)器。多數(shù)情況下,必須編寫代碼告訴Webclass當(dāng)應(yīng)用程序***次啟動時做哪些工作,使用Start事件來完成它。當(dāng)用戶***次訪問你的應(yīng)用程序時,Start事件發(fā)生。使用Start事件代碼漫游到應(yīng)用程序中的***個Webitem。
例如,我們建立一個名為SearchData的IIS應(yīng)用程序,編寫Webclass的Start事件代碼如下:
- Private Sub Webclass_Start()
- Set NextItem=SearchTpl
- End sub
2、添加HTML模板到Webclass
添加HTML模板到IIS應(yīng)用程序,可使Webclass在響應(yīng)用戶請求時向?yàn)g覽器發(fā)送 HTML頁面。當(dāng)添加一個模板到Webclass時,要選擇一個與它關(guān)聯(lián)的HTML頁面。一個Webclass可以包含多個模板Webitem,但每個模板Webitem僅能表示一個HTML頁面。你必須為每一個HTML頁面添加相應(yīng)的模板。在插入一個HTML頁面文件之后,可以使用HTML編輯器對頁面的內(nèi)容和布局進(jìn)行更改。例如,我們添加一個名為SearchTpl的模板Webitem,它與SearchCondition頁面關(guān)聯(lián),并編寫 Respond事件將此HTML頁面的內(nèi)容寫到瀏覽器。
- Private Sub SearchTpl_Respond()
- SearchTpl.Write Template
- End Sub
與SearchTpl模板關(guān)聯(lián)的SearchCondition頁面讓用戶輸入檢索條件。其內(nèi)容如下:
- <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>文件標(biāo)題<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允許你通過VB代碼動態(tài)地向?yàn)g覽器發(fā)送響應(yīng)。自定義的Webitem通常是一組過程代碼。IIS應(yīng)用程序中的大多數(shù)處理發(fā)生在自定義Webitem的事件過程中。IIS應(yīng)用程序接收 HTML頁面的請求,與Webitem的事件進(jìn)行匹配,并運(yùn)行相應(yīng)的事件過程代碼。例如,我們添加一個名為SearchResult的自定義 Webitem。它使用Request對象在SearchCondition頁面窗體中獲取用戶輸入的查詢條件,然后建立一個連接到ADO公文數(shù)據(jù)庫,創(chuàng)建記錄集并從中檢索滿足條件的信息。
- Private Sub SearchResult_Respond()
- ′為獲取窗體的信息聲明變量
- Private sDate1 as String
- Private sDate2 as String
- Private sTitle as String
- Private sCode as String
- ′獲取窗體參數(shù)并賦給變量
- sDate1=Request.Form("date1")
- sDate2=Request.Form("date2")
- sTitle=Request.Form("title")
- sCode=Request.Form("code")
- ′為數(shù)據(jù)庫連接和記錄集聲明對象變量
- Dim cn As New ADODB.Connection
- Dim rs As New ADODB.Recordset
- Dim QueryStr As String′
- '形成SQL數(shù)據(jù)查詢字符串
- QueryStr="select form 公文 where "&"日期>="&"#" & sDate1 &"#"&"and" &"日期<
="&"# "& sDate2 & "#"&" and" &"文件標(biāo)題like" & "* "&" *"& sTitle & “ * "&"*"&
"and" &"文件字號like"&"*"&" "& sCode&" * "&""- ′建立數(shù)據(jù)庫連接
- cn.ConnectionString="DSN=doc;UID=sa;
- PWD=sa;DATABASE=document"
- cn.Open
- ′創(chuàng)建記錄集
- Open QueryStr,cn,adOpenStatic,adlockReadonly
- ′將結(jié)果信息逐個記錄地寫到一個表格
- With Response
- .Write "<HTML>”
- .Write "<BODY>"
- .Write "<TABLE BORDER CELLSPACING=1 CELLPADDING=7>"
- Do While rs.EOF=False
- .Write "<TR><TD>"
- .Write rs("文件標(biāo)題")
- .Write "</TD><TD>"
- .Write rs("文件字號")
- .Write "</TD><TD>"
- .Write rs("日期")
- .Write "</TD><TR>"
- .Write rs("責(zé)任單位")
- .Write "</TD><TR>"
- .Write rs("主題詞")
- .Write "</TD><TR>"
- rs.MoveNext
- Loop
- .Write"</TABLE>"
- .Write"</BODY>"
- .Write"</HTML>"
- End With′
- '關(guān)閉記錄集和數(shù)據(jù)庫連接
- rs.Close
- cn.Close
- End Sub
4、調(diào)試IIS應(yīng)用程序
調(diào)試一個IIS應(yīng)用程序的方法和調(diào)試其他VB應(yīng)用程序一樣,都是通過進(jìn)入運(yùn)行模式來進(jìn)行的。VB為IIS應(yīng)用程序創(chuàng)建虛擬目錄,使用瀏覽器打開相應(yīng).asp文件啟動Webclass。調(diào)試時,可以使用VB的所有工具來調(diào)試你的工程。如設(shè)置斷點(diǎn)、查看變量、調(diào)試語句等。
5、部署IIS應(yīng)用程序
可以使用VB打包和展開向?qū)戆b和部署你的IIS應(yīng)用程序。打包和展開向?qū)⒐こ痰?DLL文件和所有相關(guān)的文件包裝到一個“壓縮包”或.cab文件中。然后可以部署這個壓縮包文件和相關(guān)文件到一個Web服務(wù)器上。
三、小結(jié)
利用VB開發(fā)IIS應(yīng)用程序,不但可以使用VB的類模塊和ActiveX部件,而且能夠使用 VB所有的工具來調(diào)試IIS應(yīng)用程序。這種開發(fā)方法大大簡化了IIS應(yīng)用程序的開發(fā)過程,使我們更加方便地建立功能強(qiáng)大的Web站點(diǎn)。
【編輯推薦】