javaweb電子教案第一章_第1頁
javaweb電子教案第一章_第2頁
javaweb電子教案第一章_第3頁
javaweb電子教案第一章_第4頁
javaweb電子教案第一章_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章JavaWeb開發(fā)技術(shù)概述本章首先分析了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ù)、運(yùn)行原理以及所提供的各種服務(wù)。第1章JavaWeb開發(fā)技術(shù)概述1.1J2EE體系結(jié)構(gòu)1.2J2EE容器和組件1.3客戶層技術(shù)1.4Web層技術(shù)1.5EJB層技術(shù)1.6數(shù)據(jù)層技術(shù)1.7J2EE平臺(tái)中角色與任務(wù)1.1J2EE體系結(jié)構(gòu)J2EE體系結(jié)構(gòu)定義了4個(gè)不同的層,自上而下的方向分別是:客戶層(clienttier)表示邏輯層(presentationlogictier),也稱為Web層(webtier)業(yè)務(wù)層(businesstier)數(shù)據(jù)層(datatier)1.概述客戶層與最終用戶進(jìn)行交互的前端表示組件數(shù)據(jù)層而提供數(shù)據(jù)存儲(chǔ)與訪問功能的組件表示邏輯層和業(yè)務(wù)層在邏輯上駐留在前端與后端之間的中間層1.概述2.J2EE應(yīng)用企業(yè)(enterprise)描述的是依照一組公共規(guī)則進(jìn)行運(yùn)作的任何組織J2EE應(yīng)用(J2EEapplication)是特定于企業(yè)的軟件程序,它基于控制組織的一般規(guī)則中的某一部分來提供某種形式的功能1.2J2EE容器和組件1.2.1容器1.2.2組件Web應(yīng)用一個(gè)由HTML/XML、Servlet、JSTL、類以及其他任何可以捆綁起來,并在來自多個(gè)廠商的多個(gè)Web容器上運(yùn)行的Web資源構(gòu)成的集合;可以將Web應(yīng)用從一個(gè)服務(wù)器移到另外一個(gè),或移動(dòng)到同一服務(wù)器的不同位置,而不需要對(duì)組成Web應(yīng)用的任何種類的文件作任何改動(dòng)。1.2.1容器容器(container)指的是提供特定程序組件服務(wù)的標(biāo)準(zhǔn)化運(yùn)行時(shí)環(huán)境,通過這些組件,可以在任何供應(yīng)商提供的J2EE平臺(tái)上得到所期望的服務(wù)。容器的作用為組件提供與部署、執(zhí)行、生命周期管理、安全和其他組件需求相關(guān)的服務(wù)。1.2.1容器EJB容器為EnterpriseJavaBean組件提供運(yùn)行時(shí)環(huán)境,對(duì)應(yīng)于業(yè)務(wù)層和數(shù)據(jù)訪問層,主要負(fù)責(zé)數(shù)據(jù)處理以及和數(shù)據(jù)庫或其他Java程序的通信。Web容器管理JSP和Servlet等Web組件的運(yùn)行,主要負(fù)責(zé)Web應(yīng)用和瀏覽器的通信,對(duì)應(yīng)于表示層。1.2.1容器應(yīng)用客戶端容器負(fù)責(zé)Web應(yīng)用在客戶端組件的運(yùn)行,對(duì)應(yīng)于用戶界面層。Applet容器負(fù)責(zé)在Web瀏覽器和Java插件(JavaPlug-in)上運(yùn)行Applet程序,對(duì)應(yīng)于用戶界面層。提示:第2章介紹開發(fā)Web應(yīng)用的集成開發(fā)環(huán)境OracleJDeveloper10g;第3章介紹如何基于OracleJDeveloper10g開發(fā)Java應(yīng)用程序;第4章介紹Web開發(fā)的執(zhí)行環(huán)境OC4J(OracleContainersForJ2EE)10g。1.2.2組件1.組件的概念2.組件的類型1.組件的概念組件(component)在應(yīng)用程序中發(fā)揮特定功能的軟件單位組件實(shí)質(zhì)上是幾種特定的Java程序,只不過這些程序被規(guī)定了固定的格式和編寫方法,它們的功能和使用方式在一定程度上被標(biāo)準(zhǔn)化了

