Request与Server物件

上传人:ahu****ng1 文档编号:146062365 上传时间:2020-09-25 格式:PPTX 页数:32 大小:478.42KB
返回 下载 相关 举报
Request与Server物件_第1页
第1页 / 共32页
Request与Server物件_第2页
第2页 / 共32页
Request与Server物件_第3页
第3页 / 共32页
Request与Server物件_第4页
第4页 / 共32页
Request与Server物件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Request与Server物件》由会员分享,可在线阅读,更多相关《Request与Server物件(32页珍藏版)》请在金锄头文库上搜索。

1、第10章 Request與Server物件,10-1 Request物件的表單處理 10-2 伺服器的系統資訊 10-3 瀏覽程式的相關資訊 10-4 Server物件的使用 10-5 Server Side Include,10-1 Request物件的表單處理,10-1-1 Form與QueryString集合物件 10-1-2 設定中文的編碼方式 10-1-3 表單如何傳遞資料 10-1-4 URL參數傳遞資料,10-1-1 Form與QueryString集合物件-ASP 3.0版的表單處理,ASP 3.0版的表單處理使用Form與QueryString集合物件取得使用者輸入的資料,如

2、下所示: 傳統HTML表單網頁:使用表單欄位以HTTP通訊協定的檔頭傳遞表單欄位資料,可以使用POST或GET方法,如下所示: . URL參數:從瀏覽程式輸入的網址傳遞參數,其總長度只有1024個字元。,10-1-1 Form與QueryString集合物件-Form集合物件,如果網頁表單使用POST方法傳遞資料,其作法是將傳遞的資料在編碼後,透過HTTP通訊協定的檔頭傳送到Web伺服器,在伺服端使用Form集合物件取出資料,其語法如下所示: Request(FieldName) Request.Form(FieldName),10-1-1 Form與QueryString集合物件-Query

3、String集合物件,如果網頁表單使用GET方法傳遞資料,其作法是將傳遞的資料編碼後,透過URL網址後的字串傳送到Web伺服器,參數是位在問號之後,如果參數不只一個,請使用&符號分隔,如下所示: 伺服端使用QueryString集合物件取出資料,如下所示: Request(FieldName) Request.QueryString( FieldName),10-1-2 設定中文的編碼方式-說明,ASP.NET預設的編碼方式是Unicode的UTF-8,也就是說執行ASP.NET程式輸出的網頁內容是UTF-8編碼的資料。 換句話說,使用表單欄位或URL參數傳遞中文資料時,接收的資料因為編碼問題

4、,顯示的是亂碼,為了解決此問題,請在虛擬目錄建立名為【Web.config】的ASP.NET資源設定檔,檔案內容是一份XML文件。,10-1-2 設定中文的編碼方式-Web.config,01: 02: 03: 09: 10: ,10-1-3 表單如何傳遞資料-說明,在ASP.NET以傳統HTML表單處理方式是使用Form集合物件取得表單欄位的內容,如下所示: user = Request.Form(user) pass = Request.Form(pass) 程式碼取得user和pass欄位的值,在括號內的名稱就是表單欄位名稱。,10-1-3 表單如何傳遞資料-HTML表單欄位傳遞的資料,

5、10-1-4 URL參數傳遞資料,URL超連結傳遞的參數或表單GET方法傳遞的內容,都是使用QueryString集合物件取得參數或欄位值,如下所示: name = Request.QueryString(Username) pass = Request.QueryString(Password) 程式碼左邊是儲存傳遞資料的變數,在右邊括號內的名稱是參數或欄位名稱,這是一個字串。,10-2 伺服器的系統資訊,10-2-1 伺服器系統資訊的內容 10-2-2 Request.ServerVariables取得系統資訊,10-2-1 伺服器系統資訊的內容-說明,Web伺服器的系統資訊是Reques

6、t物件的集合物件ServerVariables 這個集合物件可以取得伺服器的系統資訊。,10-2-1 伺服器系統資訊的內容-常用的Server變數1,10-2-1 伺服器系統資訊的內容-常用的Server變數2,10-2-2 Request.ServerVariables取得系統資訊,如果需要取得指定的系統資訊,也就是取得環境變數的值,請直接使用Request物件的ServerVariables集合物件,如下所示: IPAddress = Request.ServerVariables(REMOTE_ADDR) strPath = Request.ServerVariables(PATH_IN

7、FO) 如果需要顯示伺服器所有的環境變數,可以使用For Each迴圈取得所有的環境變數,如下: For Each ServerVar In Request.ServerVariables strValue = Request.Servervariables(ServerVar) Next,10-3 瀏覽程式的相關資訊-說明,在ASP.NET是使用Request物件的Browser屬性達到相同的功能。 因為客戶端瀏覽程式連線Web伺服器時,HTTP使用者代理人標頭(HTTP User Agent Header)資訊會傳送給伺服器,這個標頭資訊的內容是瀏覽程式的相關資訊,在ASP.NET程式可以

8、使用Request物件取得集合物件,如下所示: Dim hbc As HttpBrowserCapabilities = Request.Browser,10-3 瀏覽程式的相關資訊-屬性1,10-3 瀏覽程式的相關資訊-屬性2,10-4 Server物件的使用,10-4-1 ASP.NET建立COM元件 10-4-2 取得伺服器路徑 10-4-3 伺服端網頁轉向 10-4-4 伺服端執行網頁,10-4-1 ASP.NET建立COM元件-說明,雖然ASP.NET技術可以使用.NET Framework龐大的類別物件,不過我們還是可以自行使用COM元件來擴充ASP.NET功能,不只如此,如果使用

