版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本章提要1-1WWW與HTTP協(xié)定1-2靜態(tài)網頁與動態(tài)網頁技術1-3.NET的基礎知識1-4VisualStudio2005與VWD開發(fā)工具1-1WWW與HTTP協(xié)定Internet已經成為人類生活與工作不可或缺的工具,而WWW(WorldWideWeb)可說是促成Internet大流行的殺手級技術,目前WWW仍然是Internet上最常被使用的服務,WWW網站所產生的各式應用,例如論壇、Blog、線上購物...等,可說是目不暇給。WWW與HTTP協(xié)定WWW是一種主從式的架構,由用戶端(瀏覽器)主動提出服務要求,伺服器收到要求之後,才將資料回應給用戶端:WWW與HTTP協(xié)定WWW伺服器與用戶端之間使用HTTP(HyperTextTransferProtocol)協(xié)定進行連線與傳送資料,HTTP是一種跨平臺的通訊協(xié)定,它定義了伺服器與用戶端之間資料傳輸方式。1-2靜態(tài)網頁與動態(tài)網頁技術網頁的資料內容與顯示方式WWW網頁技術的演變動態(tài)網頁技術用戶端動態(tài)網頁技術伺服器端動態(tài)網頁技術網頁的資料內容與顯示方式當我們?yōu)g覽WWW網站時,伺服器傳送給用戶端的網頁是由HTML所構成,HTML語法定義了很多文字與排版的效果,而瀏覽器則會解析這些語法,將文字與效果顯示於用戶端:網頁的資料內容與顯示方式網頁的資料內容與顯示方式單純的文字資料展示自然無法充分滿足需求,所以HTML便定義了更多的標籤以豐富網頁內容(例如加入圖形、聲音等),只要用戶端的瀏覽器支援這些技術,能夠解讀出正確的展示方式,便可呈現(xiàn)出多采多姿的資料。簡單的說,純文字格式的網頁是以HTML語法來定義網頁中的內容及所要使用的物件,而瀏覽器收到之後,會進行解析,然後依照HTML所定義的效果,將內容展示出來。網頁的資料內容與顯示方式網頁的資料內容與顯示方式因此我們所看到的各種效果文字、圖片或多媒體資料,其實都是由瀏覽器所產生或顯示,伺服器只負責提供文字、檔案和檔案位置等資訊。WWW網頁技術的演變從WWW的誕生到今日的蓬勃發(fā)展,WWW網頁技術主要分成下面2種方式:靜態(tài)網頁:固定內容,單純文字的資料顯示,或是包含圖片、聲音、動畫...等多媒體效果。動態(tài)網頁:動態(tài)、具互動性內容的WWW網頁技術。動態(tài)網頁技術瀏覽器解析網頁內的HTML語法之後,即可將豐富的多媒體效果顯示於用戶端,所以早期WWW網站的製作技術著重於如何撰寫HTML語法以展現(xiàn)各種效果。動態(tài)網頁技術動態(tài)網頁技術雖然WWW傳遞資料的功能仍然不變,但是隨著WWW的應用日漸廣泛,靜態(tài)的效果已無法滿足人們的需求,大家開始希望網頁的效果更豐富多樣;或是想要讓網頁依照不同狀況,顯示不同的訊息;甚至希望網站可以和使用者產生互動的效果。動態(tài)網頁技術動態(tài)網頁技術因此便陸續(xù)出現(xiàn)許多技術以提供動態(tài)網頁的效果,這些技術依照程式執(zhí)行的位置,主要可以區(qū)分為用戶端與伺服器端等兩大類。顧名思義,用戶端技術是在用戶的瀏覽器執(zhí)行程式來產生動態(tài)網頁,而伺服器端技術是由伺服器執(zhí)行程式,產生不同內容的網頁,再傳送給瀏覽器顯示。動態(tài)網頁技術用戶端動態(tài)網頁技術(例如:JavaApplet、JavaScript):動態(tài)網頁技術伺服器端動態(tài)網頁技術(例如:ASP.NET、PHP、JSP):動態(tài)網頁技術一般來說,用戶端動態(tài)網頁技術因為是在瀏覽器上執(zhí)行程式,所以使用者可以立即得到程式執(zhí)行結果,也可減輕伺服器的負擔。不過因為整個程式需透過網路傳送到用戶端執(zhí)行,為避免傳送耗時,通常程式不會設計得太大,故功能上也大多只用來顯示即時資訊、產生特效等。動態(tài)網頁技術而伺服器端動態(tài)網頁技術將程式放置於伺服器上執(zhí)行,程式設計的彈性相當大,還可以搭配資料庫系統(tǒng),設計出複雜的架構,例如會員機制、留言板/論壇...等。動態(tài)網頁技術雖分為兩大類,但應用時會依照各種狀況與需求互相搭配使用。動態(tài)網頁技術例如本書介紹的ASP.NET雖然屬於伺服器端動態(tài)網頁技術,但是其中有些控制項也會配合使用在用戶端執(zhí)行的JavaScript。由於技術推陳出新,目前各廠商發(fā)展出許多製作動態(tài)網頁的程式語言或平臺,隨後將依照這兩大分類,分別介紹常見的動態(tài)網頁技術。用戶端動態(tài)網頁技術下面是目前常見的用戶端動態(tài)網頁技術:JavaAppletJavaScriptVBScriptActionScriptAjaxJavaAppletJavaApplet是以Sun
公司設計的Java語言撰寫程式,編譯成Javabytecode之後,從伺服器送至用戶端,然後由瀏覽器外掛的JVM(JavaVirtualMachine)執(zhí)行,是Java推出初期最受重視的應用。JavaScript雖然JavaScript的名字以“Java”起頭,但其實與Sun
公司的Java語言沒有關係。JavaScript是Netscape
公司所開發(fā)的直譯式Script語言,可用來控制網頁上的元件,產生各種效果。JavaScript的程式碼通常內嵌於網頁中,瀏覽器若支援JavaScript,收到網頁後便會執(zhí)行網頁內的JavaScript程式;除了內嵌程式碼外,設計者也可在網頁內指定執(zhí)行位於特定網址的JavaScript檔案。JavaScriptJavaScriptJavaScript廣被運用,所以幾乎各瀏覽器都可支援JavaScript,不過微軟所實作的JavaScript稱為JScript。此外,因為Netscape
公司將JavaScript提交給EcmaInternational組織制訂為統(tǒng)一的標準,所以亦被稱為ECMAScript。VBScriptVBScript是微軟公司開發(fā)的直譯式Script語言,全名為VisualBasicScript,可以視為VisualBasic語言的簡化版本。VBScript應用於網頁時,其功能與執(zhí)行方式與JavaScript相同,但是目前只被IE瀏覽器支援,使用者較少。ActionScriptFlash是目前相當常用的動畫技術,為了讓Flash動畫具有和使用者互動的能力,Macromedia
公司特別開發(fā)出ActionScript程式語言,可以用來控制動畫播放、移動或改變動畫內的元件...等。ActionScript程式通常會包含在FlashSWF動畫內,從伺服器傳送到用戶端之後,再由瀏覽器外掛的Flash播放器內的AVM(ActionScriptVirtualMachine)執(zhí)行。AjaxAjax(AsynchronousJavaScriptAndXML)並非單一程式語言,而是許多技術集合而成,其中最重要的主角為JavaScript。瀏覽器載入使用Ajax技術的網頁後,網頁內的JavaScript會以XML為資料格式,藉由HTTP連線與伺服器端以XML格式交換資料,然後將結果顯示於用戶端。Ajax一般網頁程式執(zhí)行時,用戶端將資料送出後,必須等待伺服器回傳『整個』網頁的內容,所以會有明顯的重新載入網頁的動作。若使用Ajax技術,因為網頁與伺服器間只需交換必要的資料,不必重新傳送HTML、圖片...等內容,所以用戶端會感受到較為順暢的執(zhí)行效率。伺服器端動態(tài)網頁技術以下為目前常見的伺服器端動態(tài)網頁技術:CGIPHPASPASP.NETJSP/JavaServletCGICGI(CommonGatewayInterface)為美國國家超級電腦應用中心(NCSA)所開發(fā)的技術,是一個讓WWW伺服器可與外部程式溝通的介面,透過其居間傳遞資料,讓用戶端與遠端伺服器主機上的程式可以互相溝通:CGI當用戶端透過網路傳送資料給伺服器時,伺服器會再將資料轉送給主機上的程式,程式進行處理後,則以相反的流程送出網頁給用戶端。因為CGI只是一種介面規(guī)格,所以只要符合該規(guī)格且可在主機使用的程式,都可以用來做為CGI程式。常被用來撰寫CGI程式的語言有C、Perl、Python等,其中Perl因具備強大的文字處理能力而最受歡迎。CGICGI是早期製作伺服器端動態(tài)網頁最常用的技術,但是因為執(zhí)行效率通常比不上後起之秀的PHP、ASP...等,所以目前較少被使用。PHPPHP(PHP:HypertextPreprocessor)是一種運作於伺服器上的直譯式Script語言。其程式碼與JavaScript類似,皆須內嵌於網頁中,但不同於JavaScript需將程式碼送給瀏覽器執(zhí)行,PHP則是在網頁被送出前,先被伺服器執(zhí)行。PHPPHPPHP是目前開放原始碼系統(tǒng)中最常被使用的伺服器端動態(tài)網頁技術,許多人將Linux、Apache、MySQL、PHP的組合稱為LAMP。不過除了Linux與Apache以外,PHP也可於Windows的IIS以及其他網頁伺服器上面執(zhí)行。ASPASP(ActiveServerPages)是微軟公司開發(fā)的動態(tài)網頁程式平臺,此平臺提供許多網頁程式設計所需的物件與控制項,設計者可以選擇各種語言(例如:VBScript、JScript、PerlScript...等直譯式Script語言)來撰寫程式,然後在程式中使用這些方便的物件與控制項來產生網頁與各種效果。ASPASP的運作方式與PHP類似,程式碼必須內嵌在網頁內,由ASP引擎執(zhí)行程式並提供各種物件的支援,然後生成網頁後,才交由伺服器傳送至用戶端。ASP.NETASP.NET雖然從名稱上來看是改良自ASP,但是ASP.NET可說是完全重新打造的新產品,其建構於.NET架構上,可使用.NET所支援的語言(VisualBasic、C#...等)來開發(fā)程式,並且提供了更多物件與控制項。撰寫程式時,除了內嵌於網頁外,也可以將程式碼放置於獨立檔案。此外,ASP.NET網頁採編譯的方式,所以執(zhí)行效率遠比PHP或ASP等直譯網頁程式來得快,本章隨後會再詳細說明.NET與ASP.NET的架構。JSP/JavaServletJSP(JavaServerPages)與JavaServlet是Sun
公司所開發(fā)的技術,使用Java語言撰寫網頁程式。JSP提供類似PHP的方式,可以讓程式碼內嵌於網頁中,而JavaServlet則是放置於伺服器上面的Java程式。類似瀏覽器外掛JVM之後執(zhí)行JavaApplet,WWW伺服器可以加裝ServletContainer,即可執(zhí)行JSP網頁或是JavaServlet程式。JSP/JavaServlet1-3.NET的基礎知識.NET架構ASP.NET的執(zhí)行流程.NET架構隨著電腦日益發(fā)展,軟體的複雜度與日遽增,加上物件導向發(fā)展逐漸成熟,所以目前軟體開發(fā)已經不像從前一樣,整個軟體完全由一個人或一個團隊撰寫,而是類似硬體IC,運用現(xiàn)有的軟體元件或機制開發(fā)出所需的功能。.NET架構.NET便是微軟公司所發(fā)展的一種程式開發(fā)與執(zhí)行的架構,在這個架構下,桌面、網頁、行動裝置...等應用程式都具有各種方便使用的元件與開發(fā)機制,可以讓程式設計者更快速地發(fā)展各種軟體。下面是.NET架構的示意圖:.NET架構.NET架構前頁圖中的第一層可以看到,目前.NET支援C++、C#、J#、VisualBasic等語言,不論以哪一種語言開發(fā)程式,都可以使用.NET內的元件與機制。而且因為各語言都使用相同的資料型別,所以彼此之間可以輕易的互相呼叫與溝通。.NET架構第二層便是前面所述的各種開發(fā)機制,例如ASP.NET便是專門用來發(fā)展網頁應用程式,WindowsForms主要針對桌面應用程式,ADO.NET則是各種資料庫的存取機制。至於第三層的.NETFramework類別庫包括了程式執(zhí)行時所需的元件。而第四層的CLR提供了.NET程式執(zhí)行的環(huán)境。所以第二到第四層統(tǒng)稱為.NETFramework,也就是.NET所有元件與開發(fā)機制的總集合。.NET程式的執(zhí)行方式傳統(tǒng)程式可分為直譯式與編譯式的執(zhí)行方式,直譯式雖然方便,但是每次執(zhí)行時都必須重新轉譯,導致執(zhí)行效率較差。編譯式會將程式轉譯為二進位的機器碼,執(zhí)行效率較高,但是因為不同電腦的機器語言有所差異,所以程式拿到其他平臺時必須重新編譯才能執(zhí)行。.NET程式的執(zhí)行方式為了解決上述問題,.NET採用了混合式的作法,.NET原始程式會編譯為二進位的中間碼(MSIL,MicrosoftIntermediateLanguage),然後透過CLR(CommonLanguageRuntime)執(zhí)行。執(zhí)行時,CLR會先從.NETFramework類別庫中載入必要的元件,將中間碼與元件結合後編譯為機器碼執(zhí)行。.NET程式的執(zhí)行方式.NET程式的執(zhí)行方式所以在.NET下,程式執(zhí)行方式與傳統(tǒng)的差異如下:.NET程式的執(zhí)行方式從上面可以看到,.NET程式編譯為中間碼之後,在具備CLR的環(huán)境下即可執(zhí)行,亦即只要移植CLR到需要的平臺,.NET程式便可直接跨平臺運作。突破了傳統(tǒng)編譯式無法跨平臺的缺點,也可以避免傳統(tǒng)直譯式效率不彰的問題。.NET程式的執(zhí)行方式雖然與傳統(tǒng)程式相較之下,執(zhí)行.NET程式時中間多了CLR,但是.NET具有良好的快取機制,所以除了第一次執(zhí)行時可能稍慢之外,其他情形下執(zhí)行速度並不會受到太大的影響。.NET的優(yōu)點.NET基於其架構與設計,具備了以下優(yōu)點:支援多種程式語言跨平臺的可能性應用程式可輕易支援.NET製作網路服務的能力支援多種程式語言.NET是一個架構,而非單一程式語言,亦即只要程式語言符合.NET架構的規(guī)範,就能夠在.NET中使用。而且因為各語言符合統(tǒng)一規(guī)範,所以彼此可互相呼叫與溝通。所以在.NET中,程式設計者可以自由選擇熟悉的語言進行開發(fā),而且還可輕鬆與使用其他語言的設計者互相配合??缙脚_的可能性因為使用中間碼的設計,只要移植CLR,.NET程式就可以直接在各平臺執(zhí)行。雖然目前微軟只有提供Windows平臺的CLR,但是開放原始碼社群已經開發(fā)了Mono專案,可以在Linux系統(tǒng)上執(zhí)行.NET程式。應用程式可輕易支援.NET應用程式只要可以整合系統(tǒng)上的CLR,就能使用.NET為本身程式開發(fā)額外功能。例如SQLServer2005整合了CLR之後,可以使用.NET撰寫資料庫的預存程序、自訂函數與觸發(fā)程序...等,不再受限只能使用T-SQL。製作網路服務的能力.NET以網路為其名稱,對於網路服務的製作能力自然不可缺少。在.NET中不論使用哪一種程式語言,都可以輕鬆地開發(fā)WebServices。對於已有的.NET程式,也可以很簡單地為其加上WebServices的功能。ASP.NET的執(zhí)行流程ASP.NET開發(fā)網站時,可以使用任何一種.NET所支援的語言撰寫網頁程式。當用戶端連線ASP.NET網頁時,其執(zhí)行的流程如下:ASP.NET的執(zhí)行流程ASP.NET的執(zhí)行流程當ASP.NET網頁第一次被連線時,因為需要編譯為中間碼,所以使用者可能會覺得速度稍遲緩。不過在編譯完成後,之後其他用戶端連線時,便可以直接執(zhí)行,速度會立刻提升,比起直譯式的網頁程式(如ASP、PHP)快上不少。ASP.NET的執(zhí)行流程因為ASP.NET架構於.NET上,所以ASP.NET程式可以使用.NETFramework類別函式庫中各式各樣方便的元件,這些元件功能強大而且使用方便。除了這些元件外,ASP.NET更提供了許多控制項與機制,包含資料驗證、帳號管理、會員資料、網站地圖...等,可以加快網站的開發(fā)速度。1-4VisualStudio2005與VWD開發(fā)工具最傳統(tǒng)的程式設計方式是使用文書編輯工具輸入程式原始碼,存檔後將原始碼檔交由編譯程式轉換為執(zhí)行檔,然後進行測試,發(fā)現(xiàn)問題時則回到文書編輯工具修改原始碼,然後重新編譯、執(zhí)行、測試。上面?zhèn)鹘y(tǒng)的程序不可不謂繁瑣,所以為了加快開發(fā)速度,便出現(xiàn)了IDE(IntegratedDevelopmentEnvironment)將上面程序整合進單一軟體。VisualStudio2005與VWD開發(fā)工具而後各廠商更加入了Framework,讓許多功能都可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 檸檬酸微生物菌種工崗前安全宣貫考核試卷含答案
- 圖案打樣工安全素養(yǎng)強化考核試卷含答案
- 松香工崗前面試考核試卷含答案
- 重冶萃取工誠信道德測試考核試卷含答案
- 腈綸回收操作工崗前決策判斷考核試卷含答案
- 氣體分餾裝置操作工崗前規(guī)章考核試卷含答案
- 2024年漢江師范學院輔導員考試參考題庫附答案
- 電梯裝配調試工班組管理測試考核試卷含答案
- 2024年西昌學院輔導員考試參考題庫附答案
- 2024年蚌埠城市軌道交通職業(yè)學院輔導員考試參考題庫附答案
- 錫圓電子科技有限公司高端半導體封測項目環(huán)評資料環(huán)境影響
- GB/T 45356-2025無壓埋地排污、排水用聚丙烯(PP)管道系統(tǒng)
- 2025既有建筑改造利用消防設計審查指南
- 籃球場工程施工設計方案
- (市質檢二檢)福州市2024-2025學年高三年級第二次質量檢測 歷史試卷(含答案)
- 《外科手術學基礎》課件
- 化學-湖南省永州市2024-2025學年高二上學期1月期末試題和答案
- 2025年貴安發(fā)展集團有限公司招聘筆試參考題庫含答案解析
- DB33T 1214-2020 建筑裝飾裝修工程施工質量驗收檢查用表標準
- 高考語文復習【知識精研】鑒賞古代詩歌抒情方式 課件
- 春運志愿者培訓
評論
0/150
提交評論