最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Servlet服務(wù)小程序VS傳統(tǒng)技藝CGI 優(yōu)勢(shì)明顯~

2021-05-20 16:26 作者:自學(xué)Python的小姐姐呀  | 我要投稿



一、Web開發(fā)歷史回顧

? ? ? ? ?靜態(tài)資源:不需要運(yùn)行代碼生成的資源, HTML CSS JS 多媒體。

? ? ? ? ?動(dòng)態(tài)資源:每次獲得都是需要運(yùn)行代碼生成的資源,每次訪問返回的數(shù)據(jù)都可能是不一樣的servlet jsp。


二、CGI

? ? ? ? CGI(Common Gateway Interface)公共網(wǎng)關(guān)接口,是外部擴(kuò)展應(yīng)用程序與Web服務(wù)器交互的一個(gè)標(biāo)準(zhǔn)接口。服務(wù)器端與客戶端進(jìn)行交互的常見方式有多種,CGI 技術(shù)是其中之一。

? ? ? ? CGI 應(yīng)用程序能與瀏覽器進(jìn)行交互,還可通過數(shù)據(jù)API與數(shù)據(jù)庫服務(wù)器等外部數(shù)據(jù)源進(jìn)行通信,從數(shù)據(jù)庫服務(wù)器中獲取數(shù)據(jù)。格式化為HTML文檔后,發(fā)送給瀏覽器,也可以將從瀏覽器獲得的數(shù)據(jù)放到數(shù)據(jù)庫中。

? ? ? ? 幾乎所有服務(wù)器都支持CGI,可用任何語言編寫CGI,包括流行的C、C ++、Java、VB 和Delphi 等。


三、CGI缺點(diǎn)

以進(jìn)程方式運(yùn)行,對(duì)每一個(gè)客戶端的請(qǐng)求都要啟動(dòng)一個(gè)進(jìn)程來運(yùn)行程序,導(dǎo)致用戶數(shù)目增加時(shí),服務(wù)器端資源被大量占用。

由于對(duì)操作系統(tǒng)和進(jìn)程的不深刻理解,使得開發(fā)人員開發(fā)的CGI程序經(jīng)常遇到莫名其妙的錯(cuò)誤。

不同的CGI之間不能共享資源

四、Servlet 與 CGI 比較

? ? ? ?與傳統(tǒng)的 CGI 和許多其他類似 CGI 的技術(shù)相比,Java Servlet 具有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。在未來的技術(shù)發(fā)展過程中,Servlet 有可能徹底取代 CGI。

? ? ? ?在傳統(tǒng)的 CGI中,每個(gè)請(qǐng)求都要啟動(dòng)一個(gè)新的進(jìn)程,如果 CGI 程序本身的執(zhí)行時(shí)間較短,啟動(dòng)進(jìn)程所需要的開銷很可能反而超過實(shí)際執(zhí)行時(shí)間。而在 Servlet 中,每個(gè)請(qǐng)求由一個(gè)輕量級(jí)的 Java 線程處理(而不是重量級(jí)的操作系統(tǒng)進(jìn)程)。


? ? ? 在傳統(tǒng) CGI 中,如果有 N 個(gè)并發(fā)的對(duì)同一 CGI程序的請(qǐng)求,則該CGI程序的代碼在內(nèi)存中重復(fù)裝載了 N 次;而對(duì)于 Servlet,處理請(qǐng)求的是 N 個(gè)線程,只需要一份 Servlet 類代碼。在性能優(yōu)化方面,Servlet 也比 CGI 有著更多的選擇。

方便

Servlet 提供了大量的實(shí)用工具例程,例如自動(dòng)地解析和解碼 HTML 表單數(shù)據(jù)、讀取和設(shè)置 HTTP頭、處理Cookie、跟蹤會(huì)話狀態(tài)等。

功能強(qiáng)大

