Download presentation
Presentation is loading. Please wait.
1
第18章 個人入口網站的建立 18-1入口網站的基礎 18-2 建立網站的搜尋引擎 18-3 網頁組件的個人化功能
18-4 Web服務的基礎 18-5 Amazon的Web服務
2
18-1入口網站的基礎-說明 入口網站(Portal Site)是Internet網路上的資源中心,它是進入其他網站的橋樑,通常入口網站是瀏覽程式設定的首頁,可以提供大量不同來源的資訊和服務。例如:搜尋引擎、新聞、股市行情、電子報、免費電子郵件和聊天室等。 入口(Portal)在定義上本來並不包含個人化功能,不過,現在的入口網站都有提供會員個人化使用介面來存取各種服務和資訊,簡單的說,它是一種客製化搜尋服務的資訊搜集網站。例如:Yahoo!、微軟MSN、新浪網和PC HOME等網站。
3
18-1入口網站的基礎-圖例
4
18-1入口網站的基礎-功能 目前的入口網站一般都希望提供的功能,如下所示: 以使用者觀點,而非資訊提供者的觀點來提供資訊與服務。
以會員角色提供個人化資訊,例如:在特定時間提供股票族會員所需的股票資訊。 自動以使用者設定的需求來提供資訊與服務,例如:自動每日顯示工作所需的相關新聞資訊。 提供介面可以讓使用者自行選擇有興趣內容、版面和色彩。 提供單一登入服務,只需登入一次,就可以使用入口網站所提供的資訊與服務。
5
18-2 建立網站的搜尋引擎 18-2-1 搜尋引擎的種類 18-2-2 網址搜尋引擎 18-2-3 System.IO的全文檢索搜尋
建立Google搜尋的Web使用者控制項
6
18-2-1 搜尋引擎的種類-網址搜尋引擎 在入口網站都會提供搜尋引擎來搜尋符合條件的網站或網頁。
網址搜尋是找尋指定關鍵字的相關網站,其目的是透過搜尋引擎快速找出有興趣或所需資訊的網址,在實作上,只需使用資料庫儲存網站和相關資訊,在輸入搜尋關鍵字後,就可以找出符合條件的網址清單。
7
18-2-1 搜尋引擎的種類-網站內容的全文檢索搜尋
全文檢索搜尋是針對目前網站內容進行搜尋,因為網站提供的資訊太多,就算透過超連結也無法快速或完整找到所需的資料,此時,透過全文檢索功能就可以幫助使用者完整且快速找到所需的資訊。 在實作上,全文檢索搜尋通常都是使用作業系統提供的索引服務(Indexing Service),在建立好索引資料庫後,就可以建立網站內容的全文檢索搜尋。
8
網址搜尋引擎-說明 在本節的網址搜尋引擎是功能十分陽春的搜尋引擎,主要目的是說明資料表的SQL查詢技巧,也就是如何在資料表記錄欄位執行欄位資料的全文檢索搜尋。
9
18-2-2 網址搜尋引擎-WebSearch資料表
在Access資料庫【WebSearch.mdb】擁有WebSearch資料表,它是用來儲存網站的相關資訊,如下表所示:
10
18-2-2 網址搜尋引擎-SQL指令 在ASP.NET程式可以建立SQL查詢指令搜尋所需的記錄資料,如下所示:
strSQL = "SELECT * From WebSearch " strSQL &= "WHERE SiteName LIKE '%" & keyword strSQL &= "%' OR URL LIKE '%" & keyword strSQL &= "%' OR Description LIKE '%" strSQL &= keyword & "%' OR Keywords LIKE '%" strSQL &= keyword & "%'" 上述程式碼建立SQL指令字串,指令使用LIKE運算子查詢所有文字內容欄位,換句話說,它就是資料表記錄欄位的全文檢索搜尋。
11
18-2-3 System.IO的全文檢索搜尋-說明
雖然全文檢索搜尋都是使用作業系統提供的索引服務,不過,在ASP.NET程式只需使用System.IO名稱空間的檔案物件,我們一樣可以撰寫遞迴版本的全文檢索搜尋程序,快速搜尋網站內容。
12
18-2-3 System.IO的全文檢索搜尋-遞迴函數
ASP.NET的遞迴函數以本書來說,就是Visual Basic的遞迴函數,它是函數自己呼叫自己的程式設計技巧,使用遞迴方式建立的函數和程序,可以有效減少程式碼長度,讓程式碼看起來更簡潔,但是功能上可是一點都不會縮水。 撰寫遞迴函數的注意事項,如下所示: 終止條件:能夠終止遞迴函數的執行,以資料夾或目錄範例來說,就是沒有子資料夾,只有檔案的資料夾。 遞迴函式會縮小範圍:遞迴函數處理範圍會愈來愈小,直到終上條件為止,如此遞迴函數才能結束執行,以資料夾來說,就是進入一層層子資料夾,其下的子樹將愈來愈小。
13
18-2-3 System.IO的全文檢索搜尋-System.IO版的遞迴全文檢索搜尋
System.IO版的網站全文檢索搜尋是從Web伺服器的目錄開始,逐一搜尋所有檔案(使用的是實際資料夾),並且可以進入子目錄一層層往下搜尋來找出網頁內含關鍵字的檔案,其特點如下所示: 搜尋所有子目錄:遞迴程序可以搜尋所有子目錄檔案,程式能夠指定查詢的檔案類型和搜尋數目。 提供繼續查詢功能:如果找到指定數目檔案並沒有所需資料,能夠從上一次最後查詢位置,再往下繼續查詢,直到全部查完為止。 多條件查詢:Web表單支援AND和OR邏輯連結,可以處理一個條件以上的全文檢索查詢。 指定查詢範圍:能夠指定全文檢索的目標為網站的虛擬目錄,不過搜尋時是以實際資料夾進行搜尋。
14
18-2-4 建立Google搜尋的Web使用者控制項-控制項類別檔
Web使用者控制項(Web User Controls)是使用和Web表單相同程式設計技術所建立的自定控制項,其副檔名是.ascx。在控制項程式檔案開頭,使用Control指引指令定義控制項的類別名稱,如下所示: Control Language="VB" ClassName="Google" %> 程式碼指定ClassName屬性的類別名稱。我們可以使用VWD,直接拖拉內建控制項來建立Web使用者控制項,例如:Google搜尋表單的使用者控制項。
15
18-2-4 建立Google搜尋的Web使用者控制項-新增使用者控制項
在ASP.NET程式原始檔開頭是使用Register指引指令註冊Web使用者控制項,如下所示: Register Src="Google.ascx" TagName="Google" TagPrefix="uc1" %> 上述指引指令的Src屬性是檔案名稱,TagName是標籤名稱,TagPrefix是標籤字頭。在註冊後,就可以新增名為Google的Web使用者控制項,如下所示: <uc1:Google ID="Google1" runat="server" />
16
18-3 網頁組件的個人化功能 網頁組件的基礎 建立網頁組件 網頁組件的顯示模式
17
網頁組件的基礎-1 ASP.NET 2.0版支援MSPF(Microsoft Portal Framework),提供網頁組件控制項(Web Part Control)來建立個人化服務。 網頁組件控制項是一種擁有預設行為的ASP.NET控制項,事實上,任何內建控制項或Web使用者控制項都可以包裝成網頁組件控制項,換句話說,它會自動擁有網頁組件控制項行為的個人化系統,可以儲存使用者更改、配置、顯示或隱藏等功能。
18
網頁組件的基礎-2 在網頁新增網頁組件控制項前,我們需要在網頁新增WebPartZone和WebPartManger控制項,其說明如下所示: WebPartZone控制項:這是一種容器控制項,可以在網頁建立區域來新增網頁組件控制項,內含基本的使用介面。 WebPartManager控制項:管理網頁的網頁組件控制項,可以控制和管理個人化狀態,如果網頁擁有網頁組件控制項,就一定需要新增此控制項。
19
建立網頁組件 請啟動VWD開啟「Ch18」網站後,新增Web Form範本名為Ch aspx的ASP.NET程式,筆者準備在此程式建立網頁組件。 新增WebPartManager控制項 新增WebPartZone控制項 新增網頁組件至WebPartZone控制項 格式化WebPartZone控制項
20
網頁組件的顯示模式-說明 網頁組件預設提供多種顯示模式,可以使用WebPartManager物件的DisplayMode屬性來更改顯示模式,其屬性值是WebPartManager物件的欄位(Fields),各欄位說明如下表所示:
21
18-3-3 網頁組件的顯示模式-在ASP.NET程式切換顯示模式1
ASP.NET程式新增RadioButtonList控制項來選擇顯示模式,如下所示: <asp:RadioButtonList Id="displayMode" Runat="server"> <asp:ListItem>Browse模式</asp:ListItem> <asp:ListItem>Design模式</asp:ListItem> </asp:RadioButtonList> <asp:Button Id="btn" Text="更改模式“ Runat="server" OnClick="change_Mode"/>
22
18-3-3 網頁組件的顯示模式-在ASP.NET程式切換顯示模式2
在change_Mode()事件處理程序指定WebPartManager物件的顯示模式,如下所示: Sub change_Mode(Sender As Object, _ E As EventArgs) Select Case displayMode.SelectedIndex Case 0: WebPartManager1.DisplayMode = _ WebPartManager.BrowseDisplayMode Case 1: WebPartManager.DesignDisplayMode End Select End Sub
23
18-4 Web服務的基礎 什麼是Web服務 建立Web服務應用程式
24
什麼是Web服務 Web服務(Web Services)是一種企業級的應用程式,可以透過Internet建立自動機制提供資料交換和工作分享等資源共享能力。Web服務使用簡單和公開標準的通訊協定,並且提供低成本的軟體整合和資料分享功能。 Web服務提供一組通用服務,可以同時提供多客戶端(Clients)使用,這是一組以XML標籤作為傳遞訊息的函數呼叫,客戶端透過HTTP傳送函數呼叫給伺服端,伺服端以HTTP將結果傳回客戶端,可以提供客戶端更多的彈性,因為只需傳遞函數呼叫的訊息,就可以取得所需的資訊。
25
建立Web服務應用程式-架構 Web服務的客戶端和伺服端是使用「SOAP」(Simple Object Access Protocol)通訊協定來進行通訊,它是一種結合XML標籤訊息和HTTP協定的通訊協定。Web服務的應用程式架構,如下圖所示:
26
18-4-2 建立Web服務應用程式-.NET Framework的Web服務
微軟.NET Framework可以建立Web服務的伺服端和客戶端程式,不過,Web服務的伺服端程式並非本書討論主題,有興趣讀者可以自行參閱相關書籍。在本章主要說明如何使用ASP.NET程式,建立Web服務的客戶端程式。 VWD支援建立WSDL檔案的Web參考,換句話說,我們根本不需要了解SOAP或WSDL的細節,就可以在ASP.NET程式使用類別方法和屬性來使用Web服務。
27
18-5 Amazon的Web服務 申請Amazon的Web服務 使用Amazon的Web服務
28
申請Amazon的Web服務 Amazon是著名的網路書店,相關圖書查詢功能可以使用Amazon的Web服務,建立ASP.NET程式來執行圖書查詢。 Amazon的Web服務(Amazon Web Services,AWS)在本書使用的版本是4.0版,網站首頁為
29
使用Amazon的Web服務-說明 在AWS申請取得Web服務的Access Key ID後,就可以啟動VWD加入Web服務的Web參考,然後才能夠建立ASP.NET程式來使用Amazon的Web服務。
30
18-5-2 使用Amazon的Web服務-在VWD加入Web參考
在VWD加入Web參考是匯入Web服務的WSDL檔案。請啟動VWD開啟「Ch18」網站後,執行「網站/加入Web參考」指令,可以看到「加入Web參考」對話方塊。 在上方URL欄輸入Amazon的WSDL檔案網址,如下所示: 按【移至】鈕,稍等一下,可以在下方看到Web服務的類別說明,請按【加入參考】鈕在網站加入Web參考。
31
18-5-2 使用Amazon的Web服務-建立ASP.NET程式使用Web服務
在ASP.NET程式使用指定的Web服務,需要匯入Web服務的名稱空間,如下所示: Import Namespace="com.amazon.webservices" %> 現在我們只需使用Web服務定義的類別,就可以在ASP.NET程式使用Web服務。 Amazon的Web服務就是建立AWSECommerceService物件,如下所示: Dim objAmazon As AWSECommerceService = _ New AWSECommerceService()
32
使用Amazon的Web服務-圖例
Similar presentations