




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章
JavaEE概述題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為"完數(shù)"。例如6=1+2+3.編程
找出1000以內(nèi)的所有完數(shù)。
題目:有1、2、3、4四個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少?
輸入3個(gè)數(shù)a,b,c,按大小順序輸出。題目:某個(gè)公司采用公用傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)那么如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。
題目:某個(gè)公司采用公用傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)那么如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。J2EEJava2PlatformEnterpriseEditionJava2平臺(tái)企業(yè)版JavaEEJavaEnterpriseEdition目錄1.1JavaEE產(chǎn)生的背景1.1.1企業(yè)應(yīng)用程序的特點(diǎn)1.1.2企業(yè)級(jí)應(yīng)用程序體系結(jié)構(gòu)1)C/S三層結(jié)構(gòu)2)B/S三層結(jié)構(gòu)3)多層結(jié)構(gòu)1.2JavaEE的體系結(jié)構(gòu)1.2.1JavaEE的多層體系結(jié)構(gòu)1.2.2JavaEE是企業(yè)分布式應(yīng)用的的開發(fā)標(biāo)準(zhǔn)1.2.3支持JavaEE的廠商1.3JavaEE的組件和容器1.3.1J2EE核心技術(shù)——之組件技術(shù)1.3.2容器及類型1.3.3J2EE核心技術(shù)之——服務(wù)1.4JavaEE應(yīng)用打包與部署小結(jié)1.5JavaEE體系結(jié)構(gòu)的優(yōu)點(diǎn)1.1JavaEE產(chǎn)生的背景問題1從java語(yǔ)言的發(fā)展來(lái)看問題2JavaEE究竟是什么?問題3為什么需要J2EE?問題1:從java語(yǔ)言的開展來(lái)看1995年,Sun公司推出Java技術(shù)。十多年來(lái),已開展成為全球第一大軟件開發(fā)平臺(tái),是長(zhǎng)時(shí)間以來(lái)最卓越的程序設(shè)計(jì)語(yǔ)言。特點(diǎn):跨平臺(tái)、面向?qū)ο蟆⒍嗑€程、半編譯半解釋等1999年,Java從一種語(yǔ)言開展成為一種開發(fā)平臺(tái),出現(xiàn)SunONE體系結(jié)構(gòu),以Java語(yǔ)言為核心,包括以下三個(gè)版本:J2SEStandardJ2MEMicroJ2EEEnterprise2005年8月,Java升級(jí)到1.5版,SUN公司將J2EE1.5改名為javaEE5,以前J2EE版本還是稱為J2EE。返回
JavaEE不是編程語(yǔ)言?。avaEE是一個(gè)標(biāo)準(zhǔn)中間件體系結(jié)構(gòu)JavaEE是企業(yè)級(jí)分布式應(yīng)用開發(fā)標(biāo)準(zhǔn)
問題2:JavaEE究竟是什么?返回問題3:為什么需要JavaEE?企業(yè)應(yīng)用程序的特點(diǎn)企業(yè)級(jí)應(yīng)用程序體系結(jié)構(gòu)企業(yè)應(yīng)用的特點(diǎn)〔分布式、面向web、開發(fā)的、集成的、可移植、易于擴(kuò)展和維護(hù),企業(yè)計(jì)算具有一致性、事務(wù)性、平安性等〕決定了企業(yè)應(yīng)用的體系結(jié)構(gòu)——JavaEE集上述特性為一身??!目錄企業(yè)應(yīng)用程序的特點(diǎn)分布式企業(yè)應(yīng)用日常的運(yùn)行環(huán)境局域網(wǎng)——組織內(nèi)部Internet——連接分布在世界各地的部門或者用戶——面向web高速反響性社會(huì)需求的瞬息萬(wàn)變企業(yè)不斷變更業(yè)務(wù)規(guī)那么以適應(yīng)企業(yè)程序必須具備能力來(lái)及時(shí)適應(yīng)需求的改變平安性系統(tǒng)平安可靠——正常運(yùn)行合法用戶經(jīng)過合法途徑使用〔是否未經(jīng)登錄?是否直接錄入網(wǎng)址?是否有權(quán)限?誰(shuí)在運(yùn)行?〕事務(wù)性兩個(gè)或多個(gè)網(wǎng)絡(luò)的計(jì)算機(jī)資源上訪問并更新數(shù)據(jù)的時(shí)候不會(huì)錯(cuò),一個(gè)程序要么進(jìn)行一系列數(shù)據(jù)庫(kù)操作成功完成,要么一點(diǎn)也不做,防止寫到一半的時(shí)候出錯(cuò)——如銀行轉(zhuǎn)賬可擴(kuò)展性潛在用戶數(shù)量的不斷膨脹應(yīng)用性能要擴(kuò)展企業(yè)的信息資源不斷增長(zhǎng)系統(tǒng)功能的擴(kuò)展系統(tǒng)的結(jié)構(gòu)能否很容易在保存原有功能的根底上很容易擴(kuò)展?開放性?插件?集成化舊系統(tǒng)的集成支持——不是白手起家目前很多企業(yè)的信息存放在老的或者過時(shí)的應(yīng)用系統(tǒng)或者其它數(shù)據(jù)庫(kù)中〔或不一定是java的或數(shù)據(jù)庫(kù)的〕——遺產(chǎn)系統(tǒng)最大限度的利用以往信息或者歷史信息仍具有保存價(jià)值——如電廠運(yùn)行資料,成績(jī)庫(kù)新老系統(tǒng)的集成、運(yùn)行平臺(tái)不同現(xiàn)有系統(tǒng)之間的集成可移植性、易維護(hù)返回平安性小例子:我們是否可以偷窺別人的郵件?翻開郵箱,將該頁(yè)網(wǎng)址copy下來(lái)再翻開一個(gè)IE瀏覽器,貼上該網(wǎng)址返回企業(yè)級(jí)應(yīng)用程序體系結(jié)構(gòu)1)C/S兩層結(jié)構(gòu)2)B/S三層結(jié)構(gòu)3)多層結(jié)構(gòu)客戶層〔人機(jī)交互/應(yīng)用邏輯/數(shù)據(jù)訪問〕1)C/S兩層結(jié)構(gòu)平安性低:客戶端同DB效勞器直連——非法用戶容易通過客戶端入侵,部署困難——胖客戶端客戶端軟件不是基于web的,只能適用在LAN胖客戶端:應(yīng)用邏輯集中在客戶端,安裝耗時(shí):需要每臺(tái)客戶端都安裝客戶端專用的應(yīng)用程序擴(kuò)展更新困難:每次業(yè)務(wù)規(guī)那么變化,都需要不斷更新或重新安裝客戶端代碼,重新部署客戶端消耗系統(tǒng)資源每個(gè)客戶端程序都直連到DB效勞器,為每個(gè)客戶端建立連接消耗效勞器資源——消耗資源——不適合過多的用戶效勞層〔數(shù)據(jù)效勞〕客戶端應(yīng)用程序數(shù)據(jù)庫(kù)效勞器返回應(yīng)用服務(wù)層(業(yè)務(wù)邏輯)應(yīng)用服務(wù)器2)B/S三層結(jié)構(gòu)平安性高:中間的應(yīng)用層,隔離了客戶端程序?qū)?shù)據(jù)效勞器的直接訪問,保護(hù)了數(shù)據(jù)平安部署容易——瘦客戶端客戶層的功能大大削弱,原來(lái)由客戶端實(shí)現(xiàn)的應(yīng)用邏輯和數(shù)據(jù)訪問等功能都遷移到效勞器上實(shí)現(xiàn)了——瘦客戶——應(yīng)用邏輯集中在效勞器端很多應(yīng)用只需安裝瀏覽器即可,基于web的快速響應(yīng)通過中間件效勞器的負(fù)載均衡和緩存數(shù)據(jù)能力,提高對(duì)客戶端的響應(yīng)速度易于擴(kuò)展每次業(yè)務(wù)規(guī)那么變化,只需在應(yīng)用效勞器重新部署新效勞器端組件,無(wú)需更新或重新安裝每個(gè)客戶端客戶層〔表示邏輯〕數(shù)據(jù)層〔數(shù)據(jù)效勞〕數(shù)據(jù)庫(kù)效勞器瀏覽器應(yīng)用服務(wù)層(業(yè)務(wù)邏輯)應(yīng)用服務(wù)器數(shù)據(jù)庫(kù)效勞器返回3)多層結(jié)構(gòu)中間效勞器又按應(yīng)用邏輯劃分成假設(shè)干子層應(yīng)用效勞器Web表示層客戶層數(shù)據(jù)層〔數(shù)據(jù)效勞〕數(shù)據(jù)庫(kù)效勞器瀏覽器業(yè)務(wù)邏輯層….目錄Web效勞器1.2.1JavaEE的多層體系結(jié)構(gòu)客戶客戶層業(yè)務(wù)邏輯層企業(yè)信息系統(tǒng)層——數(shù)據(jù)層數(shù)據(jù)庫(kù)效勞器郵件效勞器瀏覽器HtmlAppletWeb效勞器表示層(web層)客戶端應(yīng)用程序EJB容器JSPServlet會(huì)話Bean實(shí)體Bean消息Bean應(yīng)用效勞器數(shù)據(jù)庫(kù)效勞器Servlet典型的JavaEE包括4層:客戶層瀏覽器〔html、或者applet〕桌面應(yīng)用程序表示層〔web層〕Servlet(Server+Applet)JSP(JavaServerPage)業(yè)務(wù)邏輯層EJB(EnterpriseBean)企業(yè)信息系統(tǒng)層DatabaseERP大型機(jī)事務(wù)處理其它遺留信息系統(tǒng)
EntityBean瀏覽器客戶效勞器客戶端/效勞器端表示層效勞器端商業(yè)邏輯企業(yè)信息系統(tǒng)域效勞應(yīng)用表示持續(xù)化客戶應(yīng)用容器WebcontainerEJB容器DB
SimpleBeanSessionBeanHtmlAppletWeb效勞器JSPServlet效勞器端應(yīng)用J2EE的N層體系結(jié)構(gòu)〔略〕案例1:簡(jiǎn)單的網(wǎng)上書店的架構(gòu)圖網(wǎng)上商店實(shí)現(xiàn)了商品瀏覽,用戶可以進(jìn)行訂單查詢,生成訂單以及刪除訂單等操作。表示層列出圖書目錄查詢?cè)鰟h所購(gòu)圖書訂單錄入頁(yè)面業(yè)務(wù)邏輯層數(shù)據(jù)層持久性,對(duì)應(yīng)數(shù)據(jù)庫(kù)中的表客戶層企業(yè)信息層案例2:用戶登錄系統(tǒng)的架構(gòu)圖P3271.登錄1.4.登錄成功1.5.登錄失敗,提示注冊(cè)或未找到用戶2提交注冊(cè)信息4.注冊(cè)成功1.登錄,檢查用戶的合法性實(shí)現(xiàn)平安登錄2.新用戶的注冊(cè)3.用戶密碼遺忘后通過注冊(cè)郵箱來(lái)重新獲取向注冊(cè)郵箱發(fā)郵件調(diào)JavaMail取客戶的email地址和密碼JavaEE是一個(gè)標(biāo)準(zhǔn)中間件體系結(jié)構(gòu)JavaEE不是編程語(yǔ)言??!JavaEE是企業(yè)分布式應(yīng)用開發(fā)標(biāo)準(zhǔn)它標(biāo)準(zhǔn)了:分布式組件〔JSP、Servlet、EJB〕應(yīng)該實(shí)現(xiàn)哪些接口、提供哪些方法?容器應(yīng)該提供的效勞容器:分布式組件的運(yùn)行環(huán)境如Jsp運(yùn)行在web容器中EJB組件運(yùn)行在EJB容器中容器實(shí)現(xiàn)的效勞:JDBC,JNDI,JMS消息效勞等〔詳見后〕1.2.2JavaEE是企業(yè)分布式應(yīng)用的的開發(fā)標(biāo)準(zhǔn)1.2.3支持JavaEE的廠商JavaEE標(biāo)準(zhǔn)被眾多中間件廠商所實(shí)現(xiàn),不同廠家有不同的實(shí)現(xiàn),但都遵循同一JavaEE標(biāo)準(zhǔn),可以互相部署——開放性。支持JavaEE的廠商和應(yīng)用效勞器Sun公司:SunOne效勞器Netbeans自帶的GlassfishV2效勞器內(nèi)置ApplicaitionServerBEA的weblogicIBM的WebSpereJBoss開發(fā)環(huán)境NetBeans(內(nèi)置應(yīng)用效勞器GlassFishV2)+MySQLEclipse+MyEclipse+Tomcat+MySQLWeb應(yīng)用,不包括j2EEEclipse+MyEclipse+Jboss+MySQL——支持EJB目錄1.3JavaEE的組件和容器組件:JavaEE根本的軟件單元——面包容器:分布式組件的運(yùn)行環(huán)境——烤箱容器為組件提供必需的底層根底功能——效勞javaEE的容器由廠商實(shí)現(xiàn),javaEE效勞器中均包含Web容器和EJB容器的實(shí)現(xiàn)如JDNI效勞、JDBC、JMS、持久化、事務(wù)支持、并發(fā)、平安性、資源和生命周期管理…程序員根據(jù)特定應(yīng)用需求編寫組件,專注于業(yè)務(wù)邏輯而不必困擾在復(fù)雜的企業(yè)應(yīng)用環(huán)境——這些由容器實(shí)現(xiàn)了面包師:面包是什么配比,什么餡的,什么形狀的,口味如何,多高溫度,多久不用管烤箱的平安防護(hù)機(jī)制、容量,電、溫度的轉(zhuǎn)換、定時(shí)器的控制都是烤箱的事,而烤箱的控制是廠家實(shí)現(xiàn)的組件和容器之間的交互——部署描述文件Web效勞器Servlet部署描述文件Web.xmlEJB容器EJB部署描述文件ejb-jar.xml參見P28頁(yè)第一個(gè)servet的web.xml我們編寫First.java——這是一個(gè)servlet類,其實(shí)就是一個(gè)java類〔P24〕那么在IE中如何訪問它呢?就是通過部署在web效勞器上的web.xml來(lái)知道的。輸入:://localhost:8080/SimpleServlet/FirstWeb包容器,是Web應(yīng)用程序的根本運(yùn)行環(huán)境和框架。 ——由web效勞器實(shí)現(xiàn)Web應(yīng)用程序,對(duì)應(yīng)一個(gè)目錄(或者網(wǎng)站),包括html、servlet、applet、jsp、圖片等。例:Web應(yīng)用程序和Web包容器J2EE核心技術(shù)3大組件+效勞JavaServlet★JSP★ JavaServerPagesEJB★ EnterpriseJavaBeans效勞:JDBC★ JavaDataBaseConnectivityJNDI★ JavaNamingandDirectoryInterfaceJTA★ JavaTransactionAPIJAASJ JavaAuthenticationandAuthorizationServiceJCA J2EEConnectorArchitectureJ2EEConnectorArchitectureJavaPersistentWebserviceXML★JMS★ JavaMessageServiceAPIRMI★JavaIDL/CORBA★JavaMail/JAF★ JavaBeansActivationFramework以前比較流行的說(shuō)法:說(shuō)J2EE包含了13種核心技術(shù),如下〔上面帶星的〕,其實(shí)javaEE還不止如此,JDBC,JNDI,EJBs,RMI/JavaIDL,,JSP,Javaservlets,XML,JMS/JTS,JTA,JavaMail/JAF還包括JAAS〔java平安技術(shù)〕、JCA〔java連接框架技術(shù)〕、JavaPersistent〔持久性〕webservice、JACC〔〕、、JSTL〔java標(biāo)準(zhǔn)標(biāo)記庫(kù)JavaServerPagesStandardTagLibrary〕、JSF〔javaServerFace〕,JavaBean…18般武藝無(wú)需樣樣精通,刀能殺人,槍也能殺人,掌握最根底的“無(wú)他,唯手熟爾”——《賣油翁》歐陽(yáng)修StrutsSpringHibernate1.3.1J2EE核心技術(shù)——之組件技術(shù)1)J2EE客戶端組件2)Web組件3)業(yè)務(wù)組件1)J2EE客戶端組件Web客戶端:WebBrowserDHTML,Applet:JavaPlug-in——經(jīng)web從效勞器端下載,無(wú)需安裝java應(yīng)用程序客戶端:Swing,SWT,JFace,JavaBeans——需要安裝〔就是javaApplication〕返回2)Web組件通過HTTP協(xié)議對(duì)web請(qǐng)求進(jìn)行響應(yīng)——?jiǎng)討B(tài)生成網(wǎng)頁(yè)不包括HTML,Applet和效勞器端工具類Servlet〔Server端的小程序〕,效勞器端運(yùn)行的程序,實(shí)際上就是一個(gè)java類但是它能動(dòng)態(tài)處理HTTP請(qǐng)求和并能返回響應(yīng)〔能生成網(wǎng)頁(yè)〕JSP:簡(jiǎn)化的,能在第一次運(yùn)行的時(shí)候自動(dòng)轉(zhuǎn)換為ServletHtml語(yǔ)言〔頁(yè)面呈現(xiàn)〕+嵌入java語(yǔ)言或指令〔控制邏輯〕返回3)業(yè)務(wù)組件EJB實(shí)現(xiàn)特定的應(yīng)用邏輯——企業(yè)的算法、業(yè)務(wù)規(guī)那么而不是像web組件一樣對(duì)客戶端請(qǐng)求生成動(dòng)態(tài)網(wǎng)頁(yè)SessionBean(會(huì)話Bean)Message-DrivenBean(消息驅(qū)動(dòng)Bean)EntityBean(實(shí)體Bean)目錄1.3.2容器及類型容器容器是JavaEE的運(yùn)行環(huán)境,這種環(huán)境是為應(yīng)用組件效勞的例如web容器四類容器EJB容器ApplicationClient容器Web容器Applet容器圖:JavaEE容器效勞與接口〔詳圖〕容器容器是JavaEE的運(yùn)行環(huán)境,這種環(huán)境是為應(yīng)用組件效勞的。各容器為相應(yīng)類型的應(yīng)用程序組件提供底層效勞,如各矩形下半部的格子表示四類容器EJB容器ApplicationClient容器Web容器Applet容器目錄J2EE容器事務(wù)狀態(tài)管理多線程資源池復(fù)雜的底層細(xì)節(jié)容器效勞平安事務(wù)管理JNDI遠(yuǎn)程連接可配置的效勞:如平安性不可配置的效勞EJB和Servlet的生命周期、數(shù)據(jù)庫(kù)連接池?cái)?shù)據(jù)持久性、J2EE平臺(tái)API1.3.3J2EE核心技術(shù)之——效勞3大組件+效勞JavaServlet★JSP★ JavaServerPagesEJB★ EnterpriseJavaBeans效勞:JDBC★ JavaDataBaseConnectivityJNDI★ JavaNamingandDirectoryInterfaceJTA★ JavaTransactionAPIJAASJ JavaAuthenticationandAuthorizationServiceJCA J2EEConnectorArchitectureJ2EEConnectorArchitectureJavaPersistentWebserviceXML★JMS★ JavaMessageServiceAPIRMI★JavaIDL/CORBA★JavaMail/JAF★ JavaBeansActivationFramework以前比較流行的說(shuō)法:說(shuō)J2EE包含了13種核心技術(shù),如下〔上面帶星的〕,其實(shí)javaEE還不止如此,JDBC,JNDI,EJBs,RMI/JavaIDL,,JSP,Javaservlets,XML,JMS/JTS,JTA,JavaMail/JAF還包括JAAS〔java平安技術(shù)〕、JCA〔java連接框架技術(shù)〕、JavaPersistent〔持久性〕webservice、JACC〔〕、、JSTL〔java標(biāo)準(zhǔn)標(biāo)記庫(kù)JavaServerPagesStandardTagLibrary〕、JSF〔javaServerFace〕,JavaBean…18般武藝無(wú)需樣樣精通,刀能殺人,槍也能殺人,掌握最根底的“無(wú)他,唯手熟爾”——《賣油翁》歐陽(yáng)修StrutsSpringHibernate4.JDBC:數(shù)據(jù)庫(kù)連接接口數(shù)據(jù)庫(kù)訪問幾乎是所有企業(yè)應(yīng)用都會(huì)用到的JDBC提供了java程序和數(shù)據(jù)庫(kù)效勞器之間的連接效勞,同時(shí)能保證事務(wù)的正常進(jìn)行,JDBC允許從Java的方法里調(diào)用SQL命令,進(jìn)行數(shù)據(jù)查詢JDBCAPI為訪問不同的數(shù)據(jù)庫(kù)提供了一種統(tǒng)一的途徑,使應(yīng)用程序開發(fā)人員使用JDBC可以連接任何提供了JDBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)系統(tǒng),這樣就使得程序員無(wú)需對(duì)特定的數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)有過多的了解,大大簡(jiǎn)化和加快了開發(fā)過程Java應(yīng)用程序數(shù)據(jù)庫(kù)JDBC返回5.JNDI:Java命名和目錄效勞接口
JavaNamingandDirectoryInterfaceJNDI是分布式系統(tǒng)的命名和目錄效勞對(duì)分布式系統(tǒng)中的資源〔文件、分布式對(duì)象、效勞〕進(jìn)行方便的訪問和管理,允許組件定位其他組件和資源,提供了企業(yè)級(jí)應(yīng)用所需要的資源和外部信息的注冊(cè)、存儲(chǔ)以及獲取組件等功能JNDI中,企業(yè)應(yīng)用在命名環(huán)境〔相當(dāng)于簿〕中注冊(cè),使用者通過JNDI來(lái)查找它例:購(gòu)物——撥——無(wú)需管誰(shuí)供貨。廠家、門市、總部?怎么供例:預(yù)約看病——撥——無(wú)需管人家的預(yù)約系統(tǒng)是如何管理和查詢的像公共簿,記錄每個(gè)單位登記的號(hào)碼。對(duì)于單位對(duì)象,有地址等屬性可利用許多J2EE組件的使用需要JNDI的支持在JMS、JMail、JDBC、EJB等技術(shù)中,大量應(yīng)用這種技術(shù)名字電話地址電話購(gòu)物400-814協(xié)和醫(yī)院116114崇文門屬性名屬性值DataSource在哪里?EJB在哪里?返回JNDI概述訪問對(duì)象的根本方式憑借對(duì)象名稱(name)與對(duì)象體(object)的綁定(binding),使用者通過上下文(context)來(lái)存取欲使用的對(duì)象命名效勞系統(tǒng)例如RMI注冊(cè)表遠(yuǎn)程對(duì)象名—遠(yuǎn)程對(duì)象DNS主機(jī)名稱「」—IPAddress「」文件系統(tǒng)文件名或路徑—文件句柄6.JTA:Java事務(wù)處理事務(wù)是一組原子〔Atomic〕操作的工作單元以數(shù)據(jù)庫(kù)存取的實(shí)例來(lái)說(shuō),就是一組SQL指令,這一組SQL指令必須全部執(zhí)行成功,假設(shè)因?yàn)槟硞€(gè)原因未全部執(zhí)行成功〔例如其中一行SQL有錯(cuò)誤〕,那么先前所有執(zhí)行過的SQL指令都會(huì)被撤消。如轉(zhuǎn)賬一個(gè)客戶從A銀行轉(zhuǎn)賬至B銀行,要作的動(dòng)作為從A銀行的賬戶扣款、在B銀行的賬戶加上轉(zhuǎn)賬的金額,假設(shè)已經(jīng)從A轉(zhuǎn)出,未到B,那么這錢究竟在哪里呢??jī)蓚€(gè)動(dòng)作必須成功,如果有一個(gè)動(dòng)作失敗,那么此次轉(zhuǎn)賬失敗。銀行B銀行A100100100100JTA保證數(shù)據(jù)讀寫的時(shí)候不會(huì)錯(cuò),把這些關(guān)鍵的操作當(dāng)成一系列完整的不可分割的操作——事務(wù)〔不能間斷,成批完成〕當(dāng)程序進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),要么全部成功完成〔commit〕假設(shè)中間中斷,那么一點(diǎn)也不完成〔rollback〕JTA技術(shù)是由容器完成,減輕了開發(fā)者的負(fù)擔(dān)返回7.JAAS:Java的認(rèn)證和授權(quán)效勞——平安早期的java平安通過驗(yàn)證代碼的來(lái)源和作者,保護(hù)用戶免受下載代碼的攻擊JAAS通過驗(yàn)證誰(shuí)在運(yùn)行代碼及其權(quán)限,來(lái)保護(hù)系統(tǒng)免受用戶的攻擊為JavaEE應(yīng)用程序提供一種途徑來(lái)認(rèn)證和授權(quán)一個(gè)企業(yè)應(yīng)用用戶或用戶組JavaAuthenticationandAuthorizationService返回8.JCA:Java連接框架技術(shù)用于連接J2EE平臺(tái)到EIS(企業(yè)信息系統(tǒng))的標(biāo)準(zhǔn)APIEIS包括ERP〔企業(yè)資源方案EnterpriseResourseProgram〕大型機(jī)數(shù)據(jù)庫(kù)處理數(shù)據(jù)庫(kù)系統(tǒng)異構(gòu)的、分布的舊系統(tǒng),數(shù)據(jù)仍舊需要訪問的——遺產(chǎn)系統(tǒng)legacy,不一定是標(biāo)準(zhǔn)的java程序或者數(shù)據(jù)庫(kù)JCA定義了一套平安的擴(kuò)展的數(shù)據(jù)交互機(jī)制,解決現(xiàn)有J2EE系統(tǒng)同其它類型系統(tǒng)的集成J2EEConnectorArchitectureJ2EEConnector返回9.JavaPersistenceAPI持久化持久化:信息永久的存儲(chǔ)到關(guān)系型數(shù)據(jù)庫(kù)等永久介質(zhì)中如賬戶信息,顧客信息,交易記錄等等持久化技術(shù)的開展史:1997年-1998年:TopLink,CocoBase,ODMG1999年-2001年:EntityBean,JDO2002年-2003年:TopLink,Hibernate,iBatis數(shù)據(jù)庫(kù)層2004年:JDO穩(wěn)步開展;Hibernate飛黃騰達(dá)返回10.WebServiceWebservices是建立可互操作的分布式應(yīng)用程序的新平臺(tái)。背景:分布式組件的部署難度——DCOM的困難客戶機(jī)和效勞器通信協(xié)議的問題——與其他程序的互操作性和異構(gòu)型你可以用任何你喜歡的語(yǔ)言,在任何你喜歡的平臺(tái)上寫Webservice——好東西大家一起分享只要我們可以通過Webservice標(biāo)準(zhǔn)對(duì)這些效勞進(jìn)行查詢和訪問。Web效勞基于XML返回11.XMLXML是一種可以用來(lái)定義其它標(biāo)記語(yǔ)言的語(yǔ)言。它被用來(lái)在不同的商務(wù)過程中共享數(shù)據(jù)如J2EE中的配置文件均是XML格式的返回12.JMS:java消息效勞Java消息效勞〔JavaMessageService,JMS〕是一個(gè)消息標(biāo)準(zhǔn),它允許JavaEE應(yīng)用程序組件產(chǎn)生、發(fā)送、接收和讀取消息Java平臺(tái)中關(guān)于面向消息中間件〔MOM〕的API,用于在兩個(gè)應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進(jìn)行異步通信返回13.RMI/IIOPRMI協(xié)議調(diào)用遠(yuǎn)程對(duì)象上方法,使用序列化方式在客戶端和效勞器端的對(duì)象之間傳遞數(shù)據(jù)。RMI使原先的程序在同一操作系統(tǒng)上的方法調(diào)用,變成了不同操作系統(tǒng)之間程序的方法調(diào)用。RMI(RemoteMethodInvoke)是一種被EJB使用的更底層的協(xié)議一個(gè)EJB可以通過RMI調(diào)用另一臺(tái)機(jī)器上的EJB遠(yuǎn)程方法返回14.JavaIDL/CORBACORBA〔CommonObjectRequestBrokerArchitecture〕是一個(gè)分布式對(duì)象體系結(jié)構(gòu),它獨(dú)立于平臺(tái),也獨(dú)立于語(yǔ)言。在這個(gè)體系結(jié)構(gòu)中,一個(gè)對(duì)象可以被本機(jī)上的客戶或遠(yuǎn)程客戶通過方法激活來(lái)存取。客戶〔一個(gè)對(duì)象或應(yīng)用〕無(wú)須知道被調(diào)用對(duì)象〔稱為效勞對(duì)象〕的運(yùn)行環(huán)境,也無(wú)須知道實(shí)現(xiàn)這個(gè)對(duì)象的編程語(yǔ)言,客戶只要知道效勞對(duì)象的邏輯地址和提供的接口。這種互操作性的關(guān)鍵是IDL〔InterfaceDefinitionLanguage、接口定義語(yǔ)言〕,IDL說(shuō)明對(duì)象接口中的方法,這些方法可以被其它對(duì)象〔或應(yīng)用〕激活。返回RMI和CORBA相比〔參考〕兩者的關(guān)鍵差異在于語(yǔ)言環(huán)境,JavaRMI是一個(gè)分布式對(duì)象計(jì)算的純Java解決方案(如,在JavaRMI中,對(duì)象的接口用Java定義,而不是用IDL);CORBA沒有定義平安效勞,而JavaRMI繼承了Java的平安性;CORBA有不同的實(shí)現(xiàn),不同的獨(dú)立軟件開發(fā)商的不同實(shí)現(xiàn)均有獨(dú)特性,這使得在不同平臺(tái)上的匹配比較困難,而且不是所有CORBA產(chǎn)品開發(fā)商都支持所有平臺(tái),而幾乎所有平臺(tái)都支持Java虛擬機(jī),因此JavaRMI具有更高的可移植性。如果客戶對(duì)象和效勞對(duì)象都基于Java虛擬機(jī),那么JavaRMI是分布對(duì)象計(jì)算的最好選擇。最后,IIOP已經(jīng)提供了JavaRMI和CORBA的互操作能力,而且兩者的開展有互相借鑒的趨勢(shì)。15.JavaMail/JAFJavaMail是用于存取郵件效勞器的一套APIJava應(yīng)用程序開源通過javaMail來(lái)收發(fā)電子郵件如工程組的向工程成員發(fā)邀請(qǐng)郵件如用戶登錄忘記密碼,通過郵件想注冊(cè)用戶發(fā)送密碼——第9章JavaMail利用JavaBeansActivationFramework(JAF)來(lái)處理MIME-編碼的郵件附件。MIME的字節(jié)流可以被轉(zhuǎn)換成Java對(duì)象,或者轉(zhuǎn)換自Java對(duì)象。由此大多數(shù)應(yīng)用都可以不需要直接使用JAF。目錄1.4JavaEE應(yīng)用打包與部署將一個(gè)JavaEE應(yīng)用中的各個(gè)別離組件打包到一個(gè)單元〔通常稱為包〕中,并將它部署到符合JavaEE標(biāo)準(zhǔn)的應(yīng)用效勞器上。包〔package〕可以是以下三種單獨(dú)的模塊之一.war ——Web模塊.jar ——EJB模塊、應(yīng)用程序模塊JAR文件不僅用于壓縮和發(fā)布,而且還用于部署和封裝庫(kù)、組件和插件程序,.rar ——資源適配器模塊.ear ——完整的JavaEE應(yīng)用一個(gè)打包過的JavaEE模塊主要包括以下兩類程序文件:JavaEE組件〔例如企業(yè)beans,JSP頁(yè)面,servlet等〕程序文件用于描述這些組件的配置描述文件目錄四種模塊web模塊包:.warEJB模塊包:.jar應(yīng)用程序客戶端模塊包.jar資源適配器模塊:.rar總的——應(yīng)用程序包:.ear部署文件:web.xml-描述應(yīng)用的web端組件ejb-jar.xml-標(biāo)準(zhǔn)的J2EE部署描述,用來(lái)定制EJB組件.application.xml-標(biāo)準(zhǔn)的描述整個(gè)應(yīng)用部署的xml文件sun-j2ee-ri.xml-由EJB容器提供商來(lái)填充的部署描述文件,包含具體實(shí)現(xiàn)的定制信息web.xmlejb—jar.xml打包應(yīng)用程序目錄1.5JavaEE體系結(jié)構(gòu)的優(yōu)點(diǎn)獨(dú)立于硬件配置和操作系統(tǒng)堅(jiān)持面向?qū)ο蟮脑O(shè)計(jì)原那么靈活性、可移植性和互操作性輕松的企業(yè)信息系統(tǒng)集成本章小結(jié)從企業(yè)分布式應(yīng)用的特點(diǎn)上來(lái)看,我們需要JavaEE分布式——面向web、多層結(jié)構(gòu)、高速反響性、平安性(JAAS)、事務(wù)性(JTA)、可擴(kuò)展性、集成化、可移植性、易維護(hù)-JavaEE不是一門編程語(yǔ)言,而是一個(gè)標(biāo)準(zhǔn)中間件體系結(jié)構(gòu),基于組件、可重用的組件多層次統(tǒng)一的平安模型靈活的事務(wù)控制Web效勞支持典型的分為〔表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層和企業(yè)信息層〕JavaEE是企業(yè)分布式應(yīng)用開發(fā)標(biāo)準(zhǔn),核心思想是組件——容器思想應(yīng)用程序是由組件組成的,組件運(yùn)行在容器中。JavaEE的三大組件技術(shù):Servlet、Jsp、EJB容器是JavaEE的運(yùn)行環(huán)境容器有四種(ApplicationClient容器、Applet容器、Web容器、EJB容器),負(fù)責(zé)實(shí)現(xiàn)復(fù)雜的平安、事務(wù)等工作,JavaEE的核心技術(shù)包括組件技術(shù)和容器的效勞技術(shù)(JavaServlet、JSP、EJB、JDBC、JNDI、JTA、JAAS、JCA、Webservice、XML、JMS、RMIJavaIDL/CORBA、JavaMail/JAF)打包與部署,JAR/WAR/EAR包學(xué)習(xí)要點(diǎn):1.熟悉分布式的多層應(yīng)用開發(fā)模型2.熟悉組件的含義與各種組件類型3.了解容器的含義與各種容器類型4.熟悉各種JavaEEAPIs了解打包與部署熟悉JAR/WAR/EAR文件格式及相互區(qū)別介紹幾個(gè)好的Java方面的編程網(wǎng)站:CSDN論壇中國(guó)最有名的技術(shù)論壇,《程序員》雜志就是他們出版的,你可以在上面提出問題,馬上就有人答復(fù)你,如果你覺
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代寫課題申報(bào)書多少錢
- 成囊材料市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 企業(yè)生產(chǎn)線用工合同范本
- 中國(guó)傳統(tǒng)文化學(xué)習(xí)心得體會(huì)
- 廠家求購(gòu)鋼材合同范本
- 臨床護(hù)理習(xí)題(附答案)
- 機(jī)械制造基礎(chǔ)模擬試題含答案
- 代理經(jīng)營(yíng)承包協(xié)議合同范本
- 箱包維修合同范本
- 流體力學(xué)復(fù)習(xí)題(含答案)
- 算力中心建設(shè)的技術(shù)要求
- 2024煤礦安全規(guī)程解讀
- 德州環(huán)鋰新能源科技有限公司2萬(wàn)噸年廢舊鋰電池回收項(xiàng)目環(huán)境影響報(bào)告書
- 2025年江蘇省中職《英語(yǔ)》學(xué)業(yè)水平考試核心考點(diǎn)試題庫(kù)500題(重點(diǎn))
- 延期實(shí)習(xí)申請(qǐng)書
- GB/T 1346-2024水泥標(biāo)準(zhǔn)稠度用水量、凝結(jié)時(shí)間與安定性檢驗(yàn)方法
- 2025年江蘇信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 易制毒化學(xué)品理論考試試題及答案
- 2024年煙臺(tái)汽車工程職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2024年江西旅游商貿(mào)職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- IIT臨床醫(yī)學(xué)項(xiàng)目管理
評(píng)論
0/150
提交評(píng)論