09第6章 構(gòu)建網(wǎng)站.ppt_第1頁
09第6章 構(gòu)建網(wǎng)站.ppt_第2頁
09第6章 構(gòu)建網(wǎng)站.ppt_第3頁
09第6章 構(gòu)建網(wǎng)站.ppt_第4頁
09第6章 構(gòu)建網(wǎng)站.ppt_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第6章 構(gòu)建網(wǎng)站,6.1 ASP.NET網(wǎng)站綜述 6.2 Response對象 6.3 Request對象 6.4 Application對象 6.5 Session對象 6.6 Server對象 6.7 構(gòu)建網(wǎng)站示例,6.1 ASP.NET網(wǎng)站綜述,6.1.1 解決方案和項目 6.1.2 ASP.NET網(wǎng)站布局 6.1.3 網(wǎng)站的組成文件 6.1.4 網(wǎng)站文件類型 6.1.5 關(guān)于代碼隱藏 6.1.6 網(wǎng)站的狀態(tài),6.1.1 解決方案和項目,一個典型的ASP.NET網(wǎng)站由許多文件組成,這些文件包括Web窗體文件(.aspx)、源程序文件(.cs or .vb)、程序集(.exe 或 .dll

2、)、圖片(.jpg或 .gif)等。VS2005將這些文件統(tǒng)一組織在一個文件夾中,這個文件夾的所有內(nèi)容組成一個ASP.NET網(wǎng)站,也稱為一個Web應(yīng)用程序。,6.1.1 解決方案和項目,當(dāng)新建一個網(wǎng)站(項目)時,VS2005會自動為其創(chuàng)建一個解決方案,并顯示在解決方案資源管理器中。所謂解決方案就是將與一項開發(fā)任務(wù)相關(guān)的多個項目組織在一起。,6.1.1 解決方案和項目,新創(chuàng)建的網(wǎng)站項目僅包括ASP.NET保留文件夾App_Data和一個默認(rèn)網(wǎng)頁Default.aspx。解決方案中可以包含多個項目,項目中又可以包含多個文件夾和文件項。 解決方案創(chuàng)建后系統(tǒng)會自動生成解決方案文件(.sln 和.suo

3、),為網(wǎng)站項目自動創(chuàng)建的解決方案文件默認(rèn)存儲在My DocumentsVisual Studio 2005Projects目錄下與解決方案同名的子目錄中。,6.1.2 ASP.NET網(wǎng)站布局,網(wǎng)站項目由一系列文件組成。開發(fā)者可以為這些文件創(chuàng)建任意的目錄結(jié)構(gòu),以方便開發(fā)。但是,為了更易于使用和管理網(wǎng)站,ASP.NET保留了某些可用于特定類型內(nèi)容的文件和文件夾名稱。這些文件和文件夾被賦予了特殊的含義和特殊的處理方法。,6.1.2 ASP.NET網(wǎng)站布局,默認(rèn)頁 如果用戶在請求的URL中只輸入網(wǎng)站名而不指定特定頁面,Web服務(wù)器會為用戶打開默認(rèn)頁(如果它存在的話)。使用默認(rèn)頁將使用戶更容易定位到你開

4、發(fā)的網(wǎng)站。 使用VS2005創(chuàng)建的網(wǎng)站,默認(rèn)頁為Default.aspx,它保存在網(wǎng)站的根文件夾中??梢允褂媚J(rèn)頁作為網(wǎng)站的主頁,或者在默認(rèn)頁中寫入代碼將用戶請求重定向到真正的主頁。,6.1.2 ASP.NET網(wǎng)站布局,應(yīng)用程序文件夾 如果是一個新創(chuàng)建的網(wǎng)站,在“解決方案資源管理器”中,在網(wǎng)站名稱上單擊右鍵,在彈出式菜單中選擇“添加ASP.NET文件夾”,在子菜單中可以看到有7個文件夾可供選擇。加上系統(tǒng)已經(jīng)默認(rèn)創(chuàng)建的App_Data 文件夾,ASP.NET 規(guī)定這8個文件夾可用于存放特定類型的內(nèi)容。,6.1.2 ASP.NET網(wǎng)站布局,6.1.2 ASP.NET網(wǎng)站布局,6.1.3 網(wǎng)站的組成

5、文件,圖6-2是本書的應(yīng)用實(shí)例的網(wǎng)站結(jié)構(gòu),包含了多個用戶自定義的文件夾(如images、Uploads)和文件。,6.1.3 網(wǎng)站的組成文件,Global.asax Global.asax文件是ASP.NET網(wǎng)站所擁有的一個全局性文件。該文件中定義了應(yīng)用程序的全局事件,它保存在應(yīng)用程序的根文件夾中。 新創(chuàng)建的Global.asax包括5個空的全局事件處理函數(shù):Application_Start、Application_End、Application_Error、Session_Start和Session_End。,6.1.3 網(wǎng)站的組成文件,Web.config ASP.NET網(wǎng)站的配置信息存

6、儲在XML文本文件中,名為Web.config。Web.config文件可以出現(xiàn)在ASP.NET應(yīng)用程序的多個目錄中。 新創(chuàng)建網(wǎng)站時,默認(rèn)情況下只創(chuàng)建必須的文件和文件夾。因此,網(wǎng)站最初并未包含Web.config文件、Global.asax文件等,也沒有包含全部的ASP.NET保留文件夾。如果需要,用戶可以自行創(chuàng)建。,6.1.4 網(wǎng)站文件類型,6.1.4 網(wǎng)站文件類型,6.1.5 關(guān)于代碼隱藏,VS 2005版頁面代碼的默認(rèn)編寫方式為代碼隱藏模型,即將內(nèi)容代碼與源代碼分開。 所謂內(nèi)容文件,包括擴(kuò)展名為.aspx的網(wǎng)頁文件、擴(kuò)展名為.ascx的用戶自定義控件和擴(kuò)展名為.master的母版頁文件等

7、。 而代碼隱藏文件,則是根據(jù)所使用的語言,在內(nèi)容文件名的基礎(chǔ)上(不去掉原擴(kuò)展名),再加上.cs(使用C#語言)或.vb(使用Visual Basic語言)作為擴(kuò)展名。,6.1.5 關(guān)于代碼隱藏,代碼的第1行為一個 Page指令,該指令定義網(wǎng)頁一級屬性。其中: Language屬性:指明了默認(rèn)的編程語言; AutoEventWireup屬性:指明控件的事件是否自動匹配; CodeFile屬性:指明了隱藏代碼文件的文件名; Inherits屬性:指明本頁面編譯后的類名稱,該類在源代碼文件中實(shí)現(xiàn)。 !DOCTYPE指令:用于指定文檔類型定義(DTD)。,6.1.6 網(wǎng)站的狀態(tài),用戶在使用基于Web的

8、應(yīng)用程序時,所看到的是一個個獨(dú)立的頁面。用戶在向服務(wù)器請求這些頁面并得到響應(yīng)時,使用的是HTTP協(xié)議,HTTP協(xié)議是一種無狀態(tài)的協(xié)議。但是,用戶在不同的頁面上進(jìn)行不同的操作,這些操作有的是相互關(guān)聯(lián)的。這就需要系統(tǒng)提供一些全局對象來保持頁面之間的關(guān)聯(lián),將各頁面組成一個有機(jī)的整體。這些對象包括Request對象、Response對象、Application對象、Session對象、Server對象等。,應(yīng)用程序狀態(tài)管理,HTTP是無狀態(tài)協(xié)議,必須使用其他技術(shù)來保存Web請求之間的信息。ASP.NET提供了多種方法以應(yīng)對這一缺陷。具體有如下的選項: 隱藏域(Hidden Field) 視圖狀態(tài)(Vi

9、ewState) 查詢字符串(Query String) 內(nèi)置對象 Application Session Cookie),1、使用隱藏域,使用隱藏域(Hidden Field)可以使內(nèi)容不顯示在IDE的設(shè)計視圖中。 在代碼中可以直接訪問隱藏域的Value屬性。如:Response.Write(HF1.Value);,(HiddenField.aspx),優(yōu)點(diǎn): 不需要任何服務(wù)器資源; 支持所有的瀏覽器和客戶端設(shè)備; 是標(biāo)準(zhǔn)的HTML控件,實(shí)現(xiàn)簡單。 缺點(diǎn): 數(shù)據(jù)直接暴露給用戶,潛在的安全風(fēng)險; 只能存儲字符串?dāng)?shù)據(jù),不支持復(fù)雜的數(shù)據(jù)類型。 如果隱藏域的數(shù)據(jù)量過大,影響傳輸速度。,1、使用隱藏域

10、,2、使用視圖狀態(tài)(ViewState),ASP.NET引入了ViewState (視圖狀態(tài))的概念。 ASP.NET通過ViewState 自動保存控件的狀態(tài),對同一頁的多個請求間自動保留屬性值。視圖狀態(tài)作為頁中隱藏域來進(jìn)行維護(hù)。 視圖狀態(tài)中的數(shù)據(jù)默認(rèn)是使用base64進(jìn)行編碼的,用戶不能直接看到里面的數(shù)據(jù)。是用來保存其信息的首選。視圖狀態(tài)在每次回發(fā)之間保留控件的屬性。,(HiddenField.aspx),2、使用視圖狀態(tài)(ViewState),優(yōu)點(diǎn): 不需要任何服務(wù)器資源(視圖狀態(tài)包含在頁面代碼的內(nèi)部結(jié)構(gòu)中); 實(shí)現(xiàn)簡單,無須用戶編程; 視圖狀態(tài)中的值經(jīng)過哈希計算和壓縮,其安全性高于使用

11、隱藏域。 缺點(diǎn): 由于視圖狀態(tài)存儲在頁本身,因此如果存儲較大的值,用戶顯示頁時的速度會減慢; 仍有潛在的安全風(fēng)險。,3、查詢字符串(Query String),查詢字符串是在URL的結(jié)尾附加的信息,通常是”?”后面的部分。 利用查詢字符串可以很容易地將信息從一頁傳遞到另一頁。 查詢字符串提供了一種維護(hù)某些狀態(tài)信息的簡單方法。,3、查詢字符串(Query String),優(yōu)點(diǎn): 不需要任何服務(wù)器資源; 支持所有的瀏覽器和客戶端設(shè)備; 實(shí)現(xiàn)簡單,ASP.NET完全支持查詢字符串方法。 缺點(diǎn): 有限的容量,大多數(shù)瀏覽器和客戶端設(shè)備會將URL的最大長度限制為2083個字符。 容易暴露信息,或被人惡意篡

12、改。,ASP.NET的內(nèi)置對象概述,這些內(nèi)置對象已經(jīng)由系統(tǒng)定義,可以直接使用。,ASP.NET的內(nèi)置對象概述,6.2 Response對象,Response對象封裝了Web服務(wù)器向Web瀏覽器發(fā)送的HTTP響應(yīng)消息,Response對象也稱為響應(yīng)對象; Response對象為HttpResponse對象的實(shí)例,是ASP.NET自動創(chuàng)建的,因此也稱為內(nèi)置對象。 Response對象用來控制發(fā)送給客戶端的信息,包括直接發(fā)送信息給瀏覽器、重定向到另一個URL或設(shè)置Cookie等。,Response對象的屬性 Buffer:獲取或設(shè)置一個值,該值指示是否緩沖輸出,并在完成處理整個響應(yīng)之后將其發(fā)送。 C

13、ookies:獲取響應(yīng) Cookie 集合。 Expires:獲取或設(shè)置在瀏覽器上緩存的頁過期之前的分鐘數(shù)。 IsClientConnected:獲取一個值,通過該值指示客戶端是否仍連接在服務(wù)器上。,6.2 Response對象,Response對象的方法 輸出數(shù)據(jù): Write(登錄成功!); 清除緩沖: Clear(); 網(wǎng)頁轉(zhuǎn)向: Redirect(Details.aspx); 停止輸出: End(); 輸出文件: WriteFile(FileName);,(Response_Write.aspx、 Response_Buffer.aspx,6.2 Response對象,6.3 Request對象,Request對象封裝了Web瀏覽器向Web服務(wù)器發(fā)送的HTTP請求消息; Request對象是HttpRequest類的實(shí)例,是由ASP.NET自動創(chuàng)建的; HttpRequest類使 ASP.NET 能夠讀取客戶端在Web請求期間發(fā)送的HTTP值; Request對象的主要功能是從客戶端得到數(shù)據(jù)。,6.3.1 Request對象的屬性和方法,Request對象的屬性 Browser:獲取或設(shè)置有關(guān)正在請求的客戶端的瀏覽器功能的信息。 Cookies:獲取客戶端發(fā)送的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論