freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

servlet和jsp技術(shù)簡(jiǎn)述英文文獻(xiàn)-資料下載頁(yè)

2024-10-14 08:21本頁(yè)面

【導(dǎo)讀】NagleandWiegley,Aug.2020,953–958.toinvest.inFigure1-1.insideadocument.parameters,andothersuchtasks.

  

【正文】 需要在請(qǐng)求發(fā)生時(shí)構(gòu)建響應(yīng)。但是,如果頁(yè)面周期性地改變,我們可以用兩種方式來(lái)處理它:周期性地在服務(wù)器上構(gòu)建新 的頁(yè)面(和客戶請(qǐng)求無(wú)關(guān)),或者僅僅在用戶請(qǐng)求該頁(yè)面時(shí)再構(gòu)建。具體應(yīng)該采用哪種方式要根據(jù)具體情況而定,但后一種方式常常更為方便,因?yàn)樗恍韬?jiǎn)單地等待用戶的請(qǐng)求。例如,天氣預(yù)報(bào)或新聞網(wǎng)站可能會(huì)動(dòng)態(tài)地構(gòu)建頁(yè)面,也有可能會(huì)返回之前構(gòu)建的頁(yè)面(如果它還是最新的話)。 頁(yè)面中使用了來(lái)自公司數(shù)據(jù)庫(kù)或其他數(shù)據(jù)庫(kù)斷數(shù)據(jù)源的信息。 如果數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,那么,即使客戶端使用動(dòng)態(tài) Web 內(nèi)容,比如 applet,我們依舊需要執(zhí)行服務(wù)器端處理。想象以下,如果一個(gè)搜索引擎網(wǎng)站完全使用 applet,那么用戶將會(huì)看到: “正在下載 50TB 的 applet,請(qǐng)等待! ”。顯然,這樣很愚蠢;這種情況下,我們需要與數(shù)據(jù)庫(kù)進(jìn)行會(huì)話。從客戶端到 Web 層再到數(shù)據(jù)庫(kù)(三層結(jié)構(gòu)),要比從 applet 直接到數(shù)據(jù)庫(kù)(二層結(jié)構(gòu))更靈活,也更安全,而性能上的損失很少甚至沒(méi)有。畢竟數(shù)據(jù)庫(kù)調(diào)用通常是對(duì)速度影響最大的步驟,因而,經(jīng)過(guò)中間層可以執(zhí)行高速緩存和連接共享。 理論上講, servelt 并非只用于處理 HTTP 請(qǐng)求的 Web 服務(wù)器或應(yīng)用服務(wù)器,它同樣可以用于其他類(lèi)型的服務(wù)器。例如, servlet 能夠嵌入到 FTP 或郵件服務(wù)器中,擴(kuò)展他們的功能。而且,用于會(huì)話啟動(dòng)協(xié)議服務(wù)器的 servlet API 最近已經(jīng)被標(biāo)準(zhǔn)化(參見(jiàn) servelt 的這種用法尚不流行,在此,我們只論述 HTTP Servlet。 Servlet 相對(duì)于“傳統(tǒng)” CGI 的優(yōu)點(diǎn) 和傳統(tǒng) CGI 及許多類(lèi) CGI 技術(shù)相比, Java servelt 效率更高、更易用、更強(qiáng)大、更容易移植、更安全、也更廉價(jià)。 效率 應(yīng)用傳統(tǒng)的 CGI,針對(duì)每個(gè) HTTP 請(qǐng)求都用啟動(dòng)一個(gè)新的進(jìn)程。如果 CGI 程序自身相對(duì)比較簡(jiǎn)短,那么啟動(dòng)進(jìn)程的開(kāi)銷(xiāo)會(huì)占用大部分執(zhí) 行時(shí)間。而使用 servelt, Java虛擬機(jī)會(huì)一直運(yùn)行,并用輕量級(jí)的 Java 線程處理每個(gè)請(qǐng)求,而非重量級(jí)的操作系統(tǒng)進(jìn)程。類(lèi)似地,應(yīng)用傳統(tǒng)的 CGI 技術(shù),如果存在對(duì)同一 CGI 程序的 N 個(gè)請(qǐng)求,那么CGI 程序的代碼會(huì)載入內(nèi)存 N 次。同樣的情況,如果使用 servlet 則啟動(dòng) N 個(gè)線程,單僅僅載入 servlet 類(lèi)的單一副本。這種方式減少了服務(wù)器的內(nèi)存需求,通過(guò)實(shí)例化更少的對(duì)象從而節(jié)省了時(shí)間。最后,當(dāng) CGI 程序結(jié)束對(duì)請(qǐng)求的處理之后,程序結(jié)束。這種方式難以緩存計(jì)算結(jié)果,保持?jǐn)?shù)據(jù)庫(kù)連接打開(kāi),或是執(zhí)行依靠持續(xù)性數(shù)據(jù)的其他優(yōu)化。然而, servelt 會(huì)一直停留在內(nèi)存中(即使請(qǐng)求處理完畢),因而可以直接存儲(chǔ)客戶請(qǐng)求之間的任意復(fù)雜數(shù)據(jù)。 便利 Servelt 提供大量的基礎(chǔ)構(gòu)造,可以自動(dòng)分析和解碼 HTML 的表單數(shù)據(jù),讀取和設(shè)置 HTTP 報(bào)頭,處理 cookie,跟蹤會(huì)話,以及其他次類(lèi)高級(jí)功能。而在 CGI 中,大部分工作都需要我們資金完成。另外,如果您已經(jīng)了解了 Java 編程語(yǔ)言,為什么還有學(xué)校 Perl呢?您已經(jīng)承認(rèn)應(yīng)用 Java 技 術(shù)編寫(xiě)的代碼要比 Visual Basic, VBScript或 C++編寫(xiě)的代碼更可靠,且更易重用,為什么還有倒退回去選擇那些語(yǔ)言來(lái)開(kāi)發(fā)服務(wù)器端的程序呢? 強(qiáng)大 Servlet 支持常規(guī) CGI 難以實(shí)現(xiàn)或根本不能實(shí)現(xiàn)的幾項(xiàng)功能。 Servlet 能夠直接于Web 服務(wù)器對(duì)話,而常規(guī)的 CGI 程序做不到這一點(diǎn),至少在不使用服務(wù)器專有 API的情況下是這樣。例如,與 Web 服務(wù)器的通信使得講相對(duì) URL轉(zhuǎn)換成具體的路徑名變得更為容易。多個(gè) servelt 還可以共享數(shù)據(jù),從而易于實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接共享和類(lèi)似的資源共享優(yōu)化。 Servelt 還能維護(hù)請(qǐng)求之間的信息,使得諸如會(huì)話跟蹤和計(jì)算結(jié)果緩存等技術(shù)變得更為簡(jiǎn)單。 可移植性 Servelt 使用 Java 編程語(yǔ)言,并且遵循標(biāo)準(zhǔn)的 API。所有主要的 Web 服務(wù)器。實(shí)際上都直接或通過(guò)插件支持 servlet。因此。為 Macromedia JRun編寫(xiě)的 servlet,可以不經(jīng)過(guò)任何修改地在 Apache Tomcat, Microsoft Inter Information Server, IBM WebSphere 。 iPla Enterprise Server。 Oracle9i AS 或者 StrNine WebStar 上運(yùn)行。他們是 java2 平臺(tái)企業(yè)版的一部分,所以對(duì) servlet 的支持越來(lái)越普遍。 廉價(jià) 對(duì)于開(kāi)發(fā)用的網(wǎng)站、低容量或中等容量網(wǎng)站的部署,有大量免費(fèi)或極為廉價(jià)的Web 服務(wù)器可供選擇。因此,通過(guò)使用 servelt 和 jsp,我們可以從免費(fèi)或廉價(jià)的服務(wù)器開(kāi)始,在項(xiàng)目獲得初步成功后,在移植到更高性能或高級(jí)管理工具的昂貴的服務(wù)器上。這與其他 CGI 方案形成鮮明的對(duì)比,這些 CGI 方案在初期都需要為購(gòu)買(mǎi)專利軟件包投入大量的資金。 價(jià)格和可移植性在某種程度上是相互關(guān)聯(lián)的。例如, Marty記錄了 所有通過(guò)電子郵件向他發(fā)送問(wèn)題的讀者的所在國(guó)。印度接近列表的頂端,可能僅次于美國(guó)。 Marty曾在馬尼拉講授過(guò) jsp 和 servlet 培訓(xùn)課程,那兒對(duì) servelt 和 jsp 技術(shù)抱很大的興趣。 那么,為什么印度和菲律賓都對(duì)這項(xiàng)技術(shù)著呢感興趣呢?我們推測(cè)答案可能分兩部分。首先,這兩個(gè)國(guó)家都擁有大量訓(xùn)練有素的軟件開(kāi)發(fā)人員。其次,這兩個(gè)國(guó)家的貨幣對(duì)美元的匯率都極為不利。因此,從美國(guó)公司那里購(gòu)買(mǎi)專用 Web 服務(wù)器會(huì)消耗掉項(xiàng)目的大部分前期資金。 但是,使用 servlet 和 JSP,他們能夠從免費(fèi)的服務(wù)器開(kāi)始: Apache Tomcat。項(xiàng)目取得成功之后,他們可以轉(zhuǎn)移到性能更高、管理更容易,但需要付費(fèi)的服務(wù)器。他們的 servelt 和 jsp 不需要重寫(xiě)編寫(xiě)。如果他們的項(xiàng)目變得更龐大,他們或許希望轉(zhuǎn)移到分布式環(huán)境。沒(méi)有問(wèn)題:他們可以轉(zhuǎn)而使用 Macromedia JRun Professional,該服務(wù)器支持分布式應(yīng)用。同樣,他們的 servelt 和 jsp 沒(méi)有任何部分需要重寫(xiě)。如果項(xiàng)目變得極為龐大,錯(cuò)綜復(fù)雜,他們或許希望使用 Enterprise JavaBeans 來(lái)封裝他們的商業(yè)邏輯。因此,他們可以切換到 BEA WebLogic 或 Oracle9i AS。同樣,不需要對(duì) servlet和 jsp 做出更改。最后,如果他們的項(xiàng)目變得更龐大,他們或許將他從 Linux 轉(zhuǎn)移到運(yùn)行 IBM WebSphere 的 IBM 大型機(jī)上。他們還是不需要做出任何更改。 安全 傳統(tǒng) CGI 程序中主要的漏洞來(lái)源之一就是, CGI 程序常常由通過(guò)的操作系統(tǒng)外殼來(lái)執(zhí)行。因此 ,CGI 程序必須仔細(xì)地過(guò)濾掉那些可能被外殼特殊處理的字符,如反引導(dǎo)和分號(hào)。實(shí)現(xiàn)這項(xiàng)預(yù)防措施的難度可能超出我們的想象,在廣泛應(yīng)用的 CGI 庫(kù)中,不斷發(fā)現(xiàn)由這類(lèi)問(wèn)題引發(fā)的弱點(diǎn)。 問(wèn)題的第二個(gè)來(lái)源是,一些 CGI 程序用不自動(dòng) 檢查數(shù)組和字符串邊界的語(yǔ)言編寫(xiě)而成。例如,在 C 和 C++中,可以分配一個(gè) 100 個(gè)元素的數(shù)組,然后向第 999個(gè) “元素 “寫(xiě)入數(shù)據(jù) ——實(shí)際上是程序內(nèi)存的隨機(jī)部分,這完全合法。因而,如果程序員忘記執(zhí)行這項(xiàng)檢查,就會(huì)將系統(tǒng)暴露在蓄意或偶然的緩沖區(qū)溢出攻擊之下。 Servelt 不存在這些問(wèn)題。即使 servelt 執(zhí)行系統(tǒng)調(diào)用激活本地操作系統(tǒng)上的程序,它也不會(huì)用到外殼來(lái)完成這項(xiàng)任務(wù)。當(dāng)然,數(shù)組邊界的檢查以及其他內(nèi)存包含特性是java 編程語(yǔ)言的核心部分。 主流 雖然存在許多很好的技術(shù),但是,如果提供商助支持他們,或開(kāi)發(fā)人員 不知道如何使用這些技術(shù),那么它們的優(yōu)點(diǎn)又如何體現(xiàn)呢? servelt 和 jsp 技術(shù)得到服務(wù)器提供商的廣泛支持,包括 Apache, Oracle, IBM, Sybase, BEA, Maromedia, Causho,Sun/iPla, New Atlanta, ATG, Fujitsu, Lutris, Silverstream, World Wide Web Consortinrm ,以及其他服務(wù)器。存在幾種低廉的插件,通過(guò)應(yīng)用這些插件, Microsoft IIS 和 Zeus 也同樣支持 servlet 和 jsp 技 術(shù) , 它 們運(yùn) 行 在 Windows ,Unix/Linus,MacOS,VMS,和 IBM 大型機(jī)操作系統(tǒng)之上。它們用在航空業(yè)、電子商務(wù)、在線銀行、 web 搜索引擎、門(mén)戶、大型金融網(wǎng)站、以及成百上千您日常光顧的其他網(wǎng)站。 當(dāng)然,僅僅是流行并不能證明技術(shù)的優(yōu)越性。很多泛美的例子。但我們的立場(chǎng)是:服務(wù)器端 Java 本非一項(xiàng)新的、為經(jīng)證實(shí)的技術(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1