開發(fā)Web應用程序ppt課件
《開發(fā)Web應用程序ppt課件》由會員分享,可在線閱讀,更多相關《開發(fā)Web應用程序ppt課件(75頁珍藏版)》請在裝配圖網上搜索。
開發(fā)Web應用程序 1 內容 ASP NET的開發(fā)環(huán)境配置編寫ASP NETWeb應用程序ASP NET服務器端控件創(chuàng)建Web服務Q A 2 1ASP NET的開發(fā)環(huán)境配置 首先并不是所有的Windows系統(tǒng)都可作為ASP NET的開發(fā)平臺 Windows98系統(tǒng)系列就不支持ASP NET其次為了能夠創(chuàng)建ASP NETWeb應用程序 系統(tǒng)要安裝微軟的Internet信息服務器 IIS 如果使用的系統(tǒng)是Windows2000或WindowsXP系列 那它們直接就帶有IIS 可以通過 控制面板 中的添加 刪除程序來安裝 3 2編寫ASP NETWeb應用程序 VisualStudio NET是一個功能十分強大的開發(fā)工具 我們先來使用它創(chuàng)建一個簡單的Web應用程序 然后逐步對這個程序進行講解 例 打開VisualStudio NET 選擇 文件 新建 項目 命令 從 模板 欄內選擇 ASP NETWeb應用程序 如果是第一次創(chuàng)建 Web應用程序的名稱將是WebApplication1 接受默認值 單擊 確定 按鈕 這時將出現(xiàn)WebForm1 aspx的設計界面 現(xiàn)在可以向其中添加控件形成一個完整的Web窗體 4 2 1ASP NET的基本語法 基本文件名種類 asax文件 ASP NET的系統(tǒng)環(huán)境設置文件 aspx文件 內含ASP程序代碼的文件 瀏覽器可執(zhí)行此類文件 向服務器提出瀏覽請求 asmx文件 制作WebServices的源文件 sdl文件 制作WebServices的XML格式的文件 vb或 cs文件 在非ASP NET環(huán)境下 執(zhí)行WebServices的文件 aspc文件 可重復使用多個 aspx文件 此文件內可含有控件 ascx文件 內含UserControl的文件 可內含在多個 aspx文件中 5 2 1ASP NET的基本語法 聲明代碼的語法代碼內聯(lián)代碼段或者ASP NET服務器端控件語法ASP NETHTML服務器端控件語法數(shù)據綁定語法Object標記語法例如注釋語法 6 2 2CodeBehind技術 aspx例子WebForm1Label 7 2 2CodeBehind技術 cs例子publicclassWebForm1 System Web UI Page protectedSystem Web UI WebControls TextBoxTextBox1 protectedSystem Web UI WebControls ButtonButton1 protectedSystem Web UI WebControls LabelLabel1 privatevoidPage Load objectsender System EventArgse 在此處放置用戶代碼以初始化頁面 privatevoidInitializeComponent this Button1 Click newSystem EventHandler this Button1 Click this Load newSystem EventHandler this Page Load privatevoidButton1 Click objectsender System EventArgse inti 100 stringstr Convert ToString i 2 Label1 Text str 8 2 3Web窗體 在Web窗體頁中 用戶界面編程分為兩個不同的部分 可視控件和邏輯 視覺元素稱作Web窗體 頁 page 這種頁由一個包含靜態(tài)HTML和 或ASP NET服務器控件的文件組成 Web窗體頁用作要顯示的靜態(tài)文本和控件的容器 Web窗體頁的邏輯由代碼組成 開發(fā)者創(chuàng)建代碼與窗體進行交互 編程邏輯位于與用戶界面文件不同的文件中 該文件稱作 代碼隱藏 文件 用aspx cs 作為擴展名 在代碼隱藏文件中編寫的邏輯使用C 來編寫 9 2 3Web窗體的事件響應 像在Windows窗體上使用控件一樣 Web控件和HTML控件也有與它們相關的事件 可以為這些事件生成代碼 每個控件都有它們自己的特殊事件 例如 按鈕控件有Click事件 文本框有TextChanged事件 Web窗體事件和Windows窗體事件有一個重要的區(qū)別 Windows窗體的事件是在本地機進行處理的 與Web窗體事件相關的代碼被存儲在Web服務器上的的代碼文件中 這意味著當運行在用戶瀏覽器上的Web窗體中的事件被觸發(fā)時 窗體不得不回叫Web服務器來處理它的事件 當事件被觸發(fā)時 Web窗體頁再次與Web服務器通信來處理這些代碼 因此 過多地使用控件事件會造成頻繁地訪問服務器 10 3ASP NET服務器端控件 3 1Web服務器控件3 2HTML服務器控件3 3驗證控件3 4用戶控件 11 3ASP NET服務器端控件 服務器端控件是ASP NET編程的基礎 編寫Web頁面很大程度上就是將控件拼湊起來 以使其協(xié)同工作 Web窗體總共可以加入4種控件 它們是 Web服務器控件 HTML服務器控件 驗證控件和用戶控件 12 3 1Web服務器控件 VisualStudio NET提供了眾多的Web服務器控件 這些控件都包含多種屬性 更改這些屬性可使控件具有不同的功能 控件的屬性既可以在VisualStudio NET的屬性對話框中進行靜態(tài)更改 也可以在程序運行時進行動態(tài)更改 13 3 1Web服務器控件 文本框控件 TextBox控件文本框控件提供了向Web窗體輸入信息的方法 可以將文本框的TextMode屬性賦為SingLine MultiLine和Password來改變它的行為模式 14 3 1Web服務器控件 文本框控件的公共屬性 15 3 1Web服務器控件 文本框控件的公共方法 16 3 1Web服務器控件 按鈕控件 VisualStudio NET的工具箱中提供了3種按鈕控件 普通按鈕Button 顯示超鏈接樣式的按鈕LinkButton和顯示圖像樣式的ImageButton 按鈕控件發(fā)生Click事件時會直接導致向服務器端提交 17 3 1Web服務器控件 按鈕控件公共屬性 Button和LinkButton控件的公共屬性 ImageButton控件的公共屬性 18 3 1Web服務器控件 復選框和單選按鈕控件 復選框控件 CheckBox CheckBoxList 和單選按鈕控件 RadioButton RadioButtonList 復選框控件和單選按鈕控件十分類似 它們都允許從多個選項中進行選擇 不同的是復選框控件允許同時選擇多項 而單選按鈕控件每次只能選擇一項 CheckBoxList控件和RadioButtonList控件可以單獨使用 而CheckBox控件和RadioButton控件則需要多個一起使用 它們都可以和數(shù)據源進行綁定 不過比較起來使用CheckBoxList控件和RadioButtonList控件訪問數(shù)據更為方便一些 19 3 1Web服務器控件 復選框和單選按鈕控件 20 3 1Web服務器控件 復選框和單選按鈕控件 對CheckBoxList控件和RadioButtonList控件來說 可以直接通過Items屬性來設置顯示項和標簽 打開這些控件屬性對話框中的Items項 將出現(xiàn)ListItem集合編輯器可以在左側 成員 欄內添加顯示項 右邊的屬性欄可以設置該項的屬性 Selected屬性表明該項是否被選定 Text屬性的值將作為該項的顯示標簽 Value的值可以作為編程時的內部值使用 該值可與Text屬性采用不同的值 21 3 1Web服務器控件 復選框和單選按鈕控件 CheckBox和RadioButton控件的公共屬性 22 3 1Web服務器控件 復選框和單選按鈕控件 CheckBoxList和RadioButtonList控件的公共屬性 23 3 1Web服務器控件 DropDownList控件和ListBox控件 DropDownList控件和ListBox控件都提供了選擇特定項的功能 不同處在于DropDownList控件提供一個下拉列表框進行選擇 而ListBox控件直接提供多個選項 而且還可同時選擇ListBox控件中的多項與復選框控件和單選按鈕相同 它們都可以通過屬性對話框的Items項打開ListItem集合編輯器對顯示項進行添加刪除 它們也都具有數(shù)據源綁定功能 24 3 1Web服務器控件 DropDownList控件和ListBox控件 ListItem集合編輯器 25 3 1Web服務器控件 DropDownList控件公共屬性 26 3 1Web服務器控件 ListBox控件公共屬性 27 3 2HTML服務器控件 ASP NET的Web窗體也支持HTML服務器控件 在工具箱的HTML子項就可以找到它們 你可能會發(fā)現(xiàn)HTML服務器控件和剛才介紹的Web服務器控件有些重復 它同樣也具有按鈕控件 文本框控件等 那它與Web控件有什么區(qū)別呢 什么時候應該用Web服務器控件什么時候應該用HTML服務器控件HTML服務器控件與Web服務器控件的區(qū)別瀏覽器都支持基本的HTML元素 而應用這些基本的HTML元素可以組合出復雜的元素 HTML服務器控件和基本的HTML元素是對應的 使用Web服務器控件時 從服務器方的角度來看根本不知道最終控件會在瀏覽器中用什么樣的HTML元素顯示出來 顯示一個Web服務器控件可能需要組合多個HTML元素 也就是說瀏覽器顯示什么樣的HTML元素對服務端是透明的 HTML服務器控件提供了操縱瀏覽器HTML元素的機會 28 3 2HTML服務器控件 例 新建一個Web項目 將位置欄中的項目名改為TestHTML 從 工具箱 中的HTML欄內添加一個Button控件 切換到Web窗體的HTML對話框 將會顯示aspx文件的內容 如以下代碼所示 無標題頁 29 3 2HTML服務器控件 該Button控件在aspx文件里直接對應著一個HTML元素 因此會不加處理地直接傳給瀏覽器 其他的HTML控件也與此類似 也可以在服務器端處理HTML服務器控件的事件 不過要先使它們能在服務器端運行 在上面的例子的Web窗體的設計對話框中右擊Button控件 從中選擇 作為服務器控件運行在Button控件的左上方會出現(xiàn)一個小綠色箭頭 它就表明該控件將作為服務器控件運行 這時在aspx文件里對應的行變成 30 3 2HTML服務器控件 使HTML控件作為服務器控件運行 31 3 2HTML服務器控件 通過加入runat server 使它從簡單的HTML元素變成了HTML服務器控件 這樣就可以像Web服務器對它進行服務器端編程 在上面的設計對話框中雙擊Button控件將切換到代碼編輯對話框 在Button1 ServerClick方法下填寫如下代碼 privatevoidButton1 ServerClick objectsender System EventArgse 改變按鈕標簽Button1 Value Click 運行這個程序 單擊Button按鈕 頁面刷新過后Button按鈕的標簽就變成了Click 該Button按鈕的回發(fā)也是由客戶端腳本程序產生的 可以使用上面介紹查看瀏覽器內容的方法來具體看一下實現(xiàn)過程 這些客戶端腳本程序是Web服務器處理ASP NET程序時產生的 現(xiàn)在就面臨著如何在Web服務器控件和HTML服務器控件直接選擇的問題 這里建議如果偏愛使用RAD編程模型的話最好使用Web服務器控件 如果想更好地控制瀏覽器的顯示 與客戶端腳本程序交互 那么就請用HTML服務器控件 32 web服務器控件HTML服務器控件和HTML控件的區(qū)別 1 Html控件最常用 出現(xiàn)最早web服務器控件 ASP NETServerControl 與WinForm開發(fā)相似HTML服務器控件 HTMLServerControl 向下兼容基于ASP系統(tǒng)的移植而推出的介于以上兩者之間的權宜產物 33 web服務器控件HTML服務器控件和HTML控件的區(qū)別 2 Html控件的標簽Html服務器控件的標簽Html服務器控件其實就是Html控件的基礎上加上runat server 所構成的控件Web服務器控件的標簽Web服務器控件會根據情況在瀏覽器端產生一個或多個對應的Html標簽 34 web服務器控件HTML服務器控件和HTML控件的區(qū)別 3 Html控件不能在服務器端控制 只能在瀏覽器端通過javascript等腳本語言操作Html服務器控件設定了runat server 屬性后 頁面對象會將該控件載入控制器 服務器端的代碼就能對其進行控制Html服務器控件在頁面執(zhí)行完畢后會被轉換成Html標注 然后當成字符串流發(fā)送到瀏覽器端 瀏覽器端的腳本能夠進行操作 Web服務器控件的操作則是由頁面把Form發(fā)回服務器 然后完全由服務器端代碼處理 35 web服務器控件HTML服務器控件和HTML控件的區(qū)別 4 Html控件不能在服務器端控制 只能在瀏覽器端通過javascript等腳本語言操作Html服務器控件設定了runat server 屬性后 頁面對象會將該控件載入控制器 服務器端的代碼就能對其進行控制Html服務器控件在頁面執(zhí)行完畢后會被轉換成Html標注 然后當成字符串流發(fā)送到瀏覽器端 瀏覽器端的腳本能夠進行操作 Web服務器控件的操作則是由頁面把Form發(fā)回服務器 然后完全由服務器端代碼處理 36 Web服務器控件 Html服務器控件和Html控件的優(yōu)缺點 Html控件和Html服務器控件需要編碼以保持瀏覽器兼容 Web服務器控件能夠檢測瀏覽器的兼容性 保持表現(xiàn)的一致Html服務器控件通過為Html控件添加runat server 以實現(xiàn)ASP程序的移植 將ASP程序移植成使用Web服務器控件的ASP Net程序相當于重寫新的應用Html控件和Html服務器控件是標準控件 能夠用瀏覽器端腳本語言操作 使用Web服務器控件提供的對象模型 能夠得到和WinForm類似的編程體驗 而且無需再學習不同的腳本語言 Web服務器內部的代碼并不開放 你無法獲得比較直接的控制 37 Web服務器控件 Html服務器控件和Html控件小結 Html服務器控件作為一個過渡的實現(xiàn) 雖然能夠兼顧瀏覽器端和服務器端 終究是一個奇怪的存在 盡量少使用為妙從微軟的角度 良好封裝的Web服務器控件提供了大量的便利 同時WebForm和WinForm開發(fā)模式的差異使得相互的經驗能夠互通 當然是多使用Web服務器控件為好 不過Web服務器控件的缺點是占用服務器資源 頁面Postback過多存在的就是合理的 Html還是要會地 Javascript當然是要好好學地 Web開發(fā)各種奇奇怪怪的標簽共存于Page中的場面短時間內是不可能消失地 38 3 3驗證控件 ASP NET提供了多種驗證控件這些驗證控件都支持服務器端驗證 如果瀏覽器支持DHTML的話也可提供客戶端驗證 如果運用得當客戶端驗證可以有效地減少與服務器端的交互 極大地提高Web應用程序的性能 驗證控件通常要認證其他控件的有效性 因而必須和其他控件一起使用 它們都具有一個屬性ControlToValidate來指定要驗證的控件 這個值是必需的 否則驗證控件將會出錯 39 3 3驗證控件 40 3 3驗證控件 示例 例 打開VisualStudio NET新建一個Web應用程序項目 命名為Validator 向Web窗體中添加標簽控件 輸入控件和驗證控件 依次放入5個標簽控件 設定它們的Text屬性分別為 姓名 年齡 密碼 確認密碼 和 E mail 在標簽控件之后依次放入5個輸入框控件 它們的ID在默認狀態(tài)下會自動設為TextBox1 TextBox2 TextBox3 TextBox4和TextBox5 設定TextBox3和TextBox4的TextMode屬性為Password 在TextBox1 TextBox2 TextBox4和TextBox5控件后分別放入一個RequiredFieldValidator驗證控件 分別將這些RequiredFieldValidatork控件的ErrMessage屬性設定為 姓名不能為空 年齡不能為空 密碼不能為空 和 E mail不能為空 ControlToValidate屬性分別設置為TextBox1 TextBox2 TextBox4和TextBox5 TextBox2后再放入一個RangeValidator驗證控件其ErrMessage屬性設為 值不合法 ControlToValidate屬性設為TextBox2 MaximumValue屬性設為100 Minimum屬性設為1 Type屬性設為Integer TextBox4后再放入一個CompareValidator控件 它的ErrMessage屬性設為 兩次輸入不一致 ControlToCompare屬性設為TextBox3 ControlToValidtae屬性設為TextBox4 Text5后再放一個RegularExpressionValidator控件ErrMessage屬性設為 輸入不正確 ControlToValidator屬性設為TextBox5 當在屬性對話框選擇ValidationExpress屬性時會彈出 正則表達式編輯器 對話框 從中選擇 Internet電子郵件地址 最后向窗體中添加一個Button控件和一個ValidationSummary控件 41 3 3驗證控件 示例 RequiredFieldValidator控件保證它所驗證控件的輸入不能為空RangeValidator控件保證了它所驗證控件的輸入應在一定的范圍內 在本例中保證在TextBox2中輸入為1到100之間的整型值 CompareValidator控件將它驗證的控件的內容與另一個控件或另一個值進行比較 在本例中使用了ControlToCompare屬性 以此來表明需要與另一控件相比較 默認的比較操作屬性Operator的值是Equal 相等 這樣該控件的功能其實就是保證兩次密碼輸入相等 RegularExpressionValidator保證控件的輸入應滿足特定的正則表達式規(guī)則 本例指定為 Internet電子郵件地址 即要求TextBox5中要輸入一個電子郵件地址 這些驗證控件的EnableClientScript現(xiàn)在都默認為True 這就表明將生成瀏覽器腳本在客戶端進行驗證 運行程序 在驗證控件對應的文本框中必須正確輸入 否則將會在驗證控件的位置出現(xiàn)錯誤信息 在ValidationSummary控件中則會顯示出所有這些錯誤信息CustomValidator控件提供了用戶自定義的功能 當上面的驗證控件都無法滿足要求的時候就需要CustomValidator控件了 它提供了自定義客戶端與服務器端驗證的功能 它包含有一個ClientValidationFunction屬性和ServerValidate事件 可以分別與客戶端和服務器端進行綁定 然后編寫滿足自己需要的驗證函數(shù) 42 3 3驗證控件 驗證控件的使用 43 3 3驗證控件 正則表達式編輯器 44 3 3驗證控件 程序的運行 45 3 4用戶控件 當ASP NET提供的控件都無法滿足要求的時候就需要自己編寫控件了 這些控件叫做用戶控件 可以使用兩種方式來創(chuàng)建用戶控件一種方式是把以前編寫的Web頁面包裝成控件 這樣的控件稱為Web用戶控件另一種方式是從 NET的某個框架類繼承一個新類用來生成控件 這樣的控件稱為Web自定義控件 46 3 4用戶控件 Web用戶控件 先來介紹第一種方式 下面創(chuàng)建一個Web窗體 然后把它轉化成Web用戶控件的形式 接著再創(chuàng)建一個新的Web窗體來使用這個控件 例 新建一個ASP NETWeb應用程序 命名為MyControl 在窗體上放入一個標簽控件 一個文本框控件和一個Button控件 雙擊Button控件將切換到代碼編輯對話框 在Button1 Click方法中填寫下列代碼 privatevoidButton1 Click objectsender System EventArgse 改變文本標簽的內容Label1 Text Hello TextBox1 Text 切換到Web窗體的HTML代碼對話框 將顯示出WebForm1 aspx文件的內容 現(xiàn)在依次進行下面步驟 將Web頁面轉換成Web控件 1 從文件中刪除標簽 標簽 標簽及內容 標簽和標簽 2 將文件第一行的Page改為Control并把WebForm1 aspx cs更名為WebForm1 ascx cs 47 3 4用戶控件 Web用戶控件 48 3 4用戶控件 Web用戶控件 3 在解決方案對話框中選中WebForm1 aspx 右擊選擇 重命名 將WebForm1 aspx的名字改為WebForm1 ascx 這時文件WebForm1 aspx cs也會自動更名為WebForm1 ascx cs 將WebForm1 ascx cs中的publicclassWebForm1 System Web UI Page一行改為publicclassWebForm1 System Web UI UserControl 4 保存項目 Web用戶控件就完成了 這個Web用戶控件只實現(xiàn)了很簡單的功能 為使一個Web對話框變?yōu)榭丶仨毷紫葘⑵渲械捻撁嬖貏h除 其次由于Web用戶控件的擴展名為ascx 因此也要將aspx擴展名變?yōu)閍scx 最后Web用戶控件應由用戶控件類派生 下面用一個新的Web應用程序項目來測試一下剛才生成的Web用戶控件 新建一個ASP NETWeb應用程序 命名為UserControl 在解決方案資源管理器對話框內的UserControl項上右擊 選擇 添加現(xiàn)有項 彈出 添加現(xiàn)有項 對話框 文件類型中選擇 公用Web文件 定位到MyControl目錄選定WebForm1 ascx 單擊 打開 按鈕 添加MyControl引用這時就把Web用戶控件添加到了UserControl項目中 在解決方案資源管理器內單擊WebForm1 ascx 把它拖動到Web對話框中 Web對話框中就會出現(xiàn)剛才新建的Web用戶控件由于現(xiàn)在的控件沒有設計器的支持 因此在設計對話框中沒有顯示出Web用戶控件的顯示界面 執(zhí)行這個項目 在文本框內輸入 maj 單擊按鈕 這時標簽中就會顯示出 Hellomaj 整個頁面的功能其實都是由一個Web用戶控件提供的 可以將更復雜的窗體組合在一起做成Web用戶控件 使用在項目里以達到代碼重用的目的 49 3 4用戶控件 添加現(xiàn)有項對話框 50 3 4用戶控件 向窗體中添加Web用戶控件 51 3 4用戶控件 使用Web用戶控件 52 3 4用戶控件 Web自定義控件 Web自定義控件是一種更方便 功能更強大的設置用戶控件的方式 它最終將編譯成DLL文件 可以方便地進行發(fā)布 例 新建一個項目 在右側 模板 欄內選擇 Web控件庫 將項目名稱改為MyCustomControl 單擊 確定 按鈕 usingSystem usingSystem Web UI usingSystem Web UI WebControls usingSystem ComponentModel namespaceMyCustomControl DefaultProperty Text ToolboxData publicclassWebCustomControl1 System Web UI WebControls WebControl 將此控件呈現(xiàn)給指定的輸出參數(shù) 要寫出到的HTML編寫器 輸出當前時間protectedoverridevoidRender HtmlTextWriteroutput output Write DateTime Now ToString 53 3 4用戶控件 Web自定義控件 上面的代碼實現(xiàn)了一個顯示出當前時間的控件 當控件呈現(xiàn)在頁面上時會調用Render方法 本例中當前的時間就是在Render方法中輸出的 這個控件沒有公開任何的屬性和事件 保存項目 選擇 生成 生成MyCustomControl 命令 這將會在該項目對應目錄的bin Debug子目錄下生成名為MyCustomControl dll的文件 這樣這個簡單的Web自定義控件就生成了 現(xiàn)在演示如何使用這個控件 新建一個ASP NETWeb應用程序項目 命名為UseCustomControl 下一步要把新建的控件加入到工具箱內 選擇 工具 選擇工具箱 命令單擊 瀏覽 按鈕 在彈出的對話框中選定CustomControl項目所在目錄 選定文件CustomControl dll 單擊 確定 按鈕 這樣在Web的工具箱中就會出現(xiàn)一個新的控件 選定該控件并把它添加到窗體上 執(zhí)行這個項目 在瀏覽器中顯示出了當前的時間 例子雖然簡單但是卻演示了Web自定義控件的基本生成方法 生成用戶自定義控件的過程都是一致的 如果綜合運用 NET的類庫就可以實現(xiàn)更加復雜的自定義控件 如果想使控件設計時更加美觀 可以將System Design dll引用到項目里 并從System Web UI Design ControlDesigner繼承一個新類 實現(xiàn)該類的GetDesignTimeHtml方法 并把它加入到自定義控件的屬性聲明中 這樣就可像普通Web服務器控件一樣在設計階段就可以顯示出外觀 54 3 4用戶控件 向工具箱中添加控件 55 3 4用戶控件 添加到工具箱中的用戶自定義控件 56 3 4用戶控件 用戶自定義控件的使用 57 4創(chuàng)建Web服務 4 1Web服務4 2一個簡單的Web服務4 3使用Web服務訪問數(shù)據庫 58 4 1Web服務 Web服務提供了一種調用網絡應用的新方法 剛一出現(xiàn)就表現(xiàn)出了極大的生命力 它也許會帶來網絡應用程序的重大變革在Internet的發(fā)展中 如何使各種應用系統(tǒng)有效集成一直是一個令人頭痛的問題 使用不同技術建立起來的Internet應用系統(tǒng)無法互相通信 彼此的功能無法相互調用 造成了網絡資源的極大浪費 雖然CORBA DCOM COM 等技術為此進行了極大的努力 但目前仍然無法有效地解決問題 Web服務的出現(xiàn)給我們帶來了新的希望Web服務使用基于XML的消息協(xié)議SOAP 提供了規(guī)范的數(shù)據封包格式并且使用HTTP協(xié)議傳輸 從而可以方便地在各種異構的應用系統(tǒng)之間進行通訊 同樣基于XML的WSDL用作Web服務的服務描述 它向外公布了Web服務所提供服務的接口 UDDI則提供了Web服務的服務發(fā)現(xiàn)機制 59 4 2一個簡單的Web服務 下面來創(chuàng)建一個簡單的Web服務來演示它的基本組成 例 VisualStudio NET為Web服務提供了強大的支持 借助它可以方便地進行Web服務的開發(fā) 打開VisualStudio NET 新建項目 在項目模板中選擇 ASP NETWeb服務 命名為MyWebService 這時將出現(xiàn)設計對話框 現(xiàn)在切換到代碼編輯對話框 按下面的程序改變對話框中的代碼 usingSystem usingSystem Collections usingSystem ComponentModel usingSystem Data usingSystem Diagnostics usingSystem Web usingSystem Web Services namespaceMyWebService Service1的摘要說明 60 4 2一個簡單的Web服務 設定該Web服務的命名空間 WebService Namespace 61 4 2一個簡單的Web服務 endregion WEB服務示例 HelloWorld 示例服務返回字符串HelloWorld 若要生成 請取消注釋下列行 然后保存并生成項目 若要測試此Web服務 請按F5鍵 實現(xiàn)兩個數(shù)相加的Web服務 WebMethod publicintAdd intfirstnumber intsecondnumber returnfirstnumber secondnumber 這樣就實現(xiàn)了一個簡單的Web服務 它只提供了一項功能 計算兩個整數(shù)的和 現(xiàn)在運行程序來測試這個Web服務 不過要注意Web服務并不是在運行后的瀏覽器對話框中顯示的這樣 它本身只是提供給用戶的服務 這里看到的只是ASP NET提供的一個方便的測試界面 62 4 2一個簡單的Web服務 測試Web服務 63 4 2一個簡單的Web服務 在類Service1上加入一行 WebService Namespace 64 4 2一個簡單的Web服務 測試Add方法 65 4 2一個簡單的Web服務 Web服務調用結果 66 4 3使用Web服務訪問數(shù)據庫 下面結合使用ADO NET創(chuàng)建一個可訪問數(shù)據庫的Web服務 同時編寫一個客戶端程序 用來調用這個Web服務 例 新建項目 在 模板 中選擇 ASP NETWeb服務 將該項目命名為MyDataService usingSystem usingSystem Collections usingSystem ComponentModel usingSystem Data usingSystem Data SqlClient usingSystem Diagnostics usingSystem Web usingSystem Web Services namespaceMyDataService Service1的摘要說明 指定該Web服務的命名空間 WebService Namespace 67 4 3使用Web服務訪問數(shù)據庫 regionComponentDesignergeneratedcode Web服務設計器所必需的privateIContainercomponents null 設計器支持所需的方法 不要使用代碼編輯器修改此方法的內容 privatevoidInitializeComponent 清理所有正在使用的資源 protectedoverridevoidDispose booldisposing if disposing 68 4 3使用Web服務訪問數(shù)據庫 endregion 建立一個sqlConnection連接SQLServer數(shù)據庫publicSqlConnectionmyConn newSqlConnection DataSource localhost IntegratedSecurity SSPI InitialCatalog northwind WebMethod publicDataSetGetDataSet 建立一個sqlDataAdapter取得products表內容SqlDataAdaptermyDA newSqlDataAdapter SELECT FROMPRODUCTS myConn 新建一個數(shù)據集DataSetmyDS newDataSet 填充數(shù)據集myDA Fill myDS returnmyDS 該Web服務提供了一個GetDataSet方法 它通過SqlConnection對象連接到數(shù)據庫 并將Products表的數(shù)據填充到數(shù)據集中 然后將得到的數(shù)據集返回 下面開始編寫一個Web應用程序來調用剛才生成的Web服務的客戶程序 新建一個ASP NETWeb應用程序項目 命名為UseDataService 轉到該項目的解決方案資源管理器對話框 從列表中選擇 引用 右擊 選擇 添加Web引用 將彈出 添加Web引用 對話框 69 4 3使用Web服務訪問數(shù)據庫 添加Web引用 對話框 70 4 3使用Web服務訪問數(shù)據庫 在該對話框的地址欄中填入剛才新建的Web服務的位置 這里是http localhost MyDataService Service1 asmx 刷新后左側的對話框中將會出現(xiàn)該Web服務支持的方法 單擊 添加引用 現(xiàn)在在項目中就可以直接引用這個Web服務了 現(xiàn)在將一個DataGrid控件添加到Web窗體中 轉到代碼編輯對話框 填入下列代碼 usingSystem usingSystem Collections usingSystem ComponentModel usingSystem Data usingSystem Drawing usingSystem Web usingSystem Web SessionState usingSystem Web UI usingSystem Web UI WebControls usingSystem Web UI HtmlControls namespaceUseDataService WebForm1的摘要說明 publicclassWebForm1 System Web UI Page 71 4 3使用Web服務訪問數(shù)據庫 protectedSystem Web UI WebControls DataGridDataGrid1 privatevoidPage Load objectsender System EventArgse 生成Web服務引用實例localhost Service1myService newlocalhost Service1 DataSetmyDataSet newDataSet 在此處放置用戶代碼以初始化頁面 指定DataGrid控件數(shù)據源myDataSet myService GetDataSet DataGrid1 DataSource myDataSet 將數(shù)據綁定到DataGrid控件中DataGrid1 DataBind regionWebFormDesignergeneratedcodeoverrideprotectedvoidOnInit EventArgse CODEGEN 該調用是ASP NETWeb窗體設計器所必需的 InitializeComponent base OnInit e 72 4 3使用Web服務訪問數(shù)據庫 設計器支持所需的方法 不要使用代碼編輯器修改 此方法的內容 privatevoidInitializeComponent this Load newSystem EventHandler this Page Load endregion 運行這個程序 在瀏覽器對話框中顯示了從Web服務得到的數(shù)據庫的內容 把Web引用添加到項目中后會自動生成一個該Web服務的代理類 可以認為這個代理類就是Web服務的本地映像 在Web應用程序中可以直接生成該代理類的實例用來調用Web服務 本例中這個代理類是localhost Service1 這個名稱是添加Web引用后的默認生成的 生成代理類的實例后直接調用了Web服務提供的GetDataSet方法用來返回數(shù)據集 將該數(shù)據集綁定到DataGrid控件上就可以在瀏覽器中顯示數(shù)據了 73 4 3使用Web服務訪問數(shù)據庫 使用Web服務訪問數(shù)據庫 74 Question Answer Thankyou 75- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 開發(fā) Web 應用程序 ppt 課件
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://ioszen.com/p-4972866.html