chap13-創(chuàng)建Web應(yīng)用程序.ppt_第1頁
chap13-創(chuàng)建Web應(yīng)用程序.ppt_第2頁
chap13-創(chuàng)建Web應(yīng)用程序.ppt_第3頁
chap13-創(chuàng)建Web應(yīng)用程序.ppt_第4頁
chap13-創(chuàng)建Web應(yīng)用程序.ppt_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第13章創(chuàng)建 Web 應(yīng)用程序,本章目標,1 簡介Web編程基礎(chǔ) 2 創(chuàng)建 Web 窗體應(yīng)用程序 3 在 Web 窗體應(yīng)用程序中訪問數(shù)據(jù),Web編程基礎(chǔ)(1)-Web的工作原理,HTTP協(xié)議:允許瀏覽器和服務(wù)器相互通訊并傳送數(shù)據(jù)。,服務(wù)器,網(wǎng)絡(luò),工作站,1.用戶選擇要瀏,覽的網(wǎng)頁,2.瀏覽器把HTTP請求通過,Internet傳送到Web服務(wù)器,3.在Web服務(wù)器查找相應(yīng)的,頁面,4.Web服務(wù)器把網(wǎng)頁通過,Internet利用HTTP發(fā)送會客戶機,5.網(wǎng)頁被返回給用戶的瀏覽器,并以正確的格式顯示,Web編程基礎(chǔ)(2)- HTML語言,HTML語言是顯示W(wǎng)eb頁的語言 HTML語言由一組定義布

2、局的標記組成,Web編程基礎(chǔ)(3)-靜態(tài)和動態(tài)Web頁,靜態(tài)Web頁:服務(wù)器上的Html文件 可維護性差(缺點) 動態(tài)Web頁:可根據(jù)需要創(chuàng)建且內(nèi)容可以變化的頁面,Web編程基礎(chǔ)(4)-動態(tài)Web頁的創(chuàng)建方式,客戶端腳本 運行在客戶端,無需與服務(wù)器接觸 被解釋執(zhí)行 JavaScript語言 不能解決由數(shù)據(jù)驅(qū)動的Web站點的基本問題 服務(wù)器端腳本 創(chuàng)建基于數(shù)據(jù)的Web動態(tài)頁面 維護性提高 ASP, PHP, JSP,CGI,Web編程基礎(chǔ)(5)-狀態(tài)管理,狀態(tài)用于描述需要維護的永久性信息。 HTTP協(xié)議是無狀態(tài)的。 狀態(tài)管理的兩種方式:Cookie或數(shù)據(jù)庫記錄 Cookie:是一種在客戶的機器上

3、存儲信息的技術(shù) 當用戶訪問站點時,Web 服務(wù)器會給用戶的機器發(fā)送Cookie,并保存起來 當用戶再次訪問時,服務(wù)器可以讀取瀏覽器保存的Cookie信息,從而實現(xiàn)個性化設(shè)置 數(shù)據(jù)庫記錄: 采用用戶ID和密碼的方式,創(chuàng)建 Web 窗體應(yīng)用程序(1)- ASP.NET介紹: 以前Web開發(fā),ASP:服務(wù)器端資源解釋型腳本 解釋型腳本執(zhí)行速度比被編譯的程序慢得多 腳本平臺帶來的問題(變量全部是Variant類型) 像意大利面條一樣混雜的代碼 Perl, CGI: 通過服務(wù)器端調(diào)用執(zhí)行的獨立應(yīng)用程序 多個客戶對服務(wù)器發(fā)出請求,需要應(yīng)用程序的多個實例,因此,需要很大的內(nèi)存空間 編寫和調(diào)試比較困難,創(chuàng)建

4、Web 窗體應(yīng)用程序(1)- ASP.NET介紹: 以前Web開發(fā),ASP.NET: 新模型 打破了傳統(tǒng)應(yīng)用程序開發(fā)和Web開發(fā)之間曾經(jīng)存在的界限 ASP.NET可以創(chuàng)建內(nèi)容豐富,動態(tài)個性化的Web站點,創(chuàng)建 Web 窗體應(yīng)用程序(3)- ASP.NET的七個要點,ASP.NET是.NET Framework 的一部分 集成了.NET Framework的安全性 在CLR上托管運行(內(nèi)存管理,出錯處理) ASP.NET是被編譯的,不是被解釋的 ASP.NET支持多種語言 MSIL是.Net真正的語言,創(chuàng)建 Web 窗體應(yīng)用程序(3)- ASP.NET的七個要點,ASP.NET支持多種設(shè)備和瀏覽