在Servlet中,許多使用傳統(tǒng) CGI 程序很難完成的任務(wù)都可以輕松地完成。例如,Servlet 能夠直接和 Web服務(wù)器交互,而普通的 CGI 程序不能。Servlet 還能夠在各個(gè)程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫連接池之類的功能很容易實(shí)現(xiàn)。

可移植性好

Servlet 用 Java 編寫,Servlet API具有完善的標(biāo)準(zhǔn)。因此,為 IPlanet Enterprise Server 寫的 Servlet 無需任何實(shí)質(zhì)上的改動(dòng)即可移植到 Apache、MicrosoftIIS 或者 WebStar。幾乎所有的主流服務(wù)器都直接或通過插件支持 Servlet。

節(jié)省投資

不僅有許多廉價(jià)甚至免費(fèi)的 Web 服務(wù)器可供個(gè)人或小規(guī)模網(wǎng)站使用,而且對(duì)于現(xiàn)有的服務(wù)器,如果它不支持 Servlet 的話,要加上這部分功能也往往是免費(fèi)的(或只需要極少的投資)。

六、FastCGI

FastCGI是對(duì)CGI模式的一個(gè)改進(jìn),采用了Pooling技術(shù),一定程度上改善了性能,但是由于仍然是基于進(jìn)程運(yùn)行的所以并沒有從根本上解決問題。

七、Servlet與 Applet 的比較

相似之處:

它們不是獨(dú)立的應(yīng)用程序,沒有 main() 方法。

它們不是由用戶或程序員調(diào)用,而是由另外一個(gè)應(yīng)用程序(容器)調(diào)用。

它們都有一個(gè)生存周期,包含 init() 和 destroy() 方法。

不同之處:

Applet具有很好的圖形界面(AWT),與瀏覽器一起,在客戶端運(yùn)行。

Servlet 則沒有圖形界面,運(yùn)行在服務(wù)器端。

八、 Servlet介紹

? ? ? Servlet(Server Applet)是Java Servlet的簡(jiǎn)稱,稱為小服務(wù)程序或服務(wù)連接器,用Java編寫的服務(wù)器端程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。


? ? ? 狹義的Servlet是指Java語言實(shí)現(xiàn)的一個(gè)接口,廣義的Servlet是指任何實(shí)現(xiàn)了這個(gè)Servlet接口的類,一般情況下,人們將Servlet理解為后者。Servlet運(yùn)行于支持Java的應(yīng)用服務(wù)器中。從原理上講,Servlet可以響應(yīng)任何類型的請(qǐng)求,但絕大多數(shù)情況下Servlet只用來擴(kuò)展基于HTTP協(xié)議的Web服務(wù)器。

? ? ? 最早支持Servlet標(biāo)準(zhǔn)的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服務(wù)器開始支持標(biāo)準(zhǔn)的Servlet。


九、 Servlet技術(shù)特點(diǎn)

Servlet使用單進(jìn)程多線程方式運(yùn)行。

十、Servlet在應(yīng)用程序中的位置

? ? ? ? ? ? ? ? ? ? ? ?同學(xué)想要學(xué)習(xí)《Servlet:服務(wù)端小程序》

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 點(diǎn)擊上方鏈接即可學(xué)習(xí)



Servlet服務(wù)小程序VS傳統(tǒng)技藝CGI 優(yōu)勢(shì)明顯~的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
屯留县| 永康市| 大冶市| 河曲县| 海原县| 佛学| 新民市| 慈利县| 沙洋县| 保亭| 上犹县| 保康县| 江油市| 同德县| 石城县| 宁城县| 岐山县| 吕梁市| 闸北区| 涿州市| 保定市| 平阴县| 珠海市| 炉霍县| 翁源县| 崇礼县| 吉安县| 施秉县| 镇康县| 贞丰县| 南召县| 正定县| 武鸣县| 专栏| 海阳市| 临朐县| 大丰市| 昆明市| 安康市| 通海县| 邹平县|