版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第四章電子商務(wù)網(wǎng)站的開發(fā)技術(shù)
電子商務(wù)網(wǎng)站的開發(fā)技術(shù)所涉及的領(lǐng)域是極為廣泛的,例如,應(yīng)用服務(wù)器、網(wǎng)絡(luò)安全和管理、電子商務(wù)交易與支付、電子商務(wù)的認(rèn)證中心、電子商務(wù)商城等等。本章主要介紹電子商務(wù)網(wǎng)站開發(fā)的軟件技術(shù),包括:Web技術(shù)、流媒體技術(shù)、網(wǎng)頁開發(fā)技術(shù)、郵件列表技術(shù)等內(nèi)容。
通過本章的學(xué)習(xí),要求:
(1)掌握電子商務(wù)網(wǎng)站運(yùn)行的Web概念和技術(shù)。
(2)掌握流媒體概念和技術(shù)以及流媒體的應(yīng)用。
(3)了解網(wǎng)頁開發(fā)技術(shù)中的常用幾種技術(shù)的概念和使用方法。
(4)掌握郵件列表技術(shù)在電子商務(wù)網(wǎng)站中的應(yīng)用。
第一節(jié)Web和流媒體技術(shù)
一、Web的基本概念
WWW是一個全球性的通信系統(tǒng),也是世界上最大的電子信息倉庫。用戶通過瀏覽器就可以輕松地訪問世界各地的Web站點,獲取數(shù)以百萬計的信息資料。在WWW系統(tǒng)中,信息查詢與信息組織使用超文本。這種把全球范圍內(nèi)的信息組織在一起的超文本方法,是采用由指針聯(lián)結(jié)的超網(wǎng)狀結(jié)構(gòu),整個WWW系統(tǒng)就好像一個蜘蛛網(wǎng)。
WWW系統(tǒng)允許超文本指針?biāo)赶虻哪繕?biāo)信息源不僅限文本,而且可以是其他媒體,如圖像、聲音、音樂和視頻等等。這種超文本結(jié)構(gòu)與多媒體的結(jié)合體,被稱為“超媒體”(Hypermedia)。由于使用超媒體技術(shù),由WWW提供的信息變得十分豐富多彩。
目前,在WWW上出現(xiàn)了一種新興的網(wǎng)絡(luò)傳輸技術(shù),稱為流媒體(StreamingMedia),它在Intranet上實時順序地傳輸和播放視/音頻等多媒體內(nèi)容的連續(xù)時基數(shù)據(jù)流,流媒體技術(shù)包括流媒體數(shù)據(jù)采集、視/音頻編解碼、存儲、傳輸、播放等領(lǐng)域。
流媒體是一種可以使音頻、視頻、和其他多媒體在Intranet上以實時的、無需下載等待的方式進(jìn)行播放的技術(shù),被公認(rèn)為當(dāng)前網(wǎng)絡(luò)傳輸最佳的解決方案。它能廣泛應(yīng)用多媒體新聞發(fā)布、在線直播、視頻點播、網(wǎng)絡(luò)廣告、電子商務(wù)、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療、遠(yuǎn)程監(jiān)控、網(wǎng)絡(luò)電臺、實時視頻會議、網(wǎng)絡(luò)游戲等諸多重要的領(lǐng)域,并快速獲得豐厚的回報,極具市場價值。
WWW系統(tǒng)采用瀏覽器/服務(wù)器(Browser/Server)的工作方式。用戶查詢信息時,在客戶端啟動瀏覽器(Browser)程序,在提供信息的結(jié)點機(jī)上執(zhí)行一個服務(wù)器程序。WWW的客戶端和服務(wù)器之間通過超文本傳輸協(xié)議HTTP(HypertextTransferProtocol)進(jìn)行通信。瀏覽Web采用的技術(shù)主要有兩個,一是URL(UniformResourceLocator的縮寫,即統(tǒng)一資源定位器)技術(shù),用戶只要在Web瀏覽器的地址框內(nèi)輸入站點的URL,即可瀏覽該站點。第二種技術(shù)是在當(dāng)前的頁面中選擇相應(yīng)的超鏈接或熱區(qū),從而實現(xiàn)從當(dāng)前站點到新站點的轉(zhuǎn)換。
統(tǒng)一資源定位器(uniformResourceLocator)是文件名的擴(kuò)展。在單機(jī)系統(tǒng)中,定位一個文件需要路徑和文件名,對于遍布全球的Internet網(wǎng),顯然還需要知道文件存放在哪個網(wǎng)絡(luò)的哪臺主機(jī)中才行。與單機(jī)系統(tǒng)不一樣的是在單機(jī)系統(tǒng)中,所有的文件都由統(tǒng)一的操作系統(tǒng)管理,因而不必給出訪問該文件的方法;而在Internet上,各個網(wǎng)絡(luò),各臺主機(jī)的操作系統(tǒng)都不一樣,因此必須指定訪問該文件的方法。
一個典型的URL為:它表示中科院高能所WWW服務(wù)器上的起始html文件。(文件具體存放的路徑及文件名取決于該WWW服務(wù)器的配置情況)。
與單機(jī)系統(tǒng)絕對路徑,相對路徑的概念類似,統(tǒng)一資源定位器也有絕對URL和相對URL之分。
(1)絕對URL
絕對URL指明網(wǎng)絡(luò)信息資源所在的絕對位置.它的句法為:
access-method://server-name[:port]/directory/file-name
其中,第一字段access-method指定信息服務(wù)的提供方式。主要有http、file、FTP、Gopher、Telnet等,分別表示相應(yīng)的服務(wù)方式。在://之后的第二字段server-name是服務(wù)器的域名。第三字段[:port]說明進(jìn)入一種特定服務(wù)的端口號,不同的端口號代表不同種類的服務(wù),是可選項。如果缺省,表示使用與一種服務(wù)方式對應(yīng)的標(biāo)準(zhǔn)端口號。幾種常用服務(wù)方式的標(biāo)準(zhǔn)端口號如表4-1所示。在[:port]之后的字段是路徑文件名。
表4-1幾種服務(wù)方式的標(biāo)準(zhǔn)端口號一覽表服務(wù)方式標(biāo)準(zhǔn)(缺省)端口號FTP文件傳輸協(xié)議21Telnet遠(yuǎn)程登錄協(xié)議23Gophergopher協(xié)議70HTTP超文本傳輸協(xié)議80
下面給出一個URL的例子:/lib/index.htm。協(xié)議名為“http”,服務(wù)器域名為“”,路徑文件名為“l(fā)ib/index.htm”,用缺省端口號80。
(2)相對URL
相對URL指明網(wǎng)絡(luò)信息資源所在服務(wù)器的相對位置。當(dāng)客戶正在閱讀位于網(wǎng)絡(luò)服務(wù)器上的某個文件時(例如/pub/nfile.html),可以使用相對URL來指向位于同一目錄下的另外一個文件。相對URL也稱為部分URL。如果用戶在訪問上面的文件后,接著訪問p:///pub/之下的另一文件otherfile.html,則不必使用/pub/otherfile.html,只需給出otherfile.html即可。
二、流媒體技術(shù)
流媒體是一種新興的網(wǎng)絡(luò)傳輸技術(shù),它允許瀏覽者一邊下載一邊觀看、收聽,而不需要等到整個多媒體文件下載完后就可以進(jìn)行收看。流媒體并不是單一的技術(shù),它是融合了網(wǎng)絡(luò)技術(shù)之后所產(chǎn)生的技術(shù)。它需要涉及到流媒體數(shù)據(jù)的采集、壓縮、存儲、傳輸以及網(wǎng)絡(luò)通信等多項技術(shù)。下面介紹流媒體中常用的幾個技術(shù)。1.緩存技術(shù)
緩存技術(shù)是用來彌補(bǔ)延遲和抖動的影響,并保證數(shù)據(jù)包的順序正確,從而使媒體數(shù)據(jù)能連續(xù)輸出,而不會因為網(wǎng)絡(luò)暫時擁塞使播放出現(xiàn)停頓。我們知道Internet以包傳輸為基礎(chǔ)進(jìn)行斷續(xù)的異步傳輸,實時A/V源或存儲的A/V文件在傳輸中被分解為許多包,由于網(wǎng)絡(luò)是動態(tài)變化的,各個包選擇的路由可能不盡相同,故到達(dá)客戶端的時間延遲也就不等,甚至先發(fā)的數(shù)據(jù)包有可能后到,利用緩存技術(shù)可以得到解決。通常高速緩存所需容量并不大,因為高速緩存使用環(huán)形鏈表結(jié)構(gòu)來存儲數(shù)據(jù),通過丟棄已經(jīng)播放的內(nèi)容,流可以重新利用空出的高速緩存空間來緩存后續(xù)尚未播放的內(nèi)容。
2.流媒體傳輸流程
流媒體傳輸?shù)牧鞒倘缦滤荆?/p>
(1)Web瀏覽器與Web服務(wù)器之間使用HTTP/TCP交換控制信息,以便把需要傳輸?shù)膶崟r數(shù)據(jù)從原始信息中檢索出來。
(2)用HTTP從Web服務(wù)器檢索相關(guān)數(shù)據(jù),A/V播放器進(jìn)行初始化。
(3)從Web服務(wù)器檢索出來的相關(guān)服務(wù)器的地址定位A/V服務(wù)器。
(4)A/V播放器與A/V服務(wù)器之間交換A/V傳輸所需要的實時控制協(xié)議。
(5)一旦A/V數(shù)據(jù)抵達(dá)客戶端,A/V播放器就可以播放了。
在一般的流媒體寬帶系統(tǒng)里,視頻服務(wù)器通過網(wǎng)絡(luò)向客戶機(jī)實時傳送流媒體信息的流程如圖4-1所示。
圖4-1流媒體系統(tǒng)示意圖
從圖4-1中可知,流媒體的系統(tǒng)構(gòu)成:①編碼工具:用于創(chuàng)建、捕捉和編輯多媒體數(shù)據(jù),形成流媒體格式;②流媒體數(shù)據(jù)庫:用于儲存流媒體中的數(shù)據(jù);③服務(wù)器:存放和控制流媒體的數(shù)據(jù)和應(yīng)用軟件;④網(wǎng)絡(luò):適合多媒體傳輸協(xié)議甚至實時傳輸協(xié)議的網(wǎng)絡(luò);⑤播放器:供客戶端瀏覽流媒體文件(通常是獨立的播放器和ActiveX方式的插件)。
3.智能流技術(shù)(SureStream)
智能流技術(shù)是將用戶以不同帶寬瀏覽音視頻內(nèi)容的數(shù)據(jù)保存在單一的文件中,此文件稱為智能流文件,即創(chuàng)建可擴(kuò)展流式文件。當(dāng)客戶端發(fā)出請求,它將其帶寬容量傳給服務(wù)器,媒體服務(wù)器根據(jù)客戶帶寬將智能流文件相應(yīng)部分傳送給用戶。用此技術(shù),用戶可看到最可能的優(yōu)質(zhì)傳輸,制作人員只需要壓縮一次,管理員也只需要維護(hù)單一文件,而媒體服務(wù)器根據(jù)所得帶寬自動切換。
智能流通過描述現(xiàn)實世界Internet上變化的帶寬特點來發(fā)送高質(zhì)量媒體并保證可靠性,并對混合連接環(huán)境的內(nèi)容授權(quán)提供了解決方法。流媒體實現(xiàn)方式如下:
(1)對所有連接速率環(huán)境創(chuàng)建一個文件;
(2)在混合環(huán)境下以不同速率傳送媒體;
(3)根據(jù)網(wǎng)絡(luò)變化,無縫切換到其它速率;
(4)關(guān)鍵幀優(yōu)先,音頻比部分幀數(shù)據(jù)重要;
(5)向后兼容老版本RealPlayer。
智能流技術(shù)通過兩種途徑克服帶寬協(xié)調(diào)和流瘦化。首先,確立一個編碼框架,允許不同速率的多個流同時編碼,合并到同一個文件中;第二,采用一種復(fù)雜客戶/服務(wù)器機(jī)制探測帶寬變化。
4.流媒體傳輸協(xié)議
在Internet上實現(xiàn)流媒體傳輸需要一個合適的傳輸協(xié)議。TCP需要較多的開銷,故不太適合傳輸實時數(shù)據(jù)。在流式傳輸?shù)膶崿F(xiàn)方案中,一般采用HTTP/TCP來傳輸控制信息,而用RTP/UDP來傳輸實時多媒體數(shù)據(jù)。
(1)實時傳輸協(xié)議RTP與RTCP
RTP是用于Internet/Intranet針對多媒體數(shù)據(jù)流的一種傳輸協(xié)議。RTP被定義為在一對一或一對多傳輸?shù)那闆r下工作,其目的是提供時間信息和實現(xiàn)流同步。RTP通常使用UDP來傳送數(shù)據(jù),但RTP也可以在TCP或ATM等其他協(xié)議上工作。當(dāng)應(yīng)用程序開始一個RTP會話時將使用兩個端口:一個給RTP,一個給RTCP。RTP本身并不能為按順序傳送數(shù)據(jù)包提供可靠的傳送機(jī)制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務(wù)。RTCP和RTP一起提供流量控制和擁塞控制服務(wù)。RTP和RTCP配合使用,它們能以有效的反饋和最小的開銷使傳輸效率最佳化,因而特別適合傳送網(wǎng)上的實時數(shù)據(jù)。
(2)實時流協(xié)議RTSP
實時流協(xié)議RTSP是由RealNetworks和Netscape共同提出的,該協(xié)議定義了一對多應(yīng)用程序如何有效地通過IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)。RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,它使用TCP或RTP完成數(shù)據(jù)傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的是多媒體數(shù)據(jù)。HTTP請求由客戶機(jī)發(fā)出,服務(wù)器做出響應(yīng);使用RTSP時,客戶機(jī)和服務(wù)器都可以發(fā)出請求,即RTSP可以是雙向的。
(3)資源預(yù)訂協(xié)議RSVP
由于音頻和視頻數(shù)據(jù)流比傳統(tǒng)數(shù)據(jù)對網(wǎng)絡(luò)的延時更敏感,要在網(wǎng)絡(luò)中傳輸高質(zhì)量的音頻、視頻信息,除帶寬要求之外,還需其他更多的條件。RSVP是Internet上的資源預(yù)訂協(xié)議,使用RSVP預(yù)留一部分網(wǎng)絡(luò)資源(即帶寬),能在一定程度上為流媒體的傳輸提供QoS。
三、流媒體傳輸理論
目前,在網(wǎng)絡(luò)上傳輸音/視頻等多媒體信息主要有下載和流式傳輸兩種方案。A/V文件一般都較大,所以需要的存儲容量也較大;同時由于網(wǎng)絡(luò)帶寬的限制,下載常常要花數(shù)分鐘甚至數(shù)小時,所以這種處理方法延遲也很大。流式傳輸時,聲音、影像或動畫等時基媒體由音視頻服務(wù)器向用戶計算機(jī)的連續(xù)、實時傳送,用戶不必等到整個文件全部下載完畢,而只需經(jīng)過幾秒或十?dāng)?shù)秒的啟動延時即可進(jìn)行觀看。
當(dāng)聲音等時基媒體在客戶機(jī)上播放時,文件的剩余部分將在后臺從服務(wù)器內(nèi)繼續(xù)下載。流式不僅使啟動延時成十倍、百倍地縮短,而且不需要太大的緩存容量。流式傳輸避免了用戶必須等待整個文件全部從Internet上下載才能觀看的缺點。
流媒體指在Internet/Intranet中使用流式傳輸技術(shù)的連續(xù)時基媒體,如:音頻、視頻或多媒體文件。流式媒體在播放前并不下載整個文件,只將開始部分內(nèi)容存入內(nèi)存,流式媒體的數(shù)據(jù)流隨時傳送隨時播放,只是在開始時有一些延遲。流媒體實現(xiàn)的關(guān)鍵技術(shù)就是流式傳輸。
流式傳輸定義很廣泛,現(xiàn)在主要指通過網(wǎng)絡(luò)傳送媒體(如視頻、音頻)的技術(shù)總稱。其特定含義為通過Internet將影視節(jié)目傳送到PC機(jī)。實現(xiàn)流式傳輸有兩種方法:實時流式傳輸(Realtimestreaming)和順序流式傳輸(progressivestreaming)。一般說來,如視頻為實時廣播,或使用流式傳輸媒體服務(wù)器,或應(yīng)用如RTSP的實時協(xié)議,即為實時流式傳輸。如使用HTTP服務(wù)器,文件即通過順序流發(fā)送。
1.順序流式傳輸
所謂順序流式傳輸指的是順序下載,在下載文件的同時用戶可觀看再線媒體,在給定時刻,用戶只能觀看已下載的那部分,而不能跳到還未下載的前頭部分,順序流式傳輸不象實時流式傳輸在傳輸期間根據(jù)用戶連接的速度做調(diào)整。由于標(biāo)準(zhǔn)的HTTP服務(wù)器可發(fā)送這種形式的文件,也不需要其他特殊協(xié)議,它經(jīng)常被稱作HTTP流式傳輸。
順序流式傳輸比較適合高質(zhì)量的短片段,如片頭、片尾和廣告,由于該文件在播放前觀看的部分是無損下載的,這種方法保證電影播放的最終質(zhì)量。這意味著用戶在觀看前,必須經(jīng)歷延遲,對較慢的連接尤其如此。對通過調(diào)制解調(diào)器發(fā)布短片段,順序流式傳輸顯得很實用,它允許用比調(diào)制解調(diào)器更高的數(shù)據(jù)速率創(chuàng)建視頻片段。盡管有延遲,畢竟可讓你發(fā)布較高質(zhì)量的視頻片段。順序流式文件是放在標(biāo)準(zhǔn)HTTP或FTP服務(wù)器上,易于管理,基本上與防火墻無關(guān)。順序流式傳輸不適合長片段和有隨機(jī)訪問要求的視頻,如:講座、演說與演示。它也不支持現(xiàn)場廣播,嚴(yán)格說來,它是一種點播技術(shù)。
2.實時流式傳輸
所謂實時流式傳輸指的是保證媒體信號帶寬與網(wǎng)絡(luò)連接配匹,使媒體可被實時觀看到。實時流與HTTP流式傳輸不同,他需要專用的流媒體服務(wù)器與傳輸協(xié)議。實時流式傳輸總是實時傳送,特別適合現(xiàn)場事件,也支持隨機(jī)訪問,用戶可快進(jìn)或后退以觀看前面或后面的內(nèi)容。
理論上,實時流一經(jīng)播放就可不停止,但實際上,可能發(fā)生周期暫停。實時流式傳輸必須配匹連接帶寬,這意味著在以調(diào)制解調(diào)器速度連接時圖像質(zhì)量較差。而且,由于出錯丟失的信息被忽略掉,網(wǎng)絡(luò)擁擠或出現(xiàn)問題時,視頻質(zhì)量很差。
實時流式傳輸需要特定服務(wù)器,如QuickTimeStreamingServer、RealServer與WindowsMediaServer等等。這些服務(wù)器允許你對媒體發(fā)送進(jìn)行更多級別的控制,因而系統(tǒng)設(shè)置、管理比標(biāo)準(zhǔn)HTTP服務(wù)器更復(fù)雜。實時流式傳輸還需要RTSP(RealtimeStreamingProtocol)或MMS(MicrosoftMediaServer)協(xié)議的支持。
四、流媒體技術(shù)應(yīng)用
Internet的迅猛發(fā)展和普及為流媒體業(yè)務(wù)發(fā)展提供了強(qiáng)大的市場動力,流媒體業(yè)務(wù)正變得日益流行。流媒體技術(shù)廣泛用于多媒體新聞發(fā)布、在線直播、網(wǎng)絡(luò)廣告、電子商務(wù)、視頻點播(VOD)、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療、網(wǎng)絡(luò)電臺、實時視頻會議等互聯(lián)網(wǎng)信息服務(wù)的方方面面。流媒體技術(shù)的應(yīng)用將為網(wǎng)絡(luò)信息交流帶來革命性的變化,對人們的工作和生活產(chǎn)生深遠(yuǎn)的影響。下面介紹流媒體技術(shù)在視頻點播、遠(yuǎn)程教育、視頻會議、Internet直播方面的應(yīng)用。
1.視頻點播
節(jié)目點播系統(tǒng)VOD(VideoonDemand)是伴隨著視頻、音頻處理及計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展而迅速興起的一門綜合性技術(shù)。網(wǎng)絡(luò)結(jié)構(gòu)中的多媒體數(shù)據(jù)以實時數(shù)據(jù)流的形式傳輸,與傳統(tǒng)的文件數(shù)據(jù)不同,多媒體數(shù)據(jù)流一旦開始傳輸,就必須以穩(wěn)定的速率傳送到桌面電腦上,以保證其平滑地回放,視頻、音頻數(shù)據(jù)流都不能有停滯和間斷;網(wǎng)絡(luò)擁堵、CPU爭用或I/O瓶頸都可能導(dǎo)致傳送的延遲,引起數(shù)據(jù)流傳輸阻塞。VOD必須滿足如下要求:
(1)靈活的查詢方式:關(guān)鍵字、邏輯查詢(組合查詢)、基于內(nèi)容的查詢、層次檢索、自然言查詢等;
(2)清晰、直觀的查詢界面;
(3)時限內(nèi)的查詢和并發(fā)訪問時間;
(4)在授權(quán)的條件下,用戶能方便地更新數(shù)據(jù)庫;
(5)服務(wù)器平臺和網(wǎng)絡(luò)平臺的獨立性。
隨著寬帶網(wǎng)和信息家電的發(fā)展,流媒體技術(shù)會越來越廣泛地應(yīng)用于視頻點播系統(tǒng)。目前,很多大型的新聞娛樂媒體,如中央電視臺、北京電視臺等,都在Internet上提供基于流媒體技術(shù)的節(jié)目。
2.遠(yuǎn)程教育
電腦的普及、多媒體技術(shù)的發(fā)展以及Internet的迅速崛起,給遠(yuǎn)程教育帶來了新的機(jī)遇。在遠(yuǎn)程教學(xué)過程中,最基本的要求就是將信息從教師端傳到遠(yuǎn)程的學(xué)生端,需要傳送的信息可能是多元的,如視頻、音頻、文本、圖片等。
將這些信息從一端傳送到另一端是實現(xiàn)遠(yuǎn)程教學(xué)需要解決的問題,在當(dāng)前網(wǎng)絡(luò)帶寬的限制下,流式傳輸將是最佳選擇。學(xué)生在家通過一臺計算機(jī)、一條電話線、一個調(diào)制解調(diào)器就可以參加遠(yuǎn)程教學(xué)。教師也無須另外做準(zhǔn)備,授課的方法基本與傳統(tǒng)授課方法相同,只不過面對的是攝像頭和計算機(jī)而已。
目前,能夠在Internet上進(jìn)行多媒體交互教學(xué)的技術(shù)多為流媒體技術(shù),如RealSystem、Flash、Shockwave等技術(shù)就經(jīng)常被應(yīng)用到網(wǎng)絡(luò)教學(xué)中。遠(yuǎn)程教育是對傳統(tǒng)教育模式的一次革命,它集教學(xué)和管理于一體,突破了傳統(tǒng)面授的局限,為學(xué)習(xí)者在空間和時間上都提供了便利。
除了實時教學(xué)外,使用流媒體的VOD技術(shù)還可以進(jìn)行交互式教學(xué),達(dá)到因材施教的目的。學(xué)生可以通過網(wǎng)絡(luò)共享學(xué)習(xí)經(jīng)驗。大型企業(yè)可以利用基于流媒體技術(shù)的遠(yuǎn)程教育對員工進(jìn)行培訓(xùn)。
3.課件點播
課件點播是遠(yuǎn)程教育的主要形式。它的優(yōu)勢是多媒體課件具有更豐富的表現(xiàn)力,而且,學(xué)生可以在方便的時候?qū)W習(xí),形式更加靈活自由。
課件點播的實現(xiàn)方式是先制作課件,將教師講的課程用攝像機(jī)拍攝下來,并用采集卡采集進(jìn)計算機(jī)后編碼成流媒體格式,之后,將教材輸入計算機(jī),利用FLASH制作動畫演示。然后,利用SMIL語言將教師講課的錄像、教材文本、FLASH演示和搜集到的其它素材集成在一起,制作出表現(xiàn)力豐富的多媒體課件。將多媒體課件放在流媒體服務(wù)器上,然后再集成到網(wǎng)站里,如果需要對學(xué)生收費(fèi),還要加上身份認(rèn)證、計費(fèi)的功能,如圖4-2所示。
為了實現(xiàn)交互教學(xué),需將一臺攝像機(jī)放在教師授課的教室,攝像機(jī)拍攝的教師授課過程實時地被傳輸?shù)搅髅襟w編碼機(jī),經(jīng)過采集卡的采集、編碼后再實時地上傳給流媒體服務(wù)器,再由流媒體服務(wù)器實時發(fā)布到其它教室的終端計算機(jī),并利用投影儀將名師的授課過程實時地播放出來,供這個教室的學(xué)生觀看。
為了方便與授課老師不在同一個教室的學(xué)生能與老師在授課過程中實時地交流問題,可以在學(xué)生所在的教室安裝攝像機(jī)和編碼計算機(jī),用來拍攝并上傳提問學(xué)生的影像,并在授課老師所在的教室安裝一臺終端計算機(jī)和投影儀,用來播放提問學(xué)生的視頻,從而達(dá)到老師和異地學(xué)生的實時交互,增加師生交互功能。
圖4-2課件點播示意圖
4.視頻會議
市場上的視頻會議系統(tǒng)有很多,這些產(chǎn)品基本上都支持TCP/IP協(xié)議,但采用流媒體技術(shù)作為核心技術(shù)的系統(tǒng)并不占多數(shù)。雖然流媒體技術(shù)并不是視頻會議的必須選擇,但為視頻會議的發(fā)展起了重要的推動作用。采用流媒體格式傳送音視頻文件,使用者不必等待整個影片傳送完畢就可以實時、連續(xù)地觀看,這樣不但解決了觀看前的等待問題,還達(dá)到了即時的效果。雖然在畫面質(zhì)量上有一些損失,但就一般的視頻會議來講,并不需要很高的圖像質(zhì)量。
視頻會議是流媒體技術(shù)的一個商業(yè)用途,通過流媒體可以進(jìn)行點對點的通信,最常見的就是可視電話。只要兩端都有一臺接入Internet的電腦和一個攝像頭,在世界任何地點都可以進(jìn)行音視頻通信。此外,大型企業(yè)可以利用基于流媒體的視頻會議系統(tǒng)來組織跨地區(qū)的會議和討論。
5.Internet直播
隨著Internet技術(shù)的發(fā)展和普及,在Internet上直接收看體育賽事、重大慶典、商貿(mào)展覽成為很多網(wǎng)民的愿望,而很多廠商希望借助網(wǎng)上直播的形式將自己的產(chǎn)品和活動傳遍全世界。這些需求促成了Internet直播的形成,但是網(wǎng)絡(luò)的帶寬問題一直困擾著Internet直播的發(fā)展,不過隨著寬帶網(wǎng)的不斷普及和流媒體技術(shù)的不斷改進(jìn),Internet直播已經(jīng)從實驗階段走向?qū)嵱?,并能夠提供較滿意的音視頻效果。
五、流媒體文件格式
流媒體文件有很多種類型,即只要采用流媒體技術(shù)的均可稱之為流媒體文件。例如,acromedia公司的SWF(ShockWaveFlash)、Vivo公司的VIV(VivoMovie)都是流媒體文件的格式。現(xiàn)在最為流行的流媒體要數(shù)Microsoft、RealNetworks和Apple公司。表4-2羅列了這三家公司的所有流媒體格式的類型。
表4-2三家公司流媒體文件格式公司文件格式媒體類型MicrosoftASF(AdvancedStreamFormat)Video/x-ms-asfRealNetworksRM(RealVideo)Application/x-pn-realmediaRA(RealAudio)Audio/x-pn-realaudioRP(RealPix)Image/vnd.rn-realpixRT(RealText)Text/vnd.rn-realtextAppleMOV(QuickTimeMovie)Video/quicktimeQT(QuickTimeMovie)Video/quicktime在應(yīng)用流媒體的時候,除了這些常用的文件格式類型,還有一些發(fā)布文件,例如,RAM、ASX,這類文件本身就不是音影文件,它們的作用在于給出真正流媒體文件所在的位置,其實這個文件在流媒體播放的過程中不是必需的。表4-3所示的是一些常用的發(fā)布文件格式。
表4-3三家公司流媒體文件格式流媒體發(fā)布的文件格式說明ASXActiveStreamRedirectorRAMRealAudioMediaRPMEmbeddedRamSMI/SMILSynchronizedMultimediaIntegrationLanguageXMLExtensibleMarkupLanguage
第二節(jié)網(wǎng)頁開發(fā)技術(shù)
一、HTML和DHTML語言
WWW開發(fā)技術(shù)最初采用的HTML(超文本標(biāo)記語言),隨著Internet技術(shù)的發(fā)展和人們對WWW服務(wù)需求越來越高,WWW開發(fā)技術(shù)也越來越豐富。
1.HTML概述
HTML(HyperTextMark-upLanguage)即超文本標(biāo)記語言,是WWW的描述語言。設(shè)計HTML語言的目的是為了能把存放在一臺電腦中的文本或圖形與另一臺電腦中的文本或圖形方便地聯(lián)系在一起,形成有機(jī)的整體,人們不用考慮具體信息是在當(dāng)前電腦上還是在網(wǎng)絡(luò)的其它電腦上。我們只需使用鼠標(biāo)在某一文檔中點取一個圖標(biāo),Internet就會馬上轉(zhuǎn)到與此圖標(biāo)相關(guān)的內(nèi)容上去,而這些信息可能存放在網(wǎng)絡(luò)的另一臺電腦中。
HTML文檔制作并不是很復(fù)雜,而且功能強(qiáng)大,支持不同數(shù)據(jù)格式的文件的嵌入,應(yīng)用十分廣泛。其主要特點如下:
(1)簡單易學(xué)。HTML是SGML(標(biāo)準(zhǔn)通用標(biāo)記語言)的簡化版,用戶可以很容易使用各類標(biāo)記建立HTML文檔。
(2)可擴(kuò)展性。HTML語言采用子類元素的方式,為系統(tǒng)擴(kuò)展帶來保證。現(xiàn)在HTML語言的版本是4.0版,可以說語言功能大大加強(qiáng)。
(3)與平臺無關(guān)。HTML文檔可以不加修改運(yùn)行在PC機(jī)和MAC等其它類型的機(jī)器上。
(4)HTML只能提供靜態(tài)的Web頁面,沒有交互,也不能制作復(fù)雜的動畫,一般只能完成簡單的信息發(fā)布功能。
傳統(tǒng)的HTML一般通過編輯工具編輯文檔,然后通過WWW瀏覽器顯示出效果。常用的編輯工具有文本編輯工具,如Windows自帶的記事本或?qū)懽职澹庉嫼蟮募兾谋疚募臄U(kuò)展名為.htm或.html;另一類編輯工具能夠所見即所得,如FrontPage、Dreamweaver等。
2.HTML語言結(jié)構(gòu)
HTML文件是標(biāo)準(zhǔn)的ASCII文件,它看起來像是加入了許多被稱為鏈接簽(tag)的特殊字符串的普遍文本文件。
從結(jié)構(gòu)上講,HTML文件由元素(element)組成,組成HTML文件的元素有許多種,用于組織文件的內(nèi)容和指導(dǎo)文件的輸出格式。絕大多數(shù)元素是“容器”,即它有起始標(biāo)記和結(jié)尾標(biāo)記。元素的起始標(biāo)記叫做起始鏈接簽(starttag),元素結(jié)束標(biāo)記叫做結(jié)尾鏈接簽(endtag)。
在起始鏈接簽和結(jié)尾鏈接簽中向的部分是元素體。每一個元素都有名稱和可選擇的屬性,元素的名稱和屬性都在起始鏈接簽內(nèi)標(biāo)明。例如,體元素(body)
<bodybackgroud="back-ground.gif">
<h2>demo</h2>
Thisismyfirsthtmlfile.<p>
</body>
下面我們來解釋以上的語句:
(1)第一行是體元素的起始鏈接簽,它標(biāo)明體元素從此開始。因為所有的鏈接簽都具有相同的結(jié)構(gòu),所以我們將仔細(xì)分析這個鏈接簽的各個部分,以便讀者對鏈接簽的寫法有一大概了解。
<起始鏈接簽開始body元素名稱,由于元素和鏈接簽一一對應(yīng),所以元素名也叫鏈接簽名。需要注意的是<和body之間不能有空格,元素名稱不分大小寫。
①background屬性名。一個元素可以有多個屬性,屬性及其屬性值不分大小寫。本屬性指明用什么方法來填充背景。
②=指明屬性值。
③“background.gif”屬性值,表示用background.gif文件來填充背景。
④屬性名,=,屬性值合起來構(gòu)成一個完整的屬性,一個元素可以有多個屬性,各個屬性用空格分開。
⑤>起始鏈接鏈結(jié)束。
(2)第二行和第三行是body元素的元素體,最后一行是body元素的結(jié)尾鏈接簽。結(jié)尾鏈接簽用</開始,隨后是元素名,然后是大于號>。
從上面的例子中,我們可以看出,一個元素的元素體中可以有另外的元素。(上例中第二行的標(biāo)題元素<h2>…</h2>和第三行的分段元素<p>。實際上,html文件僅由一個html元素組成,即文件以<html>開始,以</html>結(jié)尾,文件其部分都是html的元素體。html元素的元素體由兩大部分,即頭元素<head>..</head>和體元素<body>…</body>和一些注釋組成。頭元素和體元素的元素體又由其它的元素和文本及注釋組成。也就是說,一個html文件應(yīng)具有下面的結(jié)構(gòu):
<html>html文件開始
<head>文件頭開始
文件頭
</head>文件頭結(jié)束
<body>文件體開始
文件體
</body>文件體結(jié)束
</html>html文件結(jié)束
需要說明的是,html是一門發(fā)展很快的語言,早期的html文件并沒有如此嚴(yán)格的結(jié)構(gòu),因而現(xiàn)在流行的瀏覽器(如Netscape,Mosaic等)為保持對早期html文件的兼容性,也支持不按上述結(jié)構(gòu)編寫的html文件。還需要說明的是,各種瀏覽器對html元素及其屬性的解釋也不完全一樣。
(3)HTML元素的三種表示方法
一般來講,html的元素有下列三種表示方法:
①<元素名>文件或超文本</元素名>
②<元素名屬性名=“屬性值…>文本成超文本</元素名>
③<元素名>
第三種寫法僅用于一些特殊的元素,比如分段元素P,它僅僅通知www瀏覽器在此處分段,因而不需要界定作用范圍,所以它沒有結(jié)尾鏈接簽。htlm3.0標(biāo)準(zhǔn)中,也定義了</p>鏈接簽,它用于需要界定作用范圍的段落,比如增加對齊方式屬性的段落。
html文件中,有些元素只能出現(xiàn)在頭元素中,絕大多數(shù)元素只能出現(xiàn)在體元素中。在頭元素中的元素表示的是該html文件的一般信息,比如文件名稱,是否可檢索等等。這些元素書寫的次序是無關(guān)緊要的,它只表明該html有還是沒有該屬性。與此相反,出現(xiàn)在體元素中的元素是次序敏感的,改變元素在html文件中的次序會改變該html文件的輸出形式。
3.DHTML概述
DHTML是DynamicHTML的縮寫,即動態(tài)HTML。傳統(tǒng)的HTML是靜態(tài)的,當(dāng)它被加載到瀏覽器后,它只像一個畫面,怎么看也不會發(fā)生變化,而動態(tài)HTML則意味著Web頁面對用戶有響應(yīng),即動態(tài)HTML能自動變化。
首先,DHTML需要一種方法查閱文檔,它能跟蹤頁面上的每個元素,從最小的〈H6〉標(biāo)題和〈HR〉水平標(biāo)尺,到表單中所有元素,從本質(zhì)上說,每當(dāng)頁面被加載時,瀏覽器就建立起數(shù)據(jù)庫,每個標(biāo)記就成為數(shù)據(jù)庫中的一個記錄。其次,DHTML還需要一種方法來控制一個文檔中所有需要控制的元素,可以通過一些腳本語言來完成,例如javascript或vbscript,腳本語言會把相關(guān)信息嵌入到頁面上的每個元素,并查閱他們設(shè)置值,使之發(fā)生預(yù)想的變化。
簡而言之,DHTML不是有關(guān)面向服務(wù)器的腳本、javaapplet或動畫GIF圖像,所有的這些操作都可以自己完成,除了改變頁面內(nèi)容外,不需要訪問服務(wù)器。頁面下載后,不論什么時候,DHTML都能處理頁面元素,改變頁面版面、內(nèi)容和位置。并把結(jié)果不斷的提供給用戶。
4.DHTML語言結(jié)構(gòu)
DHTML是在傳統(tǒng)的HTML語言基礎(chǔ)上,采用CSS(CascadingStyleSheets,即層疊樣式表)來設(shè)置網(wǎng)頁的樣式,并運(yùn)用JavaScript或VBScript技術(shù)提供動態(tài)和交互的網(wǎng)頁功能。Netscape4.0和IE4.0以上的版本支持DHTML,DHTML是一種“客戶端”技術(shù),其優(yōu)點在于增強(qiáng)了Web頁面的功能,在Web頁面上直接建立動畫、游戲和應(yīng)用軟件等等,并提供了瀏覽站點的全新方式,與Java、Flash等技術(shù)不同的是,用DHTML編制的頁面不需要插件的支持就能完整的實現(xiàn)。
(1)DHTML的基礎(chǔ)層疊樣式表CSS
CSS是CascadingStyleSheet的縮寫,即層疊樣式表,主要用于設(shè)定DHTML元素在頁面上的顯示風(fēng)格。CSS格式包括選擇器、屬性和屬性值三部分,其形式如下:
selector{property:value;property:value;...}
①select(選擇器):包括DHTML選擇器(DHTMLSelector)、類選擇器(ClassSelector)和ID選擇器(IDSelector)三種。
②property(屬性):就是那些將要被修改的性質(zhì),如color、font-size……
③value(屬性值):賦給property的值,如給color賦值blue。
層疊樣式表區(qū)分大小寫,注意拼寫。下面對CSS層疊樣式表舉例說明:
<HTML>
<STYLE>
<!--
p{font-family:”宋體”;font-size:12pt;color:red;font-weight:bold}
.bigFont{font-size:200%}
#newColor{background-color:#0033ff;color:yellow}
-->
</STYLE>
<BODY>
<p>HTML選擇器<spanclass=“bigFont”>類選擇器</span><spanid=”newColor”>ID選擇器</span></p>
</BODY>
</HTML>
在這個程序中,<STYLE></STYLE>間為嵌入式層疊樣式表,定義了三個選擇器,分別是HTML選擇器、類選擇器和ID選擇器。在〈BODY>〈/BODY〉間用定義好的層疊樣式表顯示文本。
(2)定義和使用基本樣式
下面的程序段中有兩個樣式:H1和favor,H1是一個有效的DHTML元素,在程序中由〈H1〉〈/H1〉標(biāo)記的部分將繼承樣式H1的全部屬性;favor則是一個非DHTML元素,定義它的時候須在前面加上一個圓點,引用時要用〈class〉來聲明,在程序中由〈favor〉〈/favor〉標(biāo)記的部分將繼承樣式favor的全部屬性。
〈HTML〉
〈HEAD〉〈TITLE〉test〈/TITLE〉
〈STYLETYPE=”text/css〉
〈!—
H1{font-style:normal;
font-weight:bold;
color:green;
line-height:20pt}/定義樣式H1/
.favor{font-style:normal;
fontsize:15pt;
background-image:url(back.imag.gif);
textalign:center}/定義樣式favor/
--〉
〈/STYLE〉
〈/HEAD〉
〈H1〉THISISATEST!〈/H1〉/使用樣式H1/
〈PCLASS=”favor”〉DOYOULIKETHIS?〈/P〉/使用樣式favor/
(3)使用外部樣式
樣式表還可以存放在外部文件中,這個文件與頁面的聯(lián)系可以通過IMPORT或LINK,例如,樣式表存放在文件mysite.css中,在文檔中可以插入下列代碼調(diào)用外部樣式表:
〈LINKREL=STYLESHEET
HREF=”mysite.css”
TYPE=”text/css”
Title=”TestStyle”〉
(4)實現(xiàn)交互功能
CSS本身沒有交互功能,要實現(xiàn)交互,就須將CSS定義的對象與文檔模型(DOM)結(jié)合在一起,將Web文檔轉(zhuǎn)換為DHTML文檔。DOM提供了腳本語言訪問頁上元素的途徑。Microsoft和Netscape支持的對象模型有一些不同。
在Microsoft的模型中,腳本語言可以訪問HTML頁面上的所有元素,所有元素都被反映為document.all中的對象。下面的程序段用于寫出頁面中所有的元素:
for(I=0;I〈document.all.length;I++〉
{
document.write(document.all[I].tagName+”\n”);
}
在Netscape的模型中,腳本語言可以訪問HTML頁面上特定集合的元素,如〈layer〉標(biāo)簽中的內(nèi)容。下面的程序段用于寫出頁面中所有l(wèi)ayer的名稱:
for(I=0;I〈document.layers.length;I++〉
{
document.write(document.layers[I].name+”\n”);
}
(5)定位技術(shù)的使用
在HTML中,任何對象的位置與網(wǎng)頁結(jié)構(gòu)的其他部分總是相對的,我們編制網(wǎng)頁時經(jīng)常會由于添加一段文字而把一個圖像擠出頁面。現(xiàn)在,使用DHTML的定位技術(shù)可以把對象固定下來,還可以堆疊起來,即在頁面的同一位置擺放多個圖像,然后不斷的指定擺放在最上面的對象來實現(xiàn)動畫效果。下面請看一個例子:
*myback{background-color:transparent}
*mypoit
position:absolute;
top:5in;
right:5in;
width:10in〉
BODY{background-image:url(/image/back.gif);}
〈class=.mypoint〉Img(src=”/image/a.gif)
〈DIVCLASS=”pile”ID=”image1”style=”z-index:4”〉
〈DIVCLASS=”pile”ID=”image2”style=”z-index:3”〉
〈DIVCLASS=”pine”ID=”image3”style=”z-index:2”〉
〈DIVCLASS=”pine”ID=”image4”style=”z-index:1”〉
〈/BODY〉
在上面的程序段中,背景設(shè)成了讓光線透過底圖,這樣的效果在以前是要通過專門的做圖工具才能完成的。在頁面上還堆疊放置了4幅圖,它們所產(chǎn)生的動畫效果也是很不錯的。
二、JavaScript腳本語言
1.什么是JavaScript
JavaScript是一種基于對象(Object)和事件驅(qū)動(EventDriven)并具有安全性能的腳本語言,而不是面向?qū)ο蟮模╫bject-oriented)。之所以說它是一門基于對象的語言,主要是因為它沒有提供像抽象、繼承、重載等有關(guān)面向?qū)ο笳Z言的許多功能。而是把其它語言所創(chuàng)建的復(fù)雜對象統(tǒng)一起來,從而形成一個非常強(qiáng)大的對象系統(tǒng)。
雖然JavaScript語言是一門基于對象的,但它還是具有一些面向?qū)ο蟮幕咎卣?。它可以根?jù)需要創(chuàng)建自己的對象,從而進(jìn)一步擴(kuò)大JavaScript的應(yīng)用范圍,增強(qiáng)編寫功能強(qiáng)大的Web文檔。
JavaScript必須嵌入HTML文檔之中才能運(yùn)行,主要提供動態(tài)和交互的網(wǎng)頁功能。它的出現(xiàn)彌補(bǔ)了HTML語言的缺陷,其主要特點如下:
(1)是一種腳本編寫語言,采用小程序段的方式實現(xiàn)編程。它同時也是一種解釋性語言,它提供了一個較容易的開發(fā)過程。JavaScript與HTML標(biāo)記結(jié)合在一起,從而方便了用戶的使用操作。
(2)是一種基于對象的語言,許多功能可以來自于腳本環(huán)境中對象的方法與腳本的相互作用。
(3)JavaScript的簡單性主要體現(xiàn)在可以運(yùn)用JavaScript的內(nèi)置對象和函數(shù),以及瀏覽器對象就可以很容易開發(fā)出功能強(qiáng)大的Web應(yīng)用程序。
(4)是一種安全性較高的語言,它不允許訪問本地的硬盤,不能將數(shù)據(jù)存人到服務(wù)器上,也不允許對網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互,從而有效地防止數(shù)據(jù)的丟失。
(5)JavaScript是動態(tài)的,它可以直接對用戶或客戶的輸入和各種操作做出響應(yīng),無須經(jīng)過Web服務(wù)器程序,這樣可以大大減輕服務(wù)器的負(fù)擔(dān)。JavaScript對用戶的響應(yīng)采用事件驅(qū)動的方式進(jìn)行的。
(6)JavaScript依賴于瀏覽器本身,與操作環(huán)境無關(guān)。
(7)嚴(yán)格區(qū)分大小寫。
(8)JavaScript可以直接嵌入到HTML文檔中,也可以用文本編輯器做成一個獨立文檔,保存成后綴為“js”的文檔,然后在HTML文檔中調(diào)用它。
下面我們編寫一個JavaScript例子:
<html>
<head>
<title>Hello,World!</TITLE>
</head>
<body>
<scriptLanguage=“JavaScript”>
document.write(“Hello,World!”);
……;
……;
……;
</script>
<body>
</html>
這是一個嵌入JavaScript的HTML文檔。<SCRIPT>與</SCRIPT>是嵌入JavaScript腳本的HTML標(biāo)記。SCRIPT標(biāo)記中的Language指明JavaScript的版本。document是一個瀏覽器對象,提供使用文檔和處理文檔元素的屬性方法。document對象調(diào)用write()方法,向文檔寫入文本。
2.JavaScript和Java的區(qū)別
雖然JavaScript與Java有緊密的聯(lián)系,但卻是兩個公司開發(fā)的不同的兩個產(chǎn)品。Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計語言,Java也是一種跨平臺的程序設(shè)計語言,特別適合于Internet應(yīng)用程序開發(fā);而JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展NetscapeNavigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動的解釋性語言,它的前身是LiveScript;而Java的前身是Oak語言。下面對兩種語言間的異同作如下比較:
(1)基于對象和面向?qū)ο?/p>
Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設(shè)計對象。而JavaScript是種腳本語言,它可以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對象(ObjectBased)和事件驅(qū)動(EventDriver)的編程語言。因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計人員使用。
(2)解釋和編譯方式
兩種語言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現(xiàn)獨立于某個特定的平臺編譯代碼的束縛。而JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶端由瀏覽器解釋執(zhí)行。
(3)強(qiáng)變量和弱變量
兩種語言所采取的變量是不一樣的。
Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須作聲明。例如:
Integerx;
Stringy;
x=1234;
x=“4321”;
其中X=1234說明是一個整數(shù),Y=4321說明是一個字符串。而JavaScript中變量聲明,采用其弱類型。即變量在使用前不需要聲明,而是解釋器在運(yùn)行時檢查其數(shù)據(jù)類型,例如:
x=1234;
y="4321";
前者說明x為其數(shù)值型變量,而后者說明y為字符型變量。
(4)代碼格式不一樣
Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨立的文檔中。而JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動態(tài)裝載。編寫HTML文檔就像編輯文本文件一樣方便。
(5)嵌入方式不一樣
在HTML文檔中,兩種編程語言的標(biāo)識不同,JavaScript使用<Script>...</Script>來標(biāo)識,而Java使用<applet>...</applet>來標(biāo)識。
(6)靜態(tài)聯(lián)編和動態(tài)聯(lián)編
Java采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查。而JavaScript采用動態(tài)聯(lián)編,即JavaScript的對象引用在運(yùn)行時進(jìn)行檢查,如不經(jīng)編譯則就無法實現(xiàn)對象引用的檢查。
3.JavaScript代碼的加入
JavaScript的腳本包括在HTML中,它成為HTML文檔的一部分。與HTML標(biāo)識相結(jié)合,構(gòu)成了一個功能強(qiáng)大的Internet網(wǎng)上編程語言??梢灾苯訉avaScript腳本加入文檔:
<scriptLanguage=“JavaScript”>
JavaScript語句代碼;
JavaScript語句代碼;
……
……
……
</script>
以上是JavaScript程序,通過標(biāo)識<Script>...</Script>指明JavaScript腳本源代碼將放入其間。通過屬性Language=“JavaScript”說明標(biāo)識中是使用的何種語言,這里是JavaScript語言,表示在JavaScript中使用的語言。
下面是將JavaScript腳本加入Web文檔中的例子:
<html>
<head>
<title>JavaScript應(yīng)用程序</title>
</head>
<body>
<scriptLanguage=“JavaScript”>
document.write(“歡迎進(jìn)入電子商務(wù)網(wǎng)站”);
document.close();
</script>
<body>
</html>
即打開“MicrosoftFrontPage”軟件,在HTML源代碼窗口中輸入以上的程序代碼,如圖4-3(a)所示。編寫完成后,用鼠標(biāo)器單擊“預(yù)覽”按鈕,即可出現(xiàn)如圖4-3(b)所示的運(yùn)行結(jié)果。
圖4-3JavaScript語言嵌入Web文檔
要注意的是,Document.write()是文檔對象的輸出函數(shù),其功能是將括號中的字符或變量值輸出到窗口;document.close()是將輸出關(guān)閉。
可將<Script>...</Script>標(biāo)識放入head>..</Head>或<Body>...</Body>之間。將JavaScript標(biāo)識放置<Head>...</Head>在頭部之間,使之在主頁和其余部分代碼之前裝載,從而可使代碼的功能更強(qiáng)大;可以將JavaScript標(biāo)識放置在<Body>...</Body>主體之間以實現(xiàn)某些部分動態(tài)地創(chuàng)建文檔。
三、XML語言
1.什么是XML
XML是ExtensibleMarkupLanguage的簡寫,是由W3C所發(fā)展的,是一種可擴(kuò)展標(biāo)記語言??蓴U(kuò)展性是因為XML里允許我們自己創(chuàng)建所需的標(biāo)簽,而HTML的標(biāo)簽卻是固定的。它可以讓網(wǎng)頁設(shè)計人員自行定義TAG的延伸格式,可以用在自由性的數(shù)據(jù)庫或是各種文件格式上,用來接收與應(yīng)用各種網(wǎng)頁的需求。
XML并不是標(biāo)記語言。它只是用來創(chuàng)造標(biāo)記語言(例如HTML)的元語言。XML也不是HTML的替代產(chǎn)品,或HTML的升級,它只是HTML的補(bǔ)充,為HTML擴(kuò)展更多功能。我們不能用XML來直接寫網(wǎng)頁。即便是包含了XML數(shù)據(jù),依然要轉(zhuǎn)換成HTML格式才能在瀏覽器上顯示。其主要特點如下:
(1)XML的優(yōu)勢之一是它允許各個組織、個人建立適合自己需要的標(biāo)記集合,并且這些標(biāo)記可以迅速地投入使用。
(2)一篇文檔包括三個要素:數(shù)據(jù)、結(jié)構(gòu)以及顯示格式。XML把文檔的三要素獨立開來,分別處理。數(shù)據(jù)保存在XML中,結(jié)構(gòu)保存在DTD中,顯示格式保存在樣式單文件(StyleSheet)中,這樣如果需要改變文檔的三個要素,只要修改相應(yīng)的文件就行了。
(3)XML可以廣泛的運(yùn)用于web的任何地方,可以滿足網(wǎng)絡(luò)應(yīng)用的需求。
(4)XML使用效率很高,對于同一份內(nèi)容只需傳輸一次,便可以重復(fù)使用。
(5)XML具有比HTML更強(qiáng)的數(shù)據(jù)連接功能,可做雙向甚至多向數(shù)據(jù)連接。
(6)XML可自定義文件類型,處理HTML無法設(shè)計的專門格式文件,例如,樂譜、化學(xué)方程式、數(shù)學(xué)公式、財務(wù)預(yù)算表、工程應(yīng)用圖表、VLSIlayout圖、向量圖形文件、聲音文件和影像數(shù)據(jù)等等。
(7)XML的大小寫意義不同(Case-sensitive),且不可混用,不像HTML對大小寫視為相同。
(8)XML代碼將清晰和便于閱讀理解,也便于學(xué)習(xí)和創(chuàng)建。
在XML中,標(biāo)記語法是通過文件類型定義DTD(DocumentTypeDefinition)來描述的。也就是說,通過DTD來定義XML文檔中的元素、屬性以及元素之間的關(guān)系。一個遵守XML語法規(guī)則并遵守相應(yīng)DTD文件規(guī)范的XML文檔才能稱為有效的XML文檔。
2.XML代碼的加入
采用XML技術(shù)的網(wǎng)頁,最大的特點是將數(shù)據(jù)與顯示分離,數(shù)據(jù)存放在XML文檔中。XML數(shù)據(jù)與HTML間的調(diào)用和交互是通過頁面腳本語言來實現(xiàn)的。下面我們舉一個包含DTD、XML以及JavaScript的實例。
(1)建立一個DTD文檔,取名為book.dtd:
<!ELEMENTbook(name,author)>
<!ELEMENTname(#PCDATA)>
<!ELEMENTauthor(#PCDATA)>
以上程序一共定義了三個元素:book、name、author。其中book為根元素。
(2)建立XML文檔,取名為book.xml:
<?xmlversion="1.0"encoding="GB2312"?>
<!DOCTYPEbookSYSTEM"book.dtd">
<book>
<name>電子商務(wù)網(wǎng)站建設(shè)與維護(hù)</name>
<author>企業(yè)網(wǎng)站叢書</author>
</book>
以上程序,<?xml……?>是一個XML文檔開始的聲明。
<!DOCTYPEbookSYSTEM"book.dtd">是DTD文件的定義。
其它則是用DTD定義的元素標(biāo)記的XML數(shù)據(jù)。
(3)建立HTML文檔,存為book.htm:
<html>
<head>
<objectwidth="0"height="0"classid="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39"id="xmlDoc">
</object>
<scriptLanguage="JavaScript"for="window"event="onload">
xmlDoc.XMLDocument.load("book.xml");
</script>
<title>在HTML中調(diào)用XML數(shù)據(jù)</title>
</head>
<bodybgcolor="#FFFFFF">
<b>標(biāo)題:</b>
<spanid="name"datasrc=#xmlDocdatafld="name"></span><br>
<b>著者:</b>
<spanid="author"datasrc=#xmlDocdatafld="author"></span><br>
</body>
</html>
(4)運(yùn)行結(jié)果
IE是通過在HTML中的object物件來支持插入XML,并通過JavaScript的XMLDocument.load()方法來導(dǎo)入數(shù)據(jù)。這里定義一個object,ID名為xmlDoc,然用JavaScript代碼讀取xml數(shù)據(jù)。最后在<body>中用<span>標(biāo)記將xmlDoc這個XML對象中的數(shù)據(jù)顯示出來。用IE6.0以上的瀏覽器打開book.htm就可以看到結(jié)果了。
有關(guān)XML的詳細(xì)知識和應(yīng)用,我們在以后的章節(jié)中專門介紹。
四、CGI技術(shù)
1.什么是CGI
CGI是CommonGatewayInterface(公共網(wǎng)關(guān)接口)的簡稱,是HTTP服務(wù)器與你的或其它機(jī)器上的程序進(jìn)行“交談”的一種工具,其程序須運(yùn)行在網(wǎng)絡(luò)服務(wù)器上。本質(zhì)上,CGI是一個用于定Web服務(wù)器與外部程序之間通信方式的標(biāo)準(zhǔn),使得外部程序能生成HTML、圖像或者其他內(nèi)容,而服務(wù)器處理的方式與那些非外部程序生成的HTML、圖像或其他內(nèi)容的處理方式是相同的。因此,CGI程序冊僅使你能生成表態(tài)內(nèi)容而能生動態(tài)內(nèi)容。使用CGI的原因在于它是一個定義良好并被廣泛支持的標(biāo)準(zhǔn),沒有CGI就不可能實現(xiàn)動態(tài)的Web頁面,除非使用一些服務(wù)器中提供的特殊方法(如今,也有除CGI之外的其他技術(shù)逐漸在成為標(biāo)準(zhǔn))。
目前在各類網(wǎng)站的創(chuàng)建過程中,CGI程序常常被用于對HTML表單和數(shù)據(jù)庫的查詢、修改、添加、刪除等操作。例如利用CGI程序?qū)?shù)據(jù)進(jìn)行搜索、修改或添加記錄等等。我們可以常??匆娺\(yùn)用CGI技術(shù)的網(wǎng)站,如新浪網(wǎng)(www.sina.com.cn)的搜索引擎采用的就是CGI程序。
2.CGI處理步驟
CGI處理步驟如下:
(1)通過Internet把用戶請求送到服務(wù)器。
(2)服務(wù)器接收用戶請求并交給CGI程序處理。
(3)CGI程序把處理結(jié)果傳送給服務(wù)器。
(4)服務(wù)器把結(jié)果送回到用戶。
3.CGI服務(wù)器配置
CGI程序是在服務(wù)器運(yùn)行并準(zhǔn)確的處理用戶的請求,所以,需對所使用的服務(wù)器進(jìn)行必要的設(shè)置。
(1)CREN格式服務(wù)器的配置
編輯CREN格式服務(wù)器的配置文件通常為/etc/httpd.conf/,在文件中加入,Execcgi-bin/*/home/www/cgi-bin/*.exec。命令中出現(xiàn)的第一個參數(shù)cgi-bin/*指出了在URL中出現(xiàn)的目錄名字,并表示它出現(xiàn)在系統(tǒng)主機(jī)后的第一個目錄中,例如:
/cgi-bin/
命令中的第二個參數(shù)表示CGI程序目錄放在系統(tǒng)中的真實路徑。CGI目錄除了可以點網(wǎng)絡(luò)文件放在同一目錄中,也可以放在系統(tǒng)的其它目錄中,但必須保證在你的系統(tǒng)中也具有同樣的目錄。在對服務(wù)器完成設(shè)置后,須重新啟動服務(wù)器(除非HTTP服務(wù)器是用inetd啟動的)。
(2)NCSA格式服務(wù)器的配置
在NCSA格式服務(wù)器上有兩種方法進(jìn)行設(shè)置:
①在srm.conf文件(通常在conf目錄下)中加入:
ScriptAlias/cgi-bin/cgi-bin/ScriptAlias,此命令指出某一目錄下的文件是可執(zhí)行程序,且這個命令是用來執(zhí)行這些程序的;此命令的兩個參數(shù)與CERN格式服務(wù)器中的Exec命令的參數(shù)的含意一樣。
②在srm.conf文件加入:
Addtypeapplication/x-httpd-cgi.cgi,此命令表示在服務(wù)器上增加了一種新的文件類型,其后第一個參數(shù)為CGI程序的MIME類型,第二個參數(shù)是文件的擴(kuò)展名,表示以這一擴(kuò)展名為擴(kuò)展名的文件是CGI程序。
4.CGI的編寫語言
CGI可以用任何一種語言編寫,只要這種語言具有標(biāo)準(zhǔn)輸入、輸出和環(huán)境變量。對初學(xué)者來說,最好選用易于歸檔和能有效表示大量數(shù)據(jù)結(jié)構(gòu)的語言。
(1)在UNIX環(huán)境中
①Perl(PracticalExtractionandReportingLanguage)
②BourneShed或者Tcl(ToolCommandLanguage)
(2)在Windows環(huán)境中
C、C++、VisualBasic、ShellScript、PERL、Java,其中PERL語言因其具有強(qiáng)大的字符串處理能力而成為現(xiàn)在寫CGI,特別是表單類程序的首選。
5.CGI程序舉例
(1)CGI程序的基本方法
啟動CGI程序的基本方法如下所述。
①用戶在HTML頁面中單擊某個鏈接。
②瀏覽器請求服務(wù)器運(yùn)行某個CGI程序。
③如果用戶具有適當(dāng)權(quán)限,服務(wù)器運(yùn)行該CGI程序。
④WebServer將CGI程序的結(jié)果返回到瀏覽器。
⑤瀏覽器顯示輸出結(jié)果。
(2)程序編寫
下面是使用PERL編寫的一個簡單的數(shù)據(jù)傳輸程序。
#!/set/local/bin/perl
#文件名:firstscript.cgi。
#設(shè)置輸出內(nèi)容的類型:text/html
print“Content-type:text/html\n\n”;
#將數(shù)據(jù)返回瀏覽器前需設(shè)置數(shù)據(jù)的輸出格式
#為輸出數(shù)據(jù)定義一個標(biāo)題
print“<HTML><HEAD><TITLE>FirstScriptResponse</TITLE><HEAD>\n“;
#返回HTML網(wǎng)頁的BODY部分
print“<BODY><H1>MyFirstScript</H1><P><B>Congratulations!YouhaveprogrammedyourfirstCGIscript!</B></P></BODY></HTML>\n“;
該程序的功能是讓CGI程序在程序啟動后向瀏覽器發(fā)回一個消息
(3)必要的說明
下面是對用PERL編寫程序的一些說明。
①PERL腳本的第一行必須指定在服務(wù)器上何處可以找到PERL的解釋器。
②以#開頭的行是注釋行,不被PERL解釋器進(jìn)行任何操作。
③Print命令用于輸出文本。
④文本串須在引號之內(nèi)。
⑤需要的新行用“\n’指明。
⑥PERL的所有語句必須以分號結(jié)束。
該例說明了CGI程序使用服務(wù)器把消息回傳給用戶瀏覽器的方法。為了調(diào)用這個CGI程序,調(diào)用CGI程序的超級鏈接必須放置在HTML文件中,并且用戶必須單擊這個超級鏈接,這樣就可以將這個CGI程序啟動。
現(xiàn)在為第一個CGI程序創(chuàng)建超級連接,將該超級連接嵌入在HTML文檔中:
<ahref=”user/cgi-bin/firstscript.cgi“>第一個CGI程序〈/a>
CGI文件一般存儲在/user/cgi-bin目錄下。
五、ASP技術(shù)
1.什么是ASP
ASP是ActiveServerPages的縮寫,即動態(tài)服務(wù)器主頁。ASP是一套服務(wù)器端的腳本運(yùn)行環(huán)境。通過ASP可以混合使用HTML、腳本語言以及組件來創(chuàng)建服務(wù)器端功能強(qiáng)大的Internet應(yīng)用程序。如果你以前創(chuàng)建過一個站點,其中混合了HTML、腳本語言以及組件,你就可以在其中加入ASP程序代碼。通過在HTML頁面中加入腳本命令,你可以創(chuàng)建一個HTML用戶界面,并且,還可以通過使用組件包含一些商業(yè)邏輯規(guī)則。組件可以被腳本程序調(diào)用,也可以由其他的組件調(diào)用。
ASP是基于Web的一種編程技術(shù),可以說是CGI的一種。它可以完成以往CGI程序的所有功能,如計數(shù)器、留言簿、公告板、聊天室等等。ASP可以輕松地實現(xiàn)對頁面內(nèi)容的動態(tài)控制,根據(jù)不同的瀏覽者,顯示不同的頁面內(nèi)容。而瀏覽者一點覺察不出來,就像為他專門制作的頁面一樣。使用各種各樣的組件,ASP可以完成無比強(qiáng)大的功能。使用FileSystemObject,可以對服務(wù)器上的文件進(jìn)行操作,瀏覽、復(fù)制、移動、刪除等。有ADO(ActiveDatabaseObject,動態(tài)數(shù)據(jù)庫對象)的支持,ASP對數(shù)據(jù)庫的操作非常得心應(yīng)手。你甚至可以像使用本地數(shù)據(jù)庫那樣,管理遠(yuǎn)程主機(jī)上的數(shù)據(jù)庫,對表格、記錄進(jìn)行各種操作。使用CDONTS(CollaborationDataObjectsforNTS,NTS協(xié)作數(shù)據(jù)對象),可以發(fā)送、查看郵件,實現(xiàn)WebMail的功能。結(jié)合WSH(WindowsScriptingHost),可以實現(xiàn)對NT主機(jī)的管理,如NT用戶管理、IIS虛擬主機(jī)設(shè)置、Exchange郵箱設(shè)置等等,就像管理本地機(jī)一樣方便。
2.ASP處理步驟
ASP處理步驟如下:
(1)用戶調(diào)出站點內(nèi)容,默認(rèn)頁面的擴(kuò)展名是.asp。
(2)瀏覽器從服務(wù)器上請求ASP文件。
(3)服務(wù)器端腳本開始運(yùn)行ASP。
(4)ASP文件按照從上到下的順序開始處理,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容。
(5)頁面信息發(fā)送到瀏覽器。
因為,腳本是在服務(wù)器端運(yùn)行的,所以Web服務(wù)器完成所有處理后,將標(biāo)準(zhǔn)的HTML頁面送往瀏覽器。這意味著,ASP只能在可以支持的服務(wù)器上運(yùn)行。讓腳本駐留在服務(wù)器端的另外一個益處是:用戶不可能看到原始腳本程序的代碼,用戶看到的,僅僅是最終產(chǎn)生的HTML內(nèi)容。
3.ASP的特點
從應(yīng)用層考慮,ASP具有以下幾個特點。
(1)無需編譯ASP腳本集成于HTML當(dāng)中,容易生成,無需編譯或鏈接即可直接在服務(wù)器端邊解釋邊執(zhí)行。
(2)易于生成使用常規(guī)文本編輯器(如Windows下的記事本),即可進(jìn)行*.asp頁面的設(shè)計。若從工作效率來考慮,不妨選用具有可視化編輯能力的VisualInterDev。
(3)獨立于瀏覽器用戶端只要使用可解釋常規(guī)HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計的主頁。ASP腳本是在站點服務(wù)器端執(zhí)行的,用戶端的瀏覽器不需要支持它。因此,若不通過從服務(wù)器下載來觀察*.asp主頁,在瀏覽器端見不到正確的頁面內(nèi)容。
(4)面向?qū)ο笤贏SP腳本中可以方便地引用系統(tǒng)組件和ASP的內(nèi)置組件,還能通過定制ActiveXServerComponent(ActiveX服務(wù)器組件)來擴(kuò)充功能。
(5)與任何ActiveXscripting語言兼容除了可使用VBScript和JavaScript語言進(jìn)行設(shè)計外,還可通過Plug-in的方式,使用由第三方所提供的其它scripting語言。
(6)源程序碼不會外漏ASP腳本在服務(wù)器上執(zhí)行,傳到用戶瀏覽器的只是ASP執(zhí)行結(jié)果所生成的常規(guī)HTML碼,這樣可保證辛辛苦苦編寫出來的程序代碼不會被他人盜取。
4.ASP程序舉例
一個ASP程序制作為.a(chǎn)sp擴(kuò)展名的文件,一般包括三部分:HTML標(biāo)記(tags)、VBScript或Jscript語言的程序代碼和ASP語法。下面我們介紹一個簡單的ASP程序,以增進(jìn)對ASP的了解。
<html>
<head>
<scriptrunat=serverLanguage=”Jscript”>
functionaspcall()
{Response.write("這是我寫的第一個ASP應(yīng)用程序");}
</script>
<title>這是一個ASP示例</title>
</head>
<body>
<%callaspcall%>
<br>
<%fori=1to5%>
<fontsize=<%=i%>color="#0000ff">電子商務(wù)前程無限,顯示字號<%=i%>號
</font>
<p>
<%next%>
</body>
</html>
將該文件保存成default.asp,然后啟動MS的Web服務(wù)器IIS,并將aspexample.asp放在IIS的主目錄下。
HTML標(biāo)記(tags)使用”<……>”將HTML程序碼包含起來;而ASP使用“〈%……%〉”將ASP的script程序代碼包含起來。當(dāng)用戶請求該ASP文檔時,服務(wù)器會將其中的程序代碼翻譯成相應(yīng)的HTML標(biāo)記傳送給客戶瀏覽器顯示。
有關(guān)ASP的詳細(xì)知識和應(yīng)用,我們在以后的章節(jié)中專門介紹。
六、PHP技術(shù)
1.什么是PHP
PHP是ProfessionalHypertextPreprocessor的縮寫,即超級文本預(yù)處理語言。他支持幾乎所有的操作系統(tǒng)(Linux、Unix、Windows95/98/NT、Macintosh)和web服務(wù)器(Apache、Netscapeservers、WebSitePro、MicrosoftInternetInformationServer),另外它還支持大部分的數(shù)據(jù)庫,例如:Oracle,Sybase,Solid,MySQ,mSQL,和PostgreSQL。PHP和ASP一樣是嵌入在HTML代碼中的語言,他們的功能也大致相似,都可以讀取數(shù)據(jù)庫中的信息并生成動態(tài)的頁面。它大量地借用c、Java和Perl語言的語法,并結(jié)合PHP自己的特性,使Web開發(fā)者能夠快速地寫出動態(tài)生成頁面。它支持目前絕大多數(shù)數(shù)據(jù)庫。最重要的一點,PHP是完全免費(fèi)的,不用花錢就可以從各個站點自由下載,而且可以不受限制地獲得源碼,甚至可以從中加進(jìn)用戶自己需要的特色。最新的源代碼可以在以下網(wǎng)址找到:,如圖4-4所示的是PHP網(wǎng)站主頁。
圖4-4PHP網(wǎng)站主頁
對于中小企業(yè)來說,使用PHP構(gòu)建電子商務(wù)網(wǎng)站無疑是最佳選擇。因為PHP是完全免費(fèi)的,并且開放源代碼。PHP在大多數(shù)Unix平臺,GUN/Linux和微軟Windows平臺上均可以運(yùn)行,而且安裝過程比較簡單。
2.PHP的特點
PHP具有以下幾個特點。
(1)開放的源代碼。所有的PHP源代碼事實上都可以得到。
(2)PHP是完全免費(fèi)的??梢缘较嚓P(guān)的網(wǎng)站上獲取所需要的資料,包括源代碼。
(3)基于服務(wù)器端。由于PHP是運(yùn)行在服務(wù)器端的,即使再多的用戶,再復(fù)雜的程序也不會影響運(yùn)行的速度。
(4)跨平臺的。PHP可以運(yùn)行在UNIX、LINUX、WINDOWS下。
(5)嵌入HTML。因為PHP可以嵌入HTML語言,所以學(xué)習(xí)起來并不困難。
(6)簡單的語言。PHP堅持腳本語言為主,與Java以C++不同。
(7)效率高。PHP消耗相當(dāng)少的系統(tǒng)資源。
(8)圖像處理。用PHP可以動態(tài)創(chuàng)建圖像
3.PHP程序舉例
PHP的編程語言類似與C和Perl。在使用它們之前您沒必要聲明任何變量,而且建立數(shù)組和Hash是很簡單的事情。
下面是一個簡單的PHP示例,其功能是把當(dāng)前的日期添加到HTML文件中。
<HTML>
<HEAD>
<TITLE>ThisismyfirstPHPscript</TITLE>
</HEAD>
<BODY>
<CENTER>我的第一個PHP腳本</CENTER>
<?php
$today=date("Y-m-d");
PRINT"<CENTER>今天是:$today.</CENTER>";
?>
</BODY>
</HTML>
要注意的是,<?……?>間為PHP語句,包含有PHP語句的文件,只有用后綴*.php3命名后(比如:firstphp.php3)才能夠被PHP3.0的解釋器所識別并進(jìn)行相應(yīng)的處理。
七、JSP技術(shù)
1.什么是JSP
JSP是JavaServerPages的縮寫,即Java服務(wù)器頁。JSP是通過使用小服務(wù)器程序(這些程序工作在服務(wù)器端,在將網(wǎng)頁傳送給用戶前改變其內(nèi)容)控制網(wǎng)頁內(nèi)容的技術(shù)。開發(fā)Java語言的Sun公司將JSP技術(shù)稱為小服務(wù)器程序API,它和Microsoft公司的ASP技術(shù)是兼容的。所不同的是,JSP是一段Java程序,它在服務(wù)器上直接運(yùn)行,而ASP是通過一個腳本解釋器間接執(zhí)行的。
JSP可以在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送email等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無JavaApplet,甚至無Frame。
2.JSP的工作原理
JSP與Microsoft的ASP技術(shù)非常相似,都是面向Web服務(wù)器的技術(shù)。不過ASP一般只應(yīng)用于WindowsNT/2000平臺,而JSP則可以不加修改運(yùn)行在多數(shù)平臺上,符合“一次編寫,各處運(yùn)行”的Java標(biāo)準(zhǔn)。
JavaBeans是一種基于Java的可重復(fù)使用的軟件組件,有點類似于Microsoft的COM組件的概念。在JSP程序中,JavaBeans常用來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等等,可以實現(xiàn)業(yè)務(wù)邏輯和前臺程序(如JSP程序)的分離?,F(xiàn)在,JavaBeans在服務(wù)器端的應(yīng)用非常廣泛,圖4-5所示的是一個JSPWeb程序通過JavaBeans對數(shù)據(jù)庫訪問的模型。
圖4-5JSPWeb程序?qū)?shù)據(jù)庫的訪問模型
當(dāng)Web服務(wù)器接收到一個JSP文件請求時,Web服務(wù)器將請求發(fā)送至JSP服務(wù)器(如Apache公司的Tomcat),JSP服務(wù)器對JSP文件進(jìn)行語法分析并將其編譯成Servlet。這個編譯過程僅在初
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (新教材)2026年滬科版八年級下冊數(shù)學(xué) 18.1 勾股定理 課件
- 崇義中學(xué)高一下學(xué)期第一次月考數(shù)學(xué)試題
- DB5107-T 137.1-2023 國家食品安全示范城市細(xì)胞工程建設(shè)規(guī)范 第1部分:食品生產(chǎn)行業(yè)典范企業(yè)
- 2025年辦公樓宇屋面防水協(xié)議
- 切割設(shè)備維護(hù)保養(yǎng)規(guī)范
- 基因編輯抗性機(jī)制
- 2025年AI心理咨詢的情感分析工具開發(fā) 共情對話技術(shù)支撐
- 2025年容錯糾錯機(jī)制建設(shè)研究
- 2025年高考化學(xué)有機(jī)推斷題真題深度剖析
- 專題03智慧養(yǎng)老-沖刺2025年高考地理熱點梳理情境對點練
- 2025年黨員黨的基本理論應(yīng)知應(yīng)會知識100題及答案
- 《汽車發(fā)動機(jī)構(gòu)造(雙語課程)》習(xí)題(按項目列出)
- 婚慶公司發(fā)布會策劃方案
- 松陵一中分班試卷及答案
- 《小米廣告宣傳冊》課件
- 勞務(wù)派遣公司工作方案
- 物理趣味題目試題及答案
- 華師大版數(shù)學(xué)七年級上冊《4.3 立體圖形的表面展開圖》聽評課記錄
- 2023-2024學(xué)年四川省成都市高二上學(xué)期期末調(diào)研考試地理試題(解析版)
- 陜西單招數(shù)學(xué)試題及答案
- 應(yīng)收賬款債權(quán)轉(zhuǎn)讓協(xié)議
評論
0/150
提交評論