5、器ASP.NET后臺的瀏覽器檢測功能能把HTML正確地傳輸?shù)娇蛻舳说臑g覽器,從而提升了兼容性。 對于手機PDA設(shè)備中特殊瀏覽器,可以使用ASP.NET種的特殊控件和擴展功能進行部署。 ASP.NET支持完全面向?qū)ο蟮恼Z言 aspx頁面都是從System.Web.UI.Page對象繼承而來, aspx頁面是可重用的對象,只需引用Web應(yīng)用程序的命名空間,創(chuàng)建 Web 窗體應(yīng)用程序(3)- ASP.NET的七個要點,ASP.NET包含有自己的可移植配置和安全模型 IIS與windows用戶間的依賴性減小 采用XML作為配置語言 ASP.NET應(yīng)用程序包含Web.config配置文件,創(chuàng)建 Web

6、窗體應(yīng)用程序(3)- ASP.NET的七個要點,ASP.NET是控件驅(qū)動的(VS環(huán)境) 服務(wù)器識別的HTML控件:從ASP向ASP.Net遷移的一個方法是把runat=“server”添加到HTML控件中。 ASP控件 如: label 數(shù)據(jù)綁定控件 如:sqlDataReader 其它控件 如:Calendar 顯示和選擇日期,創(chuàng)建 Web 窗體應(yīng)用程序(4)- Web 窗體應(yīng)用程序特點,基于 ASP.NET 技術(shù)可以創(chuàng)建強大的可編程 Web 頁面 與所有瀏覽器和移動設(shè)備兼容 與所有語言兼容,只要該語言被公共語言運行庫支持 頁面上允許代碼和內(nèi)容分離 支持龐大的控件集 提供狀態(tài)管理功能集,用以

7、保存 Web 頁面在不同請求之間的狀態(tài),創(chuàng)建 Web 窗體應(yīng)用程序(5)-創(chuàng)建 Web 窗體應(yīng)用程序,使用 ASP.NET Web 應(yīng)用程序模板,創(chuàng)建 Web 窗體應(yīng)用程序(5)-創(chuàng)建 Web 窗體應(yīng)用程序,Page類:System.Web.UI.Page Session對象: 獲取 ASP.NET 的當前 Session 對象。 Server對象: 獲取服務(wù)器對象 。 Request對象: 獲取請求的頁的 HttpRequest對象。 Response對象:獲取與Page 關(guān)聯(lián)的HttpResponse 對象。該對象可將 HTTP 響應(yīng)數(shù)據(jù)發(fā)送到客戶端。 User對象: 獲取有關(guān)發(fā)出頁請求的

8、用戶的信息。 Application對象:為當前 Web 請求獲取 Application 對象, 它代表請求Web請求的應(yīng)用程序狀態(tài)。 Cache對象:獲取與該頁駐留的應(yīng)用程序關(guān)聯(lián)的 Cache 對象。 Trace對象: 通用跟蹤工具。,創(chuàng)建 Web 窗體應(yīng)用程序(5)-創(chuàng)建 Web 窗體應(yīng)用程序,CSS(Cascading Style Sheets, 級聯(lián)樣式表)改善外觀,創(chuàng)建 Web 窗體應(yīng)用程序(6)- Web窗體應(yīng)用程序的組件,創(chuàng)建 Web 窗體應(yīng)用程序(6)- Web窗體應(yīng)用程序的組件 使用 ASP.NET Web 應(yīng)用程序模板,創(chuàng)建 Web 窗體應(yīng)用程序(7)- Web 窗體應(yīng)用