9、者熟悉VB.NET、C+或Delphi等開發工具,使用者還可以自行建立COM元件,輕鬆擴充ASP.NET程式的功能。,10-4-1 ASP.NET建立COM元件-使用,在ASP.NET程式建立外部COM元件前,需要在伺服器先安裝好元件,在安裝好後才能使用Server.CreateObject()方法建立所需的物件(一個元件可能內含數個物件),例如:舊版ASP 3.0的物件,如下所示: fso = Server.CreateObject(Scripting.) 程式碼建立物件fso,參數是物件的ProgID字串,如果需要重新指定物件的內容,如下所示: fso = Nothing,10-4-2 取

10、得伺服器路徑,Web伺服器的目錄架構屬於虛擬目錄,其路徑也是虛擬路徑,如果想取得目前執行ASP.NET程式的虛擬目錄,請使用ServerVariables集合物件的PATH_INFO參數,如下所示: Request.ServerVariables(PATH_INFO) 配合Server.MapPath()方法就可以轉換成實際路徑,其程式碼如下所示: strPath = Server.MapPath(Request.ServerVariables(PATH_INFO) 如果需要取得指定ASP.NET程式或檔案的實際路徑,如下所示: strPath = Server.MapPath(/Ch10/C

11、h10-4-1.aspx),10-4-3 伺服端網頁轉向-說明,Server.Transfer()方法可以取代Response.Redirect()方法,因為Response.Redirect()需要與瀏覽程式進行較多次的通訊,需要先傳送訊息給瀏覽程式,告訴瀏覽程式需要載入新網址URL,瀏覽程式在接受請求後,再送一次URL請求到Web伺服器,最後伺服器才處理新URL來送回HTML文件。,10-4-3 伺服端網頁轉向-使用,Response.Redirect()方法浪費較多的頻寬在瀏覽程式和伺服器間的通訊,Server.Transfer()方法轉向操作完全在伺服端完成,並不會浪費頻寬,其使用方式

12、和Response.Redirct()方法幾乎相同,如下所示: Server.Transfer(Ch10-4-2.aspx) 程式碼將會轉向到ASP.NET程式Ch10-4-2.aspx。,10-4-4 伺服端執行網頁,Server.Execute()方法和Transfer()方法很相似,不過Execute()方法有些像VB.NET語言的主程式呼叫副程序,當轉向的ASP.NET程式執行完成後,還會回到呼叫轉向的ASP.NET程式,其程式碼如下所示: Server.Execute(Ch10-4-4s.aspx) 程式碼在執行轉向到ASP.NET程式Ch10-4-4s.aspx,在執行完後還會回到

13、上述程式碼,執行Server.Execute()方法的下一列程式碼。,10-5 Server Side Include,10-5-1 SSI的指令說明 10-5-2 使用SSI 插入HTML文件 10-5-3 使用SSI插入ASP.NET函式庫,10-5 Server Side Include,SSI(Server Side Include)指令可以在伺服端插入一些資訊到HTML文件或ASP.NET程式,用來設定訊息、環境變數、執行程式檔、取得檔案資訊或插入純文字檔的內容。,10-5-1 SSI的指令說明-指令,10-5-1 SSI的指令說明-使用,Include指令可以讓我們在ASP.NET

14、程式插入HTML標籤或其它ASP.NET程式碼檔案,Include指令一共有2種Include virtual和Include file,需要插在符號外,如下所示: 程式碼使用檔案的虛擬路徑,插入的ASP.NET程式是位在Web伺服器的主目錄,如果是include file指令,如下所示: ,10-5-2 使用SSI 插入HTML文件,Include指令可以在ASP.NET程式插入HTML文件,其主要的目的是用來建立一致化的網頁編排,例如:在ASP.NET程式的開頭和結束分別插入2個檔案,如下所示: . ,10-5-3 使用SSI插入ASP.NET函式庫,如果有很多個ASP.NET程式需要使用

15、同一個函數或程序,我們可以將程序和函數抽出成為函式庫檔案,通常的副檔名為.inc,然後使用SSI的Include指令插入其它的ASP.NET程式。 ASP.NET程式馬上就可以使用這些程序和函數,如同使用ASP.NET函式庫,如下所示: include指令插入ASP.NET程式檔案,這個指令需要在外。,1、有时候读书是一种巧妙地避开思考的方法。20.9.2620.9.26Saturday, September 26, 2020 2、阅读一切好书如同和过去最杰出的人谈话。01:44:0501:44:0501:449/26/2020 1:44:05 AM 3、越是没有本领的就越加自命不凡。20.9

16、.2601:44:0501:44Sep-2026-Sep-20 4、越是无能的人,越喜欢挑剔别人的错儿。01:44:0501:44:0501:44Saturday, September 26, 2020 5、知人者智,自知者明。胜人者有力,自胜者强。20.9.2620.9.2601:44:0501:44:05September 26, 2020 6、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2020年9月26日星期六上午1时44分5秒01:44:0520.9.26 7、最具挑战性的挑战莫过于提升自我。2020年9月上午1时44分20.9.2601:44September 26, 2020 8、业余生活要有意义,不要越轨。2020年9月26日星期六1时44分5秒01:44:0526 September 2020 9、一个人即使已登上顶峰,也仍要自强不息。上午1时44分5秒上午1时44分01:44:0520.9.26 10、你要做

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号