![第1章 JavaWeb開發(fā)技術(shù)概述_第1頁](http://file4.renrendoc.com/view/ca687447e660ad38e99ce1dc18daa399/ca687447e660ad38e99ce1dc18daa3991.gif)
![第1章 JavaWeb開發(fā)技術(shù)概述_第2頁](http://file4.renrendoc.com/view/ca687447e660ad38e99ce1dc18daa399/ca687447e660ad38e99ce1dc18daa3992.gif)
![第1章 JavaWeb開發(fā)技術(shù)概述_第3頁](http://file4.renrendoc.com/view/ca687447e660ad38e99ce1dc18daa399/ca687447e660ad38e99ce1dc18daa3993.gif)
![第1章 JavaWeb開發(fā)技術(shù)概述_第4頁](http://file4.renrendoc.com/view/ca687447e660ad38e99ce1dc18daa399/ca687447e660ad38e99ce1dc18daa3994.gif)
![第1章 JavaWeb開發(fā)技術(shù)概述_第5頁](http://file4.renrendoc.com/view/ca687447e660ad38e99ce1dc18daa399/ca687447e660ad38e99ce1dc18daa3995.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章JavaWeb開發(fā)技術(shù)概述J2EE(Java2Platform,EnterpriseEdition)平臺建立在J2SE(Java2Platform,StandardEdition)的基礎(chǔ)上,為企業(yè)級應(yīng)用提供了完整、穩(wěn)定、安全和快速的Java平臺。J2EE平臺提供的Web開發(fā)技術(shù)主要支持兩類軟件的開發(fā)和應(yīng)用,一類是做高級信息系統(tǒng)框架的Web應(yīng)用服務(wù)器(Webapplicationserver),另一類是在Web應(yīng)用服務(wù)器上運行的Web應(yīng)用(Webapplication)o本章首先分析了J2EE體系結(jié)構(gòu),然后在此基礎(chǔ)上介紹了容器、組件、Web應(yīng)用、J2EE應(yīng)用等與JavaWeb開發(fā)技術(shù)密切相關(guān)的基本概念。最后,闡述了組成J2EE體系結(jié)構(gòu)的各層所應(yīng)用的JavaWeb開發(fā)技術(shù)、運行原理以及所提供的各種服務(wù)。1.1J2EE體系結(jié)構(gòu)J2EE體系結(jié)構(gòu)定義了4個不同的層,自上而下的方向分別是:客戶層(clienttier)、表示邏輯層(presentationlogictier)也稱為Web層(Webtier)、業(yè)務(wù)層(businesstier)和數(shù)據(jù)層(datatier)。1.概述J2EE體系結(jié)構(gòu)如圖1.1所示。與最終用戶進行交互的前端表示組件在邏輯上被劃分到了客戶層,而提供數(shù)據(jù)存儲與訪問功能的組件被劃分到了數(shù)據(jù)層。另一方面,在邏輯上駐留在前端與后端之間的中間層可能由一個表示邏輯層和一個業(yè)務(wù)層組成。表示邏輯層包括基于Internet協(xié)議和Web協(xié)議(HTTP、HTTPS、HTML和XML)提供應(yīng)用功能的組件,業(yè)務(wù)層由捕獲企業(yè)業(yè)務(wù)邏輯的組件組成,這兩個層在邏輯上可劃分為完全分離的兩層,每一個分離的層都是獨立的,從而使J2EE支持分布式4層(或者n層)應(yīng)用。J2EE是一個靈活的結(jié)構(gòu),它不將開發(fā)人員鎖定到特定數(shù)量的層上,并且不詳細規(guī)定對于這些邏輯分組的物理分離。在網(wǎng)絡(luò)計算環(huán)境上,一個普通的應(yīng)用可以在一臺計算機上同時運行表示邏輯層和業(yè)務(wù)層(甚至可以包括數(shù)據(jù)層),而高級的應(yīng)用可以在若干臺計算機上從物理上分隔每一層。2.J2EE應(yīng)用隨著Web和Internet的發(fā)展,越來越多的企業(yè)開始開發(fā)與部署基于Web的企業(yè)內(nèi)部網(wǎng)和外部網(wǎng),而J2EE為基于Web的企業(yè)應(yīng)用提供了強有力的支持。在Web環(huán)境下,術(shù)語“企業(yè)(enterprise)”描述的是依照一組公共規(guī)則進行運作的任何組織。從廣義上說,“J2EE應(yīng)用(J2EEapplication)"只是特定于企業(yè)的軟件程序,它基于控制組織的一般規(guī)則中的某一部分來提供某種形式的功能。例如,企業(yè)可以使用J2EE創(chuàng)建自動化的購貨訂單處理應(yīng)用,而大學則可以使用J2EE來構(gòu)建學生選課系統(tǒng)。
Applet容器應(yīng)用客戶端容器JavaApplet客戶應(yīng)用程序rHTTP/HTTPSXML/HTMLRMI-IIOPF 1HTML容器(X)HTML、XMLApplet容器應(yīng)用客戶端容器JavaApplet客戶應(yīng)用程序rHTTP/HTTPSXML/HTMLRMI-IIOPF 1HTML容器(X)HTML、XML11ServWeb容器ets、JSPs、.「STLRMI-IIOPJDBC和連接器RDBMS和ERPEJB容器:會話Bean、會體Bean、消息驅(qū)動Bean表示邏輯層JDBC和連接器JDBC和連接器1數(shù)據(jù)層IJ 圖山—J2EE體系結(jié)構(gòu)術(shù)語“企業(yè)應(yīng)用(enterpriseapplication)”與“分布式應(yīng)用(distributedapplication)”的含義是相同的,因為每一個為企業(yè)構(gòu)建的應(yīng)用都是以某種方式分布在網(wǎng)絡(luò)上的?!捌髽I(yè)應(yīng)用”只是另一種用于描述分布式多層應(yīng)用的方法,這種應(yīng)用分散在組織機構(gòu)的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的不同層上。從組件開發(fā)的視角看,J2EE支持簡化的、基于組件的開發(fā)模型。在這種模型中,企業(yè)應(yīng)用是通過使用Java語言編寫的重用軟件組織進行組裝而成的。J2EE是使用Java構(gòu)建新型分布式多層應(yīng)用的事實標準,是完全基于J2SE的。也就是說,J2EE實際上是在J2SE之上加入了大量的企業(yè)級API和功能,從企業(yè)應(yīng)用開發(fā)中提取關(guān)鍵要素,進而使開發(fā)人員能夠簡單而有效地創(chuàng)建廣泛的分布式應(yīng)用。從開發(fā)層次上看,J2EE是基于分布式多層應(yīng)用模型的。在這種模型中,應(yīng)用功能在邏輯上分布在聯(lián)網(wǎng)計算環(huán)境中各個級別或各個層上,每一層表示大多數(shù)企業(yè)應(yīng)用所共有的相關(guān)概念集合。也就是說,J2EE應(yīng)用由軟件組件構(gòu)成,而這些軟件組件根據(jù)它們在整個應(yīng)用結(jié)構(gòu)中所起的作用進行了分組,J2EE組件在其對應(yīng)的層上部署,并且在對應(yīng)層的容器中運行。容器能夠提供標準的服務(wù),同時使組件能夠訪問對應(yīng)層的API。分布式多層應(yīng)用(DistributedMultitieredApplication)描述的是其各部分的軟件組件分布在網(wǎng)絡(luò)各個不同的層或計算級別上的軟件應(yīng)用。多層結(jié)構(gòu)是J2EE的核心,在多層結(jié)構(gòu)中,組成應(yīng)用的各種組件在邏輯上是分離的或者是分布式的,跨越網(wǎng)絡(luò)計算環(huán)境的各個級別或各層。多層應(yīng)用在邏輯上對組件進行分組的依據(jù)是這些組件在整個應(yīng)用結(jié)構(gòu)中執(zhí)行的功能,所以這里的“層”代表功能的邏輯層或邏輯級別。
多層應(yīng)用的各個層表示功能的邏輯分離,而不是表示物理分離。例如,組成J2EE應(yīng)用的組件可能在邏輯上分布在客戶層、表示邏輯層、業(yè)務(wù)層和數(shù)據(jù)層上,而這些層在物理上可以分布在任何數(shù)量的計算機系統(tǒng)中。一般地“Web應(yīng)用”可以定義為:一個由HTML/XML文檔、JavaServlet、JSP(JavaServerPages)、JSTL(JavaServerPagesStandardTagLibrary)、類以及其他任何種類文件可以捆綁起來,并在來自多個廠商的多個Web容器上運行的Web資源構(gòu)成的集合??梢詫eb應(yīng)用從一個服務(wù)器移到另外一個服務(wù)器,或者移動到同一服務(wù)器的不同位置,而不需要對組成Web應(yīng)用的任何種類的文件作任何改動。容器“容器(container)”指的是提供特定程序組件服務(wù)的標準化運行時環(huán)境,通過這些組件,可以在任何供應(yīng)商提供的J2EE平臺上得到所期望的服務(wù)。容器的作用是為組件提供與部署、執(zhí)行、生命周期管理、安全和其他組件需求相關(guān)的服務(wù)。此外,不同類型的容器明確地為它們管理的各種類型的組件提供附加服務(wù)。例如,J2EEWeb容器都提供響應(yīng)客戶請求、執(zhí)行請求時間的處理,以及將結(jié)果返回到客戶端的運行時環(huán)境支持。J2EE容器還負責管理某些基本服務(wù),像諸如組件的生命周期、數(shù)據(jù)庫連接資源的共享、數(shù)據(jù)持久性等。一般地,軟件開發(fā)人員只要開發(fā)出滿足J2EE應(yīng)用需要的組件并能安裝在容器內(nèi)就可以了。程序組件的安裝過程包括設(shè)置各個組件在J2EE應(yīng)用服務(wù)器中的參數(shù),以及設(shè)置J2EE應(yīng)用服務(wù)器本身,這些設(shè)置決定了在底層由J2EE服務(wù)器提供的多種服務(wù)(例如,安全、交易管理、JNDI查尋和遠程方法調(diào)用等)。J2EE平臺對每一種主要的組件類型都定義了相應(yīng)的容器類型。J2EE平臺由Applet容器和應(yīng)用客戶端容器(applicationclientcontainer)、Web容器(Servlet和JSP容器)和EJB容器(EnterpriseJavaBeansContainer)等4種類型的程序容器組成。EJB容器——為EnterpriseJavaBean組件提供運行時環(huán)境,它對應(yīng)于業(yè)務(wù)層和數(shù)據(jù)訪問層,主要負責數(shù)據(jù)處理以及和數(shù)據(jù)庫或其他Java程序的通信。Web容器——管理JSP和Servlet等Web組件的運行,主要負責Web應(yīng)用和瀏覽器的通信,它對應(yīng)于表示層。?應(yīng)用客戶端容器——負責Web應(yīng)用在客戶端組件的運行,它對應(yīng)于用戶界面層。Applet容器 負責在Web瀏覽器和Java插件(JavaPlug-in)上運行JavaApplet程序,它對應(yīng)于用戶界面層。每種容器內(nèi)都使用相關(guān)的各種JavaWeb編程技術(shù)。這些技術(shù)包括應(yīng)用組件技術(shù)例如,Servlet,JSP,EJB等技術(shù)構(gòu)成了應(yīng)用的主體)應(yīng)用服務(wù)技術(shù)(例如JDBC,JNDI等服務(wù)保證組件具有穩(wěn)定的運行時環(huán)境)通信技術(shù)(例如,RMI,JavaMail等技術(shù)在平臺底層實現(xiàn)機器和應(yīng)用程序之間的信息傳遞)等3類。本書第2章介紹了開發(fā)Web應(yīng)用的集成開發(fā)環(huán)境OracleJDeveloper10g,第3章介紹了如何基于OracleJDeveloper10g開發(fā)Java應(yīng)用程序,第4章介紹了Web開發(fā)的執(zhí)行環(huán)境OC4J(OracleContainersForJ2EE)10g。皆-122組件為了降低軟件開發(fā)成本,適應(yīng)企業(yè)快速發(fā)展的需求,J2EE平臺提供了基于組件的方式設(shè)計、開發(fā)、組裝和部署企業(yè)應(yīng)用系統(tǒng)。按照這種方式開發(fā)出來的J2EE組件,不依賴于某個特定廠商提供的產(chǎn)品或者API。不管是開發(fā)商還是最終用戶,都有最大的自由去選擇那些能更好地滿足業(yè)務(wù)或技術(shù)需求的產(chǎn)品或組件。1.組件的概念組件(component)是指在應(yīng)用程序中能發(fā)揮特定功能的軟件單位。組件實質(zhì)上就是幾種特定的Java程序,只不過這些程序被規(guī)定了固定的格式和編寫方法,它們的功能和使用方式在一定程度上被標準化了。例如,在Java2標準版中提供的JavaBean組件,就是按照特定格式編寫的Java類文件。JavaBean可以通過getXXX()和setXXX()方法訪問實例變量中的數(shù)據(jù)。2.組件的類型J2EE平臺主要提供了以下3類J2EE組件:客戶端組件——客戶端的Applet和客戶端應(yīng)用程序。Web組件——Web容器內(nèi)的JSP、Servlet、Web過濾器、Web事件監(jiān)聽器。EJB組件——EJB容器內(nèi)的EJB組件。組件與容器的關(guān)系概括如下:組件是組裝到J2EE應(yīng)用中獨立的軟件功能單元,每一個J2EE組件在容器中執(zhí)行,容器為組件提供標準服務(wù)和API,容器充當通向底層J2EE平臺的接口?!斑B接器(connector)”在概念上駐留在J2EE平臺的下方,連接器提供了可移植服務(wù)的API,J2EE應(yīng)用使用這些API來插入到現(xiàn)有的企業(yè)應(yīng)用中。連接器也稱為資源適配器,連接器為J2EE體系結(jié)構(gòu)增加了另一種靈活性。下面從組件和容器的視角審視J2EE應(yīng)用的定義:J2EE應(yīng)用由軟件組件構(gòu)成,這些軟件組件根據(jù)其各自所屬的層進行了分類。組成J2EE應(yīng)用的各種組件在對應(yīng)容器中執(zhí)行,容器為組件提供底層J2EEAPI的統(tǒng)一視圖。?容器管理組件,并且為組件提供多種系統(tǒng)級服務(wù)。例如,生命周期管理、事務(wù)管理、數(shù)據(jù)緩存、異常處理實例池、線程以及安全性。也就是說,J2EE應(yīng)用以分布式組件集合的形式存在,而各分布式軟件組件在其各自的容器中運行。?J2EE客戶為應(yīng)用提供用戶界面。客戶端向最終用戶提供了一個窗口,最終用戶可以通過該窗口使用J2EE應(yīng)用提供的各種服務(wù)??蛻魧佑脕硖幚鞪2EE應(yīng)用的客戶表示和用戶界面。客戶層用現(xiàn)實世界中的桌面計算機、Internet設(shè)備或者無線設(shè)備表示。J2EE應(yīng)用可以和多種客戶端程序?qū)崿F(xiàn)連接,主要包括Web客戶、Applet客戶和應(yīng)用客戶。Web客戶Web客戶由瀏覽器和Web頁面集合(HTML和XML等)兩部分組成。Web頁面由瀏覽器提供,用來向最終用戶提供進入企業(yè)應(yīng)用的界面。由Web客戶提供的各種Web頁面是通過駐留在Web層的Web組件動態(tài)創(chuàng)建的。通常,產(chǎn)生Web客戶內(nèi)容的Web組件是Servlet和JSP。Web容器負責管理駐留在Web服務(wù)器上的Servlet和JSP組件的執(zhí)行,這些組件和Web容器又運行在J2EE服務(wù)器上。瀏覽器的功能是負責將頁面正確地顯示給用戶,并不承擔復(fù)雜的數(shù)據(jù)檢索和計算任務(wù)。這些復(fù)雜而又耗時的操作在J2EE服務(wù)器端的Web容器和EJB容器內(nèi)進行,所以Web客戶也被稱為“瘦客戶”瀏覽器是通過HTTP協(xié)議來與J2EE服務(wù)器的特定端口進行通信的。瀏覽器具有以下一些主要功能:?以特定格式顯示HTML文件。?獲取客戶的點擊并轉(zhuǎn)化成HTTP請求(request)。連接Web服務(wù)器,發(fā)出HTTP請求并接收處理響應(yīng)(response)。管理客戶和服務(wù)器之間的對話狀態(tài)(SessionState)。除上述這些基礎(chǔ)功能之外,還包括一些附屬功能。例如,設(shè)定用戶的Web安全機制、存取頁面和快捷連接、下載文件等。在下列場合下可以優(yōu)先考慮使用Web客戶:J2EE應(yīng)用的最終用戶駐留在企業(yè)的外部。J2EE應(yīng)用的最終用戶由于只需要使用Web瀏覽器而不容易進行管理。最終用戶不一定要下載或安裝任何特殊的軟件。Web客戶和Applet客戶不應(yīng)當與業(yè)務(wù)層組件產(chǎn)生直接的依賴關(guān)系。盡管從技術(shù)角度講,Web客戶可以通過使用Applet(應(yīng)用RMI或CORBA)來直接訪問位于業(yè)務(wù)層上的組件。然而,最理想的方式是讓Web客戶通過Web層來與業(yè)務(wù)層上的EJB組件進行交互,這樣就可以使業(yè)務(wù)層獨立于客戶。也就是說,對業(yè)務(wù)層的改變不需要對客戶端進行相應(yīng)的改變,因為Web層可以代表客戶處理這種改變。▼一1.3.2Applet客戶由Web層組件產(chǎn)生的Web頁面可以包含嵌入式Applet。Applet是使用Java語言編寫的輕量級客戶程序,一般是在Web瀏覽器的上下文中執(zhí)行。在Web瀏覽器中執(zhí)行的Applet客戶是通過HTTP協(xié)議和Web層進行通信,與Web客戶類似,這樣的Applet客戶同樣不能直接訪問業(yè)務(wù)層。Applet容器負責管理Applet客戶的運行時執(zhí)行,一般情況下由Web瀏覽器和Java插件組成.Applet的優(yōu)點是可以提供在一處管理的豐富圖形用戶界面,主要缺點是Applet很難部署,尤其是當瀏覽器運行在一個嵌入不同版本的Java虛擬機上時更是如此。七一133應(yīng)用客戶應(yīng)用客戶是使用Java語言編寫,在標準的JVM上運行的Java應(yīng)用程序。應(yīng)用客戶對J2SEAPI具有完全的訪問能力,可以使用Java語言的Swing和AWT庫構(gòu)建具有復(fù)雜功能和豐富的圖形用戶界面。與Web客戶和Applet客戶不同的是,應(yīng)用客戶是指獨立運行的Java應(yīng)用程序,它不使用Web瀏覽器來執(zhí)行,而是在客戶容器內(nèi)執(zhí)行,使用RMI—IIOP(RemoteMethodInvocation,RMI;InternetInter-ORBProtocol,IIOP)協(xié)議與業(yè)務(wù)層的EJB組件進行完全的交互,而不需要通過Web層作為中間媒介。同樣,應(yīng)用客戶對由低層J2SE平臺提供的J2EE服務(wù)(如JDBC服務(wù))也具有完全的訪問權(quán)限。在選擇客戶端技術(shù)時,可以根據(jù)程序的具體功能要求和應(yīng)用場合來確定。?如果Web應(yīng)用是通用的電子商務(wù)網(wǎng)站采用Web瀏覽器作為客戶端是最合適的選擇。?如果Web應(yīng)用要求使用者隨時地獲取信息,程序的客戶端可以采用無線設(shè)備。如果Web應(yīng)用要求具有復(fù)雜快速的用戶界面,就應(yīng)該考慮在客戶端使用Applet或獨立運行的Java應(yīng)用程序。有時,還應(yīng)該考慮Web帶寬要求、反應(yīng)速度和安全性等具體情況。用戶的使用環(huán)境也直接影響到對客戶程序的選擇。如果Web應(yīng)用要求用戶可以在各種操作系統(tǒng)上都能夠使用,那么就應(yīng)該盡量使用標準的瀏覽器和Java技術(shù)作為程序客戶端。Web層負責處理瘦客戶端的HTTP請求和響應(yīng)。Web層包括標準化的動態(tài)頁面生成程序和控制用戶界面的程序,它是終端用戶和系統(tǒng)程序的接口。通過與業(yè)務(wù)層互動,Web層將用戶需要的信息以適當?shù)母袷捷敵?。Web層與客戶層的主要區(qū)別有以下兩點:第一,Web層主要在Web服務(wù)器端工作,而用戶界面通過Web瀏覽器在客戶端工作,兩者之間通過Web通信;第二,Web層側(cè)重于信息格式的處理,而用戶界面則主要是方便人的理解和操作。例如,JSP文件在Web服務(wù)器端編譯和運行,主要從數(shù)據(jù)庫獲取信息并傳遞給客戶,而JSP傳出的HTML文件在Web瀏覽器上顯示。此時,JSP文件在Web層,HTML頁面是用戶界面。Web組件Web組件是處理客戶請求的軟件實體為客戶請求創(chuàng)建和返回一個合適的響應(yīng)HTML文檔或XML文檔)。Web組件駐留在Web層,為J2EE應(yīng)用提供服務(wù)器端的表示能力,使用標準的Web協(xié)議(HTTP/HTTPS)提供動態(tài)創(chuàng)建的內(nèi)容°J2EE1.4規(guī)范定義了4種不同的Web組件類型:JavaServletJSP、Web過濾器,以及Web事件監(jiān)聽器,如圖1.2所示??蛻魧?Web層 業(yè)務(wù)層 數(shù)據(jù)庫 圖12Web組件概念示意圖Web組件在Web服務(wù)器上的Web容器里運行,可以在Web服務(wù)器端對客戶發(fā)出的HTTP請求進行響應(yīng),也可以根據(jù)需要同其他服務(wù)器端組件進行交互。除了直接同客戶交互外,Web組件還可以充當Applet客戶與在業(yè)務(wù)層和數(shù)據(jù)層上運行的服務(wù)器端組件之間的中間媒介。這是因為Applet不能直接訪問業(yè)務(wù)層和數(shù)據(jù)層,所以要從這兩層獲得需要的功能必須經(jīng)由Web層來實現(xiàn)。1.JavaServlet相對于在瀏覽器上運行的Applet而言,Servlet是在服務(wù)器上運行的,用Java語言編寫的程序。Servlet是用Java語言書寫的一種協(xié)議,是與平臺無關(guān)的服務(wù)器端組件,可在支持Servlet的Web服務(wù)器上運行。Servlet被裝載到Web服務(wù)器后,在JVM上執(zhí)行,所以不需要任何圖形用戶界面。Servlet為客戶端和服務(wù)器端的信息處理提供了一種“請求一響應(yīng)(request-response)”模式的運行機制,而JavaServletAPI為處理客戶端和服務(wù)器端之間的請求和應(yīng)答信息定義了標準接口。Servlet的基本運行方式如圖1.3所示。 圖1.3_Servlet的基本運行方式?如果是靜態(tài)HTML頁面,Web服務(wù)器將會自行處理,然后產(chǎn)生響應(yīng)信息。?如果涉及到動態(tài)數(shù)據(jù),Web月服務(wù)器將HTTP請求轉(zhuǎn)交給Servlet容器處理,結(jié)果先傳送給Web服務(wù)器,再由Web服務(wù)器傳送給客戶端瀏覽器。JavaServlet具有以下主要優(yōu)點:?可移植性一一主流IT廠商的Web月服務(wù)器和應(yīng)用服務(wù)器都支持Servlet,所以基于Servlet的解決方案不會把開發(fā)人員限制在某個特定廠商的產(chǎn)品上。同時,Servlet使用Java語言編寫,故可運行在任何安裝有Java運行時環(huán)境的操作系統(tǒng)上。?方便性一一Web層技術(shù)主要使用通過HTTP處理傳遞的HTML頁面信息,這就要求Web月服務(wù)器能讀寫HTTP協(xié)議的數(shù)據(jù)頭、數(shù)據(jù)體,能處理Cookie和進行會話管理。這些工作雖然通過CGI技術(shù)也可以實現(xiàn),旦是Servlet提供了以Java語言為基礎(chǔ)的編程方式,編程者可以使用面向?qū)ο蟮母拍顏響?yīng)用現(xiàn)成的API。?高效性一一Servlet比CGI高效。CGI處理每個HTTP請求都要激活一個進程,而Web容器使用線程管理Servlet對HTTP請求的響應(yīng)。當大量客戶同時對一個Servlet發(fā)出請求時,Web容器只運行該Servlet的一個實例,而不是像CGI那樣要運行多個實例而占用大量的內(nèi)存。CGI的另外一個問題是在處理HTTP請求后就被從內(nèi)存中清理掉了,不能維持中間數(shù)據(jù)。而Servlet在Web容器的輔助下維持程序?qū)嵗谶\行環(huán)境中的存在,直到Web容器停止時才會被清理。?通用廉價一一JavaWeb編程技術(shù)是目前Web服務(wù)器開發(fā)領(lǐng)域內(nèi)占絕對優(yōu)勢的技術(shù)。世界上絕大多數(shù)商業(yè)公司的網(wǎng)站都采用Servlet和JSP作為Web層的主要技術(shù),其安全性和可靠性是可以信賴的。另一方面,支持Servlet、JSP技術(shù)的Web月服務(wù)器非常多,從高端的OracleAS10g,WebSphere,WebLogic,到底端免費的Tomcat,編程人員可以有非常多的選擇。提示—「 二 本書第5章介紹了Servlet的基本概念、工作原理、基本程序結(jié)構(gòu),闡述了如何基于OracleJDeveloper10g和OC4J開發(fā)Servlet。第6章介紹了ServletAPI中主要的類和接口的用法,闡述了如何基于ServletAPI開發(fā)Web應(yīng)用。2.JSPJSP技術(shù)提供了一種簡單而快速的方法創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面。JSP技術(shù)規(guī)范由Sun公司制定,該規(guī)范定義了如何在服務(wù)器和JSP之間進行交互,描述了頁面的格式和語法。JSP使用XML標簽和Scriptlets(一種使用Java語言編寫的腳本代碼)封裝生成頁面內(nèi)容的邏輯。JSP將各種格式的標簽(HTML或XML)直接傳遞給響應(yīng)的頁面。通過這種傳送方式,JSP實現(xiàn)了頁面邏輯與其設(shè)計和顯示的分離。JSP是Java技術(shù)的一部分oJSP在執(zhí)行時被編譯成Servlet,并可調(diào)用JavaBean組件或EnterpriseJavaBean組件,以便在服務(wù)器端處理。因此,JSP技術(shù)在構(gòu)建可升級的基于Web的應(yīng)用時扮演了重要角色。JSP與Java語言一樣,并不局限于任何特定的平
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度車輛租賃與廣告植入合作合同
- 2025年度旅游度假村裝修升級合同
- 2025年度智能農(nóng)業(yè)物聯(lián)網(wǎng)解決方案合同-@-1
- 2025年度二零二五版高端新能源汽車安全檢測中心服務(wù)合同范本
- 2025年度網(wǎng)絡(luò)安全技術(shù)股權(quán)投資合同
- 2025年度市政公用設(shè)施施工合同證據(jù)目錄
- 2025年度地質(zhì)災(zāi)害防治護坡施工勞務(wù)分包合同
- 2025年度建筑工程安全生產(chǎn)監(jiān)理分公司合同范本
- 2025年度合伙制合同協(xié)議書:人工智能產(chǎn)業(yè)合作開發(fā)協(xié)議
- 2025-2030年咖啡自動研磨沖泡機行業(yè)跨境出海戰(zhàn)略研究報告
- 綠色能源項目融資計劃書范文
- 大樹扶正施工方案
- 《造血干細胞移植護理》課件
- 課題申報參考:全齡友好視角下的社區(qū)語言景觀評估及空間優(yōu)化研究
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- 五年級下冊語文四大名著??贾R點
- 光伏發(fā)電項目施工組織設(shè)計方案及技術(shù)措施
- 2025年1月日歷表(含農(nóng)歷-周數(shù)-方便記事備忘)
- 人教版數(shù)學三年級下冊 期末測試卷帶答案(能力提升)
- 2024年同等學力人員申請碩士學位英語試卷與參考答案
- 臨床用血管理培訓
評論
0/150
提交評論