2.組件的類型客戶端組件客戶端的Applet和客戶端應(yīng)用程序Web組件Web容器內(nèi)的JSP、Servlet、Web過濾器、Web事件監(jiān)聽器EJB組件EJB容器內(nèi)的EJB組件2.組件的類型組件與容器的關(guān)系組件是組裝到J2EE應(yīng)用中獨(dú)立的軟件功能單元,每一個(gè)J2EE組件在容器中執(zhí)行容器為組件提供標(biāo)準(zhǔn)服務(wù)和API,容器充當(dāng)通向底層J2EE平臺(tái)的接口2.組件的類型J2EE應(yīng)用由軟件組件構(gòu)成,這些軟件組件根據(jù)其各自所屬的層進(jìn)行了分類組成J2EE應(yīng)用的各種組件在對(duì)應(yīng)容器中執(zhí)行,容器為組件提供底層J2EEAPI的統(tǒng)一視圖容器管理組件,并且為組件提供多種系統(tǒng)級(jí)服務(wù)J2EE客戶為應(yīng)用提供用戶界面。1.3客戶層技術(shù)1.3.1Web客戶1.3.2Applet客戶1.3.3應(yīng)用客戶1.3.1Web客戶Web客戶的組成:Web頁面由瀏覽器提供,用來向最終用戶提供進(jìn)入企業(yè)應(yīng)用的界面瀏覽器負(fù)責(zé)將頁面正確地顯示給用戶,并不承擔(dān)復(fù)雜的數(shù)據(jù)檢索和計(jì)算任務(wù)1.3.1Web客戶瀏覽器的主要功能:

以特定格式顯示HTML文件獲取客戶的點(diǎn)擊并轉(zhuǎn)化成HTTP請(qǐng)求(request)連接Web服務(wù)器,發(fā)出HTTP請(qǐng)求并接收處理響應(yīng)(response)管理客戶和服務(wù)器之間的對(duì)話狀態(tài)(SessionState)1.3.1Web客戶優(yōu)先考慮使用Web客戶的情形:J2EE應(yīng)用的最終用戶駐留在企業(yè)的外部J2EE應(yīng)用的最終用戶由于只需要使用Web瀏覽器而不容易進(jìn)行管理最終用戶不一定要下載或安裝任何特殊的軟件1.3.2Applet客戶Applet使用Java語言編寫的輕量級(jí)客戶程序,一般是在Web瀏覽器的上下文中執(zhí)行Applet容器負(fù)責(zé)管理Applet客戶的運(yùn)行時(shí)執(zhí)行,由Web瀏覽器和Java插件組成Applet的優(yōu)點(diǎn)可以提供在一處管理的豐富圖形用戶界面主要缺點(diǎn)是Applet很難部署,尤其是當(dāng)瀏覽器運(yùn)行在一個(gè)嵌入不同版本的Java虛擬機(jī)上時(shí)更是如此1.3.3應(yīng)用客戶應(yīng)用客戶使用Java語言編寫,在標(biāo)準(zhǔn)的JVM上運(yùn)行的Java應(yīng)用程序?qū)2SEAPI具有完全的訪問能力,可以使用Java的Swing和AWT庫構(gòu)建具有復(fù)雜功能和豐富的圖形用戶界面1.3.3應(yīng)用客戶客戶端技術(shù)的選擇:電子商務(wù)網(wǎng)站,采用Web瀏覽器作為客戶端要求使用者隨時(shí)地獲取信息,程序的客戶端可以采用無線設(shè)備要求具有復(fù)雜快速的用戶界面,就應(yīng)該考慮在客戶端使用Applet或獨(dú)立運(yùn)行的Java應(yīng)用程序要求用戶可在各種操作系統(tǒng)上都能使用,就盡量使用標(biāo)準(zhǔn)的瀏覽器和Java技術(shù)作為程序客戶端1.4Web層技術(shù)1.4.1Web組件1.4.2Web層基本結(jié)構(gòu)1.4.3Web組件的選擇Web層與客戶層的主要區(qū)別:Web層主要在Web服務(wù)器端工作,而用戶界面通過Web瀏覽器在客戶端工作,兩者之間通過Web通信Web層側(cè)重于信息格式的處理,而用戶界面則主要是方便人的理解和操作1.4.1Web組件1.JavaServletServlet是在服務(wù)器上運(yùn)行的,用Java語言編寫的程序Servlet是用Java語言書寫的一種協(xié)議,是與平臺(tái)無關(guān)的服務(wù)器端組件,可在支持Servlet的Web服務(wù)器上運(yùn)行Servlet被裝載到Web服務(wù)器后,在JVM上執(zhí)行,所以不需要任何圖形用戶界面Servlet的基本運(yùn)行方式JavaServlet具有以下主要優(yōu)點(diǎn)可移植性方便性高效性通用廉價(jià)提示:第5章介紹了Servlet的基本概念、工作原理、基本程序結(jié)構(gòu),闡述了如何基于OracleJDeveloper10g和OC4J開發(fā)Servlet第6章介紹了ServletAPI中主要的類和接口的用法,闡述了如何基于ServletAPI開發(fā)Web應(yīng)用2.JSPJSP技術(shù)規(guī)范由Sun制定,定義了如何在服務(wù)器和JSP之間進(jìn)行交互,描述了頁面的格式和語法。JSP使用XML標(biāo)簽和Scriptlets封裝生成頁面內(nèi)容的邏輯。JSP將各種格式的標(biāo)簽直接傳遞給響應(yīng)的頁面。通過這種傳送方式,JSP實(shí)現(xiàn)了頁面邏輯與其設(shè)計(jì)和顯示的分離。2.JSPJSP技術(shù)主要優(yōu)點(diǎn)簡(jiǎn)單實(shí)用移植性和規(guī)范性好3.過濾器是駐留在Web層上的軟件對(duì)象,在Servlet或JSP容器中運(yùn)行,可對(duì)到來的客戶請(qǐng)求由Servlet或JSP頁面創(chuàng)建的應(yīng)答響應(yīng)進(jìn)行動(dòng)態(tài)變換過濾器并不創(chuàng)建針對(duì)請(qǐng)求的響應(yīng),而是對(duì)由Web預(yù)先創(chuàng)建的響應(yīng)進(jìn)行過濾。實(shí)現(xiàn)過濾的方式是在響應(yīng)文檔返回給客戶之前對(duì)該響應(yīng)文檔進(jìn)行修改4.事件監(jiān)聽器是一些Java類,用于實(shí)現(xiàn)一個(gè)或多個(gè)Servlet事件監(jiān)聽接口,接收特定類型的面向Servlet的事件通知例如,可以創(chuàng)建事件監(jiān)聽器來監(jiān)聽與Servlet上下文有關(guān)的生命周期和狀態(tài)變化、HTTP會(huì)話和與Servlet請(qǐng)求相關(guān)的事件等提示:第6章介紹了Servlet過濾器與事件監(jiān)聽器的基本概念,以及在Web開發(fā)中應(yīng)用。第7章介紹了JSP的基本概念、工作原理、基本語法,闡述了如何基于OracleJDeveloper10g和OC4J開發(fā)JSP程序。第8章闡述了如何基于JSP指令、操作以及JavaBean開發(fā)Web應(yīng)用。1.4.2Web層基本結(jié)構(gòu)基本結(jié)構(gòu)Web層的主體是Web服務(wù)器,主要包括Web連接器和Web容器Web服務(wù)器是Web應(yīng)用運(yùn)行的平臺(tái),是一套能夠編譯和運(yùn)行Web組件的Java動(dòng)態(tài)運(yùn)行時(shí)環(huán)境Web層的基本功能是管理、運(yùn)行和設(shè)置Web應(yīng)用,并使其能夠?qū)eb客戶的請(qǐng)求做出正確的響應(yīng)和處理1.4.2Web層基本結(jié)構(gòu)運(yùn)行機(jī)制當(dāng)瀏覽器向Web服務(wù)器發(fā)出HTTP請(qǐng)求時(shí),HTTP連接器負(fù)責(zé)接收請(qǐng)求,并分析出該請(qǐng)求對(duì)應(yīng)的Web應(yīng)用和資源Web容器在部署Web應(yīng)用時(shí),根據(jù)其部署描述文件規(guī)定了每個(gè)Web組件的URL地址,在Web服務(wù)器中描述了URL和程序資源的對(duì)應(yīng)關(guān)系Web容器可根據(jù)Web組件的種類進(jìn)行處理1.4.2Web層基本結(jié)構(gòu)1.4.3Web組件的選擇程序的規(guī)模和功能要求如果是相對(duì)簡(jiǎn)單而不要求在分布式服務(wù)器上運(yùn)行的程序,可以選擇使用Servlet/JSP而不需要使用EJB。項(xiàng)目的資金能力如果購(gòu)買Web服務(wù)器的費(fèi)用太貴,可以選擇像ApacheTomcat這樣免費(fèi)而被廣泛使用的Web服務(wù)器。技術(shù)的復(fù)雜性EJB技術(shù)要比Servlet/JSP和JavaBean技術(shù)復(fù)雜。如果編程人員要快速地開發(fā)Web應(yīng)用,使用Web層的Servlet/JSP技術(shù)而不用EJB技術(shù)是比較合適的選擇。1.5EJB層技術(shù)在J2EE體系結(jié)構(gòu)中,EJB(EnterpriseJavaBean)在服務(wù)器端執(zhí)行,服務(wù)器方處于一種管理環(huán)境中,這種環(huán)境對(duì)事務(wù)、可伸縮性和安全性提供內(nèi)置支持。EJB駐留在業(yè)務(wù)層上,在業(yè)務(wù)層的EJB容器中執(zhí)行,EJB容器在J2EE應(yīng)用服務(wù)器上運(yùn)行。因?yàn)镋JB部署在業(yè)務(wù)層中來提供J2EE應(yīng)用的業(yè)務(wù)邏輯功能,所以EJB有時(shí)也稱為業(yè)務(wù)組件。1.6數(shù)據(jù)層技術(shù)1.6.1J2EE平臺(tái)1.6.2命名服務(wù)與目錄服務(wù)1.6.3部署服務(wù)與管理服務(wù)1.6.4OracleDBXE1.6.5基于JDBCAPI的數(shù)據(jù)庫服務(wù)1.6.6數(shù)據(jù)事務(wù)服務(wù)1.6.1J2EE平臺(tái)J2EE平臺(tái)由標(biāo)準(zhǔn)服務(wù)包、API、協(xié)議和數(shù)據(jù)格式組成,這些要素共同提供了開發(fā)、部署和維護(hù)分布式多層應(yīng)用必需的功能。J2EE1.4平臺(tái)為網(wǎng)絡(luò)通信、事務(wù)、安全、CORBA交互、數(shù)據(jù)庫訪問、消息傳遞、命令和目錄訪問、郵件、XML解析和Web服務(wù)提供標(biāo)準(zhǔn)服務(wù)。1.6.1J2EE平臺(tái)要求支持以下的Internet和Web協(xié)議:TCP/IP協(xié)議簇HTTP1.1SSL3.0和TLS1.0SOAP(SimpleObjectAccessProtocol)1.1其它通信協(xié)議——RMI協(xié)議、IIOP協(xié)議、EJB互操作協(xié)議和CORBA(CommonObjectRequestBrokerArchitecture)協(xié)議等1.6.2命名服務(wù)與目錄服務(wù)Java命名和目錄接口JNDI是用于從Java應(yīng)用程序中訪問名稱和目錄服務(wù)的一組API“命名服務(wù)”是將名稱與對(duì)象相關(guān)聯(lián),以便能通過相應(yīng)名稱來訪問這些對(duì)象“目錄服務(wù)”是對(duì)象具有屬性及名稱的“命名服務(wù)”1.6.2命名服務(wù)與目錄服務(wù)J2EE平臺(tái)提供的“命名服務(wù)”允許對(duì)象按名稱進(jìn)行查找;另一方面,“目錄服務(wù)”是“命名服務(wù)”的一個(gè)補(bǔ)充,“目錄服務(wù)”允許對(duì)象基于其屬性(功能)進(jìn)行查找JNDI為J2EE應(yīng)用組件(Servlet、JSP、EJB等)提供了一個(gè)命名環(huán)境,簡(jiǎn)化了在開發(fā)高級(jí)網(wǎng)絡(luò)應(yīng)用程序中對(duì)目錄基礎(chǔ)設(shè)施訪問的復(fù)雜度1.6.3部署服務(wù)與管理服務(wù)模塊(module)是J2EE軟件單元,由一個(gè)或多個(gè)相同組件類型(客戶組件,Web組件,EJB)的組件構(gòu)成。這些組件連同相應(yīng)的部署描述文件(deploydescriptor)一同綁定到JAR(JavaArchive,Java歸檔文件)文件中部署描述文件是XML文件,包含聲明語句,而不是程序代碼。這些聲明語句描述了部署模塊中的每一個(gè)組件和組裝指令(組裝指令是用于描述如何將組件組裝到J2EE應(yīng)用中的)所必需的數(shù)據(jù)1.6.3部署服務(wù)與管理服務(wù)在J2EE平臺(tái)之上將組件整合為模塊,再將模塊整合為J2EE應(yīng)用,這個(gè)操作過程稱之為“打包”“部署J2EE應(yīng)用”指將組件按照規(guī)定的格式打包,并放置在應(yīng)用服務(wù)器的容器內(nèi)EAR文件結(jié)構(gòu)1.6.3部署服務(wù)與管理服務(wù)J2EE模塊有以下4種類型,每種類型的模塊對(duì)應(yīng)一類組件:EJB模塊Web模塊資源適配器(resourceadapter)模塊應(yīng)用客戶模塊1.6.4OracleDBXEOracleDB10gExpressEdition(簡(jiǎn)稱OracleDBXE)是基于OracleDatabase10g第2版代碼庫的一種入門級(jí)、小體積(206MB)的數(shù)據(jù)庫服務(wù)器,使用它進(jìn)行開發(fā)、部署和分發(fā)都是免費(fèi)的,而且它下載快速且易于管理。提示:第9章介紹了OracleDBXE的軟硬件環(huán)境、初始化方法、體系結(jié)構(gòu)、創(chuàng)建用戶等方面的知識(shí)。第10章介紹了OracleDBXE模式對(duì)象等基本概念,以及如何用OracleDBXE提供的對(duì)象瀏覽器工具創(chuàng)建和維護(hù)數(shù)據(jù)表。第11章介紹了OracleSQL函數(shù)和操作符,以及如何用SQL語言訪問OracleDBXE。1.6.5基于JDBCAPI的數(shù)據(jù)庫服務(wù)JDBCAPI由一組用Java語言編寫的類和接口組成,提供了用于處理列表和關(guān)系數(shù)據(jù)的標(biāo)準(zhǔn)API通過調(diào)用JDBCAPI中提供的類和接口中的方法,客戶機(jī)能夠以一致的方式連接不同類型的數(shù)據(jù)庫,進(jìn)而使用標(biāo)準(zhǔn)的SQL語言存取數(shù)據(jù)庫中的數(shù)據(jù),而不必再為每一種數(shù)據(jù)庫系統(tǒng)編寫不同的Java程序代碼1.6.6數(shù)據(jù)事務(wù)服務(wù)數(shù)據(jù)事務(wù)服務(wù)用于保證數(shù)據(jù)讀寫時(shí)不會(huì)出錯(cuò)。當(dāng)應(yīng)用程序進(jìn)行數(shù)據(jù)庫操作時(shí),要么成功完成,要么一點(diǎn)也不改變數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)事務(wù)服務(wù)有一個(gè)“不可分微?!钡母拍?,就是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論