9、程序的生命周期,Round trip:往返 用戶與窗體進行交互,進而導(dǎo)致窗體返回到服務(wù)器上,頁面上的服務(wù)器控件必須由服務(wù)器進行處理。因此,當用戶使用了需要處理的服務(wù)器控件時,客戶到服務(wù)器間的“往返”將發(fā)生。 每一次往返,Web窗體就被重新創(chuàng)建一次。 某些設(shè)備允許把頁面輸出高速緩存,當Web窗體的數(shù)據(jù)沒有發(fā)生變化時,新的請求不會導(dǎo)致Web窗體的重新實例化。,創(chuàng)建 Web 窗體應(yīng)用程序(7)- Web 窗體應(yīng)用程序的生命周期,1 頁面框架的初始化(Page_Init) 2 用戶代碼的初始化(Page_Load) 3 有效性驗證(控件Validate方法) 4 事件處理(控件事件) 5 清除處理(P

10、age_Unload),創(chuàng)建 Web 窗體應(yīng)用程序(7)- Web 窗體應(yīng)用程序的生命周期,1 頁面框架的初始化(Page_Init) 窗體傳遞回來,傳遞的數(shù)據(jù)就是保存在窗體上的信息(如:用戶輸入數(shù)據(jù)) 頁面控件的初始化階段,將觸發(fā)Page_Init事件 2 用戶代碼的初始化(Page_Load) 觸發(fā)Page_Load事件 通常檢查Page.IsPostBack屬性,以確定是第一次被加載,還是傳遞回來的頁面 第一次被加載時,可以對控件數(shù)據(jù)綁定初始化 傳遞回來的頁面時,Asp.Net來處理,創(chuàng)建 Web 窗體應(yīng)用程序(7)- Web 窗體應(yīng)用程序的生命周期,3 有效性驗證(控件Validate

11、方法) 從Validator控件繼承而來的所有服務(wù)器控件都有Validator()方法,可以對輸入進行驗證 4 事件處理(控件事件) 響應(yīng)窗體控件事件處理程序 5 清除處理(Page_Unload) 釋放資源(如數(shù)據(jù)庫連接,打開的文件等),創(chuàng)建 Web 窗體應(yīng)用程序(7)- Web 窗體應(yīng)用程序的生命周期,ASP .NET Web 窗體的生命周期有五個基本階段:,創(chuàng)建 Web 窗體應(yīng)用程序(8)-為 Web 窗體應(yīng)用程序添加控件,添加服務(wù)器端控件 在設(shè)計視圖,將 Web Server 控件對象從工具箱的 Web 窗體選項卡中拖到窗體 添加 HTML 服務(wù)器端控件 將 HTML 元素從工具箱的

12、HTML 選項卡拖放到窗體上,右擊元素并選擇作為服務(wù)器控件運行,就將其轉(zhuǎn)換成服務(wù)器端控件,創(chuàng)建 Web 窗體應(yīng)用程序(9)-為控件添加事件處理程序,用戶在瀏覽器中的行為會觸發(fā)許多事件 事件觸發(fā)的代碼在服務(wù)器上運行 代碼執(zhí)行完畢以后,結(jié)果頁面會送回給瀏覽器 舉例:Chapt13-0,private void Button1_Click(object sender,System.EventArgs e) /() ,在 Web 窗體應(yīng)用程序中訪問數(shù)據(jù)(1)-訪問數(shù)據(jù),基本原則 使用非連接模型(Web窗體頁面是非連接的) 讀取數(shù)據(jù)多于更新數(shù)據(jù) 最小化對服務(wù)器資源的需求 使用遠程進程來訪問數(shù)據(jù) (頁面顯

13、示,XML Web Service組件與數(shù)據(jù)源交互) Web 窗體頁面的數(shù)據(jù)源 訪問數(shù)據(jù)庫,ADO.NET XML 數(shù)據(jù),在 Web 窗體應(yīng)用程序中訪問數(shù)據(jù)(2)-顯示數(shù)據(jù),創(chuàng)建 Web 應(yīng)用程序項目和 Web 窗體頁面 創(chuàng)建并配置你要綁定窗格的數(shù)據(jù)子集 向窗體添加 DataGrid 控件并將其綁定到數(shù)據(jù) 添加代碼填充數(shù)據(jù)子集,1,2,3,4,private void Page_Load(object sender, System.EventArgs e) if ( !IsPostBack) SqlDataAdapter1.Fill(customerDS1); DataGrid1.DataSo

14、urce = customerDS1; DataGrid1.DataBind(); ,配置 ASP.NET 應(yīng)用程序設(shè)置(1)-ASP.NET 狀態(tài)管理,HTTP 是沒有狀態(tài)的協(xié)議 ASP.NET 同時提供應(yīng)用程序和對話的狀態(tài)管理 Application對象可以用來存儲該程序所有用戶的公共信息 Session對象可用來存儲單個用戶的信息,配置 ASP.NET 應(yīng)用程序設(shè)置(1)-ASP.NET 狀態(tài)管理,用戶訪問頁面,ASP.NET為用戶創(chuàng)建一個Session對象,然后存儲字符串信息. 用戶訪問第二個頁面時,可檢索信息,配置 ASP.NET 應(yīng)用程序設(shè)置(1)-ASP.NET 狀態(tài)管理,private void Page_Load(object sender,System.EventA

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論