- Java Web應(yīng)用開(kāi)發(fā)項(xiàng)目教程
- 聶明編著
- 5860字
- 2018-12-30 08:42:53
1.2 Web應(yīng)用
1.2.1 Web應(yīng)用基礎(chǔ)
從軟件工程學(xué)來(lái)看,Web應(yīng)用是在Internet或Intranet通過(guò)Web瀏覽器訪問(wèn)的應(yīng)用,也可以說(shuō)是由Web瀏覽器支持的語(yǔ)言(如HTML,JavaScript,Java等)開(kāi)發(fā)的應(yīng)用程序,這些程序運(yùn)行在Web服務(wù)器上,可供瀏覽器訪問(wèn)。
Web應(yīng)用程序一般是B/S模式,是典型的瀏覽器/服務(wù)器結(jié)構(gòu)的產(chǎn)物。Web應(yīng)用程序首先是“應(yīng)用程序”,和用標(biāo)準(zhǔn)的程序語(yǔ)言如C、C++等編寫(xiě)出來(lái)的程序沒(méi)有本質(zhì)上的不同。然而Web應(yīng)用程序又有自己獨(dú)特的地方,就是它是基于Web的,而不是采用傳統(tǒng)方法運(yùn)行的。
對(duì)于Web應(yīng)用,我們需要使用Web瀏覽器,通過(guò)網(wǎng)絡(luò)訪問(wèn)在遠(yuǎn)程服務(wù)器上運(yùn)行的程序。通過(guò)瀏覽器可以訪問(wèn)新浪網(wǎng)、淘寶網(wǎng)、谷歌、微軟及Sun公司的網(wǎng)站,事實(shí)上這些網(wǎng)站中運(yùn)行的程序就是一個(gè)Web應(yīng)用程序。在上網(wǎng)時(shí)對(duì)這些網(wǎng)站的訪問(wèn),也就由這些應(yīng)用來(lái)實(shí)現(xiàn)的,上網(wǎng)的過(guò)程如下:
打開(kāi)瀏覽器,輸入網(wǎng)址或單擊鏈接,網(wǎng)站經(jīng)過(guò)一段時(shí)間的處理將網(wǎng)頁(yè)內(nèi)容顯示在瀏覽器上。然后可以在網(wǎng)頁(yè)上繼續(xù)進(jìn)行其他操作,可能在網(wǎng)頁(yè)上單擊超鏈接訪問(wèn)時(shí),等待瀏覽器中內(nèi)容的更新,或者在網(wǎng)頁(yè)上輸入一些信息,然后單擊網(wǎng)頁(yè)上的按鈕、圖片等元素,等待瀏覽器中內(nèi)容的再次更新。
不管是在地址欄輸入地址,還是單擊超鏈接或者單擊按鈕,都需要等待瀏覽器中內(nèi)容的更新。等待瀏覽器內(nèi)容更新的過(guò)程,實(shí)際上是瀏覽器訪問(wèn)Web應(yīng)用的過(guò)程。這個(gè)過(guò)程是使用統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Locator,URL)請(qǐng)求Web應(yīng)用中的某個(gè)文件,請(qǐng)求及響應(yīng)的工作過(guò)程如下:
(1)瀏覽器根據(jù)輸入的URL找到相應(yīng)的服務(wù)器,不同的網(wǎng)站會(huì)部署在不同的服務(wù)器上。這個(gè)服務(wù)器可以接收瀏覽器發(fā)送的請(qǐng)求,通常稱為Web服務(wù)器。
(2)Web服務(wù)器將請(qǐng)求交給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器上運(yùn)行著由若干不同的文件構(gòu)成的Web應(yīng)用。
(3)應(yīng)用服務(wù)器接收到請(qǐng)求之后分析這個(gè)請(qǐng)求,判斷該請(qǐng)求的文件是否需要處理,若需要處理,將文件直接返回給瀏覽器,否則,啟動(dòng)相應(yīng)的處理程序加載并執(zhí)行這個(gè)文件。執(zhí)行的結(jié)果通常是HTML文檔。
(4)應(yīng)用服務(wù)器執(zhí)行完相應(yīng)的文件之后,把執(zhí)行的結(jié)果返回給Web服務(wù)器,Web服務(wù)器再把這個(gè)結(jié)果返回給瀏覽器。
(5)瀏覽器解析HTML文檔,然后把解析后的網(wǎng)頁(yè)顯示給用戶。
提示:Web服務(wù)器、應(yīng)用服務(wù)器是Web應(yīng)用中服務(wù)器端程序運(yùn)行的容器,一般使用目前成熟的產(chǎn)品,不需要Web應(yīng)用程序員開(kāi)發(fā)。
至此,可以簡(jiǎn)單地說(shuō),Web應(yīng)用就是一個(gè)網(wǎng)站,網(wǎng)站由大量的頁(yè)面組成,每個(gè)頁(yè)面通常是由一個(gè)或者多個(gè)文件組成。組成網(wǎng)站的大量文件之間通過(guò)特定的方式進(jìn)行組織,并且由一個(gè)系統(tǒng)來(lái)管理這些文件。管理這些文件的系統(tǒng)通常稱為應(yīng)用服務(wù)器,它的主要作用就是管理網(wǎng)站的文件。網(wǎng)站的文件通常由以下幾種類型。
(1)網(wǎng)頁(yè)文件:主要是提供用戶訪問(wèn)的頁(yè)面,包括靜態(tài)的和動(dòng)態(tài)的網(wǎng)頁(yè),這是網(wǎng)站中最重要的部分,如.html、.jsp等;
(2)網(wǎng)頁(yè)的格式文件:可以控制網(wǎng)頁(yè)信息顯示的格式、樣式,如.css等;
(3)資源文件:網(wǎng)頁(yè)中用到的文字、圖形、聲音、動(dòng)畫(huà)、資料庫(kù),以及各式各樣的軟件;
(4)配置文件:用于聲明網(wǎng)頁(yè)的相關(guān)信息、網(wǎng)頁(yè)之間的關(guān)系,以及對(duì)所在運(yùn)行環(huán)境的要求等;
(5)處理文件:用于對(duì)用戶的請(qǐng)求進(jìn)行處理,如供網(wǎng)頁(yè)調(diào)用、讀/寫(xiě)文件或訪問(wèn)數(shù)據(jù)庫(kù)等。
1.2.2 靜態(tài)網(wǎng)頁(yè)
靜態(tài)網(wǎng)頁(yè)是相對(duì)于動(dòng)態(tài)網(wǎng)頁(yè)而言,是指沒(méi)有后臺(tái)數(shù)據(jù)庫(kù)、不含程序和不可交互的網(wǎng)頁(yè)。網(wǎng)頁(yè)的內(nèi)容是固定的,不會(huì)根據(jù)瀏覽者的不同需求而改變。靜態(tài)網(wǎng)頁(yè)更新起來(lái)相對(duì)比較麻煩,適用于一般更新較少的展示型網(wǎng)站。早期的網(wǎng)站一般都是由靜態(tài)網(wǎng)頁(yè)制作的,通常以.htm、.html、.shtml、.xml等為文件擴(kuò)展名。靜態(tài)網(wǎng)頁(yè)的網(wǎng)址形式通常為:http:/www.163.com/index.html。在HTML格式的網(wǎng)頁(yè)上,也可以出現(xiàn)各種“動(dòng)態(tài)效果”,如GIF格式的動(dòng)畫(huà)、Flash、滾動(dòng)字符等,但這些“動(dòng)態(tài)效果”只是視覺(jué)上的,與下面將要介紹的動(dòng)態(tài)網(wǎng)頁(yè)是不同的概念。
靜態(tài)網(wǎng)頁(yè)的特點(diǎn)簡(jiǎn)要?dú)w納如下:
(1)靜態(tài)網(wǎng)頁(yè)的每個(gè)網(wǎng)頁(yè)都有一個(gè)固定的URL,且網(wǎng)頁(yè)URL以.htm、.html、.shtml等常見(jiàn)形式為后綴;
(2)網(wǎng)頁(yè)內(nèi)容一經(jīng)發(fā)布到網(wǎng)站服務(wù)器上,無(wú)論是否有用戶訪問(wèn),每個(gè)靜態(tài)網(wǎng)頁(yè)的內(nèi)容都是保存在網(wǎng)站服務(wù)器上的,也就是說(shuō),靜態(tài)網(wǎng)頁(yè)是實(shí)實(shí)在在保存在服務(wù)器上的文件,每個(gè)網(wǎng)頁(yè)都是一個(gè)獨(dú)立的文件;
(3)靜態(tài)網(wǎng)頁(yè)的內(nèi)容相對(duì)穩(wěn)定,因此容易被搜索引擎檢索;
(4)靜態(tài)網(wǎng)頁(yè)沒(méi)有數(shù)據(jù)庫(kù)的支持,在網(wǎng)站制作和維護(hù)方面工作量較大,因此當(dāng)網(wǎng)站信息量很大時(shí),完全依靠靜態(tài)網(wǎng)頁(yè)制作方式比較困難;
(5)靜態(tài)網(wǎng)頁(yè)的交互性較差,在功能方面有較大的限制。
靜態(tài)網(wǎng)頁(yè)的設(shè)計(jì)和開(kāi)發(fā)相對(duì)要簡(jiǎn)單一些,但采用靜態(tài)網(wǎng)頁(yè)會(huì)導(dǎo)致很大的局限性,由于HTML頁(yè)面構(gòu)成的Web應(yīng)用程序的內(nèi)容是靜止的,不會(huì)對(duì)用戶的動(dòng)作做出動(dòng)態(tài)響應(yīng)。
1.2.3 動(dòng)態(tài)網(wǎng)頁(yè)
動(dòng)態(tài)網(wǎng)頁(yè)是與靜態(tài)網(wǎng)頁(yè)相對(duì)應(yīng)的,與網(wǎng)頁(yè)上的各種動(dòng)畫(huà)、滾動(dòng)字幕等視覺(jué)上的“動(dòng)態(tài)效果”沒(méi)有直接關(guān)系,動(dòng)態(tài)網(wǎng)頁(yè)也可以是純文字內(nèi)容的,也可以是包含各種動(dòng)畫(huà)的內(nèi)容,這些只是網(wǎng)頁(yè)具體內(nèi)容的表現(xiàn)形式,無(wú)論網(wǎng)頁(yè)是否具有動(dòng)態(tài)效果,采用動(dòng)態(tài)網(wǎng)站技術(shù)生成的網(wǎng)頁(yè)都稱為動(dòng)態(tài)網(wǎng)頁(yè)。
動(dòng)態(tài)網(wǎng)頁(yè)是指在接到用戶訪問(wèn)要求后動(dòng)態(tài)生成的頁(yè)面,頁(yè)面內(nèi)容會(huì)隨著訪問(wèn)時(shí)間和請(qǐng)求信息的不同而發(fā)生變化。動(dòng)態(tài)網(wǎng)頁(yè)是在服務(wù)器端運(yùn)行的程序、網(wǎng)頁(yè)、組件,屬于動(dòng)態(tài)性的,即使是訪問(wèn)同一個(gè)網(wǎng)頁(yè),也會(huì)隨不同客戶、不同時(shí)間,返回不同內(nèi)容的網(wǎng)頁(yè)。動(dòng)態(tài)網(wǎng)頁(yè)的URL的擴(kuò)展名不是.htm、.html、.shtml、.xml等靜態(tài)網(wǎng)頁(yè)的常見(jiàn)形式,而是以.asp、.jsp、.php、.perl、.cgi等形式為擴(kuò)展名。并且在動(dòng)態(tài)網(wǎng)頁(yè)的網(wǎng)址中有一個(gè)標(biāo)志性的符號(hào)——“?”,如一個(gè)典型的動(dòng)態(tài)網(wǎng)頁(yè)URL形式:http://www.Webhome.com/ index.jsp?id=1。
動(dòng)態(tài)網(wǎng)頁(yè)有如下特點(diǎn):
(1)動(dòng)態(tài)網(wǎng)頁(yè)以數(shù)據(jù)庫(kù)技術(shù)為基礎(chǔ),網(wǎng)頁(yè)內(nèi)容是動(dòng)態(tài)生成的,可以大大降低網(wǎng)站維護(hù)的工作量。
(2)采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的網(wǎng)站可以實(shí)現(xiàn)更多的功能,如用戶注冊(cè)、用戶登錄、在線信息管理、控制等。
(3)動(dòng)態(tài)網(wǎng)頁(yè)實(shí)際上并不是獨(dú)立存在于服務(wù)器上的網(wǎng)頁(yè)文件,只有當(dāng)用戶請(qǐng)求這個(gè)網(wǎng)頁(yè)時(shí)服務(wù)器才返回一個(gè)完整的網(wǎng)頁(yè)。
靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)各有特點(diǎn),網(wǎng)站采用動(dòng)態(tài)網(wǎng)頁(yè)還是靜態(tài)網(wǎng)頁(yè)主要取決于網(wǎng)站的功能需求和網(wǎng)站內(nèi)容的多少。如果網(wǎng)站功能比較簡(jiǎn)單,內(nèi)容更新量不是很大,采用純靜態(tài)網(wǎng)頁(yè)的方式會(huì)更簡(jiǎn)單,反之一般要采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)來(lái)實(shí)現(xiàn)。靜態(tài)網(wǎng)頁(yè)是網(wǎng)站建設(shè)的基礎(chǔ),靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)之間也并不矛盾,為了網(wǎng)站適應(yīng)搜索引擎檢索的需要和加快頁(yè)面的訪問(wèn)速度,即使采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),也可以將網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)化為靜態(tài)網(wǎng)頁(yè)發(fā)布。
動(dòng)態(tài)網(wǎng)站也可以采用靜動(dòng)結(jié)合的原則,適合采用動(dòng)態(tài)網(wǎng)頁(yè)的地方采用動(dòng)態(tài)網(wǎng)頁(yè),如果有必要使用靜態(tài)網(wǎng)頁(yè),則可以考慮用靜態(tài)網(wǎng)頁(yè)的方法來(lái)實(shí)現(xiàn)。在同一個(gè)網(wǎng)站上,動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容和靜態(tài)網(wǎng)頁(yè)內(nèi)容同時(shí)存在也是很常見(jiàn)的。
1.2.4 Web應(yīng)用運(yùn)行環(huán)境
Web應(yīng)用是運(yùn)行在服務(wù)器上,客戶端通過(guò)網(wǎng)絡(luò)與服務(wù)器相連接,并使用瀏覽器訪問(wèn)Web應(yīng)用。因而Web應(yīng)用的運(yùn)行需要涉及客戶端環(huán)境、服務(wù)器端環(huán)境和網(wǎng)絡(luò)環(huán)境。
1.客戶端環(huán)境
Web應(yīng)用的用戶通常分布在不同的地方,要訪問(wèn)Web應(yīng)用需要客戶端安裝相應(yīng)的程序,Web應(yīng)用的客戶端程序通常稱為瀏覽器。現(xiàn)在流行的瀏覽器包括微軟的IE瀏覽器、Netscape的Navigator瀏覽器和Mozilla的FireFox瀏覽器等。
瀏覽器的主要功能如下:
(1)用戶可以通過(guò)在瀏覽器的地址欄中輸入地址向服務(wù)器發(fā)送請(qǐng)求。
(2)建立與服務(wù)器的連接,接收從服務(wù)器傳遞回來(lái)的信息。
(3)把用戶在客戶端輸入的信息提交到服務(wù)器。
(4)解析并顯示從服務(wù)器返回的內(nèi)容。
2.服務(wù)器端環(huán)境
服務(wù)器端程序用于接收客戶端發(fā)送的請(qǐng)求,根據(jù)請(qǐng)求選擇服務(wù)器上的資源對(duì)用戶響應(yīng),并管理服務(wù)器上的程序。通常包括兩部分:一部分主要與客戶端進(jìn)行交互,接收用戶請(qǐng)求信息并對(duì)用戶響應(yīng),發(fā)送網(wǎng)頁(yè);另一部分是管理服務(wù)器上的Web應(yīng)用。前者通常稱為Web服務(wù)器,后者通常稱為應(yīng)用服務(wù)器。比較著名的Web服務(wù)器有微軟的IIS服務(wù)器和Apache基金會(huì)的Apache服務(wù)器。對(duì)于使用不同語(yǔ)言編寫(xiě)的Web應(yīng)用來(lái)說(shuō),應(yīng)用服務(wù)器是不同的,同一種語(yǔ)言編寫(xiě)的多個(gè)Web應(yīng)用可以使用同一個(gè)應(yīng)用服務(wù)器。為了管理Web應(yīng)用中的數(shù)據(jù),大部分網(wǎng)站在服務(wù)器環(huán)境中還需要數(shù)據(jù)庫(kù)服務(wù)器。
3.網(wǎng)絡(luò)環(huán)境
Web應(yīng)用必須有網(wǎng)絡(luò)的支持,用戶通過(guò)客戶端瀏覽器訪問(wèn),客戶端和服務(wù)器之間必須有網(wǎng)絡(luò)連接。
提示:在學(xué)習(xí)過(guò)程中如果只使用一臺(tái)計(jì)算機(jī)來(lái)開(kāi)發(fā)和運(yùn)行Web應(yīng)用,這臺(tái)計(jì)算機(jī)既作為服務(wù)器又作為客戶端來(lái)使用,這臺(tái)機(jī)器在邏輯上分為兩臺(tái)計(jì)算機(jī),這時(shí)可以不使用網(wǎng)絡(luò)。
1.2.5 Web應(yīng)用技術(shù)
Web瀏覽器現(xiàn)已成為深受大多數(shù)用戶喜愛(ài)的用戶界面。雖然與傳統(tǒng)的GUI界面相比有一定的差距,但它提供了一種獨(dú)立而又簡(jiǎn)單的方法來(lái)訪問(wèn)分布式資源,尤其是Internet資源。而且越來(lái)越多的客戶端Web程序擴(kuò)展技術(shù)變得更加成熟,出現(xiàn)了包括CSS、JavaScript、VBScript、動(dòng)態(tài)HTML、Java Applet應(yīng)用等技術(shù)在內(nèi)的客戶端Web程序設(shè)計(jì)技術(shù)。
1.HTTP協(xié)議
Internet的基本協(xié)議是TCP/IP協(xié)議,然而在TCP/IP模型最上層的是應(yīng)用層(Application Layer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FTP、電子郵件傳輸協(xié)議SMTP、域名服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP和HTTP協(xié)議等。HTTP協(xié)議是Web應(yīng)用最基礎(chǔ)的協(xié)議,對(duì)HTTP協(xié)議細(xì)節(jié)的理解是編寫(xiě)Web應(yīng)用程序的開(kāi)發(fā)人員所必須要掌握的。
HTTP協(xié)議(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計(jì)算機(jī)正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是為什么在瀏覽器中看到的網(wǎng)頁(yè)地址多以http://開(kāi)頭的原因。
在學(xué)習(xí)Web程序設(shè)計(jì)技術(shù)之前有必要理解HTTP操作的工作過(guò)程,一次HTTP操作稱為一個(gè)請(qǐng)求和響應(yīng)過(guò)程,大體可分為以下4步:
(1)客戶機(jī)與服務(wù)器需要建立連接。只要在客戶機(jī)上單擊某個(gè)超級(jí)鏈接,HTTP的工作就開(kāi)始了。
(2)建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號(hào),后邊是MIME信息,包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容。
(3)服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是MIME信息,包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。
(4)客戶端接收服務(wù)器所返回的信息通過(guò)瀏覽器顯示在用戶的顯示屏上,客戶機(jī)與服務(wù)器斷開(kāi)連接。
其中,MIME(Multipurpose Internet Mail Extensions)多功能Internet郵件擴(kuò)充服務(wù),是一種多用途網(wǎng)際郵件擴(kuò)充協(xié)議,在1992年最早應(yīng)用于電子郵件系統(tǒng),但后來(lái)也應(yīng)用到瀏覽器。服務(wù)器會(huì)將它們發(fā)送的多媒體數(shù)據(jù)的類型告訴瀏覽器,而使用的方法就是說(shuō)明該多媒體數(shù)據(jù)的MIME類型,即通過(guò)將MIME標(biāo)識(shí)符放入傳送的數(shù)據(jù)中來(lái)告訴瀏覽器文件類型,常用的MIME類型及所代表的媒體類型的文件擴(kuò)展名如表1.1所示。
表1.1 MIME類型及所代表的媒體類型的文件擴(kuò)展名

提示:訪問(wèn)一個(gè)網(wǎng)頁(yè)構(gòu)成了一次請(qǐng)求及相應(yīng)的過(guò)程,但客戶端每次訪問(wèn)某個(gè)網(wǎng)站時(shí)與服務(wù)器的交互可能涉及一個(gè)或多個(gè)請(qǐng)求和響應(yīng)的過(guò)程。
2.動(dòng)態(tài)HTML
動(dòng)態(tài)HTML(DHTML)支持JavaScript和Java等多項(xiàng)技術(shù),但其重要的特性是層疊樣式表(Cascading Style Sheets,CSS)。動(dòng)態(tài)HTML(DHTML)文檔對(duì)象模型(Document Object Model,DOM)使網(wǎng)頁(yè)制作者可以直接以可編程的方式訪問(wèn)Web文檔上每個(gè)獨(dú)立的部分,而不論被訪問(wèn)的是元素還是容器。這種訪問(wèn)方式包括了事件模型。事件模型使瀏覽器可對(duì)用戶輸入做出反應(yīng),通過(guò)執(zhí)行腳本,無(wú)須從服務(wù)器下載一個(gè)新的頁(yè)面就可以根據(jù)用戶輸入顯示新的內(nèi)容。動(dòng)態(tài)HTML文檔對(duì)象模型(DHTML DOM)以一種便捷的方式為廣大普通網(wǎng)頁(yè)制作者提供了豐富的網(wǎng)頁(yè)交互性。
3.CSS
CSS是動(dòng)態(tài)HTML技術(shù)的一個(gè)部分,可以和HTML結(jié)合使用。CSS簡(jiǎn)潔的語(yǔ)法可以容易地控制HTML標(biāo)記,最大的特點(diǎn)是可以幫助頁(yè)面開(kāi)發(fā)人員將顯示元素從內(nèi)容(HTML)與格式分開(kāi)處理(以.css為后綴存儲(chǔ)成一個(gè)獨(dú)立的文件)。CSS利用各種樣式來(lái)支持顏色、字體規(guī)范、顯示圖層和頁(yè)邊空白這樣的頁(yè)面元素特征,輔助開(kāi)發(fā)HTML網(wǎng)頁(yè)。例如,統(tǒng)一頁(yè)面的布局和頁(yè)面元素控制就可以使用CSS,易于網(wǎng)頁(yè)的維護(hù)和改版。
4.JavaScript
JavaScript是用于瀏覽器的第一種具有通用目的、動(dòng)態(tài)的客戶端腳本語(yǔ)言。Netscape于1995年首先提出了JavaScript,但當(dāng)時(shí)將其稱為L(zhǎng)iveScript。后來(lái)Netscape迅速地將LiveScript改名為JavaScript。一個(gè)JavaScript程序其實(shí)是一個(gè)文檔,一個(gè)文本文件。它是嵌入到HTML文檔中的。所以,任何可以編寫(xiě)HTML文檔的軟件都可以用來(lái)開(kāi)發(fā)JavaScript。常用的網(wǎng)頁(yè)開(kāi)發(fā)工具都能編輯JavaScript。
JavaScript就是適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言,如今越來(lái)越廣泛地使用于Internet網(wǎng)頁(yè)制作上。JavaScript是一種腳本語(yǔ)言(Scripting Language),或者稱為描述語(yǔ)言。在HTML基礎(chǔ)上,使用JavaScript可以開(kāi)發(fā)交互式Web網(wǎng)頁(yè)。JavaScript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。運(yùn)用JavaScript編寫(xiě)的程序需要能支持JavaScript語(yǔ)言的瀏覽器。Netscape公司Navigator 3.0以上版本的瀏覽器都能支持JavaScript程序,微軟公司Internet Explorer 3.0以上版本的瀏覽器基本上支持JavaScript。另外,微軟公司自己開(kāi)發(fā)的JavaScript,稱為JScript。JavaScript和JScript基本上是相同的,只是在一些細(xì)節(jié)上有出入。JavaScript短小精悍,又是在客戶機(jī)上解釋和執(zhí)行的,大大提高了網(wǎng)頁(yè)的瀏覽速度和交互能力。同時(shí)它又是專門為制作Web網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言。
很多人看到Java和JavaScript都有“Java”,就以為它們是同一種語(yǔ)言,或者認(rèn)為是Java的不同版本。事實(shí)上,Java語(yǔ)言和JavaScript語(yǔ)言是相關(guān)的,但是它們的聯(lián)系并非那樣緊密。首先Java語(yǔ)言是Sun Microsystems公司的產(chǎn)品,而JavaScript是Netscape公司的產(chǎn)品。其次,它們?cè)诠δ苌弦灿行┎町悾篔ava在客戶端運(yùn)行的應(yīng)用程序叫做Java Applet,是嵌在網(wǎng)頁(yè)中,而又有自己獨(dú)立的運(yùn)行窗口的小程序。Java Applet是預(yù)先編譯好的一個(gè)二進(jìn)制文件(.class),不能直接使用Notepad等軟件打開(kāi)閱讀。Java Applet的功能很強(qiáng)大,可以訪問(wèn)http、ftp等協(xié)議,甚至可以在計(jì)算機(jī)上種植病毒。相比之下,JavaScript的能力就比較小。JavaScript是一種“腳本”(Script)程序,它直接把代碼寫(xiě)到HTML文檔中,瀏覽器讀取它們時(shí)才進(jìn)行編譯、執(zhí)行,所以能查看HTML源文件就能查看JavaScript源代碼。JavaScript沒(méi)有獨(dú)立的運(yùn)行窗口,瀏覽器當(dāng)前窗口就是它的運(yùn)行窗口。
5.VBScript
VBScript是Visual Basic Script的簡(jiǎn)稱,即Visual Basic腳本語(yǔ)言,有時(shí)也被縮寫(xiě)為VBS。是ASP動(dòng)態(tài)網(wǎng)頁(yè)默認(rèn)的編程語(yǔ)言,Microsoft在發(fā)布JScript的同時(shí),開(kāi)發(fā)了VBScript作為其Visual Basic程序設(shè)計(jì)語(yǔ)言的解釋子集,用于在Microsoft的Internet Explorer上編寫(xiě)動(dòng)態(tài)網(wǎng)頁(yè)腳本程序。像JavaScript一樣,VBScript需要在瀏覽器中要有解釋器支持。Microsoft將VBScript定位于JavaScript的一種變化形式,以供已經(jīng)掌握了Visual Basic的程序員使用。只有Microsoft的瀏覽器和Microsoft的Web服務(wù)器IIS(Internet Information Server,Internet信息服務(wù))才支持VBScript。
6.Java Applet(Java小應(yīng)用程序)
Java Applet就是用Java語(yǔ)言編寫(xiě)的一些小應(yīng)用程序,它們可以直接嵌入到網(wǎng)頁(yè)中,并能夠產(chǎn)生特殊的效果。當(dāng)用戶訪問(wèn)這樣的網(wǎng)頁(yè)時(shí),Applet被下載到用戶的計(jì)算機(jī)上執(zhí)行,但前提是用戶使用的是支持Java的網(wǎng)絡(luò)瀏覽器。由于Applet是在用戶的計(jì)算機(jī)上執(zhí)行的,因此它的執(zhí)行速度不受網(wǎng)絡(luò)帶寬的限制。
在Java Applet中,可以實(shí)現(xiàn)圖形繪制、字體和顏色控制、動(dòng)畫(huà)和聲音的插入、人-機(jī)交互及網(wǎng)絡(luò)交流等功能。Applet還提供了名為抽象窗口工具箱(Abstract Window Toolkit,AWT)的窗口環(huán)境開(kāi)發(fā)工具,但AWT的設(shè)計(jì)是存在缺陷的,取而代之的Swing技術(shù)為Java GUI編程提供了強(qiáng)大豐富的API和靈活的結(jié)構(gòu)設(shè)計(jì),并在AWT基礎(chǔ)上,提供了替代AWT重量組件的輕量組件。它們利用用戶計(jì)算機(jī)的GUI元素,可以建立標(biāo)準(zhǔn)的圖形用戶界面,如窗口、按鈕、滾動(dòng)條等。目前,在網(wǎng)絡(luò)上有非常多的Applet范例來(lái)生動(dòng)地展現(xiàn)這些功能,實(shí)現(xiàn)許多動(dòng)態(tài)的效果。
- 新編Visual Basic程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)教程
- Google Apps Script for Beginners
- Learn TypeScript 3 by Building Web Applications
- 國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽中山大學(xué)內(nèi)部選拔真題解(二)
- Ceph Cookbook
- 算法精粹:經(jīng)典計(jì)算機(jī)科學(xué)問(wèn)題的Python實(shí)現(xiàn)
- 云原生Spring實(shí)戰(zhàn)
- SAP BusinessObjects Dashboards 4.1 Cookbook
- Mastering Git
- Android項(xiàng)目實(shí)戰(zhàn):手機(jī)安全衛(wèi)士開(kāi)發(fā)案例解析
- Visual Basic 6.0程序設(shè)計(jì)實(shí)驗(yàn)教程
- HTML5+CSS3+JavaScript 從入門到項(xiàng)目實(shí)踐(超值版)
- Mastering ASP.NET Web API
- JavaScript設(shè)計(jì)模式與開(kāi)發(fā)實(shí)踐
- R語(yǔ)言與網(wǎng)站分析