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

正文內(nèi)容

基于ejb30的分布式網(wǎng)上購物系統(tǒng)(編輯修改稿)

2025-09-01 22:53 本頁面
 

【文章內(nèi)容簡介】 APIs)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提基于 的分布式網(wǎng)上購物系統(tǒng) 7供了有關(guān)技術(shù)和豐富的類庫。 EJB 技術(shù)簡介企業(yè)級 JavaBean(Enterprise JavaBean,EJB)是一個用來構(gòu)筑企業(yè)級應(yīng)用的服務(wù)器端可被管理組件,Java 企業(yè)版(Java Enterprise Edition)API 中提供了對 EJB 的規(guī)范。EJB 是一個封裝有某個應(yīng)用程序之業(yè)務(wù)邏輯的服務(wù)器端組件。EJB 最早于 1997 年由 IBM 提出,旋即被 Sun Microsystems 采用并形成標準(EJB 和 EJB )。其后在 Java 社區(qū)進程(Java Community Process)的支持下陸續(xù)有一些 JSR 被制訂來定義新的 EJB 標準,分別是 JSR 19(EJB ),JSR 153(EJB )以及最新的 JSR 220(EJB )。EJB 規(guī)范的目的在于為企業(yè)及應(yīng)用開發(fā)人員實現(xiàn)后臺業(yè)務(wù)提供一個標準方式,從而解決一些此前在作業(yè)過程中總是重復(fù)發(fā)生的問題。EJB 以一個標準方式自動處理了諸如數(shù)據(jù)持久化,事務(wù)集成,安全對策等不同應(yīng)用的共有問題,使得軟件開發(fā)人員可以專注于程序的特定需求而不再飽受那些非業(yè)務(wù)元素的困擾。 EJB 與 JavaBean 的區(qū)別JavaBean 是可復(fù)用的組件,對 JavaBean 并沒有嚴格的規(guī)范。理論上講,任何一個Java 類都可以是一個 Bean(例如 Spring 中就是這樣,所有的類都可以配置為 Bean)。但通常情況下,由于 JavaBean 是被容器所創(chuàng)建的(如 Tomcat),所以 JavaBean 應(yīng)具有一個無參的構(gòu)造器。另外,通常 JavaBean 還要實現(xiàn) Serializable 接口用于實現(xiàn) Bean的持久性。JavaBean 實際上相當(dāng)于微軟 COM 模型中的本地進程內(nèi) COM 組件,它是不能被跨進程訪問的。Enterprise JavaBean 則相當(dāng)于 DCOM,即分布式組件。它是基于Java 的遠程方法調(diào)用(RMI )技術(shù)的,所以 EJB 可以被遠程訪問(跨進程、跨計算機)。但 EJB 必須被部署在諸如 Webspere、WebLogic、JBoss 這樣的容器中,EJB 客戶從不直接訪問真正的 EJB 組件,而是通過其容器訪問。EJB 容器是 EJB 組件的代理,EJB 組件由容器所創(chuàng)建和管理,客戶通過容器來訪問真正的 EJB 組件。 與 的區(qū)別圖 21 是 的訪問模型?;? 的分布式網(wǎng)上購物系統(tǒng) 8圖 21 的訪問模型如圖所示,EJB : ? EJB ? 組件接口要求實現(xiàn)EJBObject或EJBLocalObject以及處理許多不必要的異常? 基于XML的EJB ? 基于EJB 模型的容器管理持久性在開發(fā)和管理方面過于復(fù)雜,并且失去了幾個基本特性——如使用數(shù)據(jù)庫序列定義主鍵的標準方法? EJB QL語法非常有限,而且是靜態(tài)的,無法做到運行期間的動態(tài)查詢? EJB ,因為它們在繼承和多態(tài)性方面的有使用限制? 開發(fā)人員無法在EJB容器外部測試EJB模塊,而在容器內(nèi)部調(diào)試EJB非常復(fù)雜和耗時? 查找和調(diào)用EJB ,即使是在應(yīng)用程序中使用最基本的EJB,也需要對JNDI有一個詳細的了解? 對容器的依賴使得EJB ,無法實現(xiàn)一次編寫,到處運行的面向構(gòu)件的開發(fā)所有這些復(fù)雜度和缺陷,都導(dǎo)致EJB ,所以出現(xiàn)了EJB 。圖22是EJB 。基于 的分布式網(wǎng)上購物系統(tǒng) 9圖 22 的訪問模型EJB ,具體體現(xiàn)在: ? 消除了不必要的接口Remote,Home ,EJB 以及回調(diào)方法實現(xiàn)? 實體Bean采用了POJO模型,一個簡單的JavaBean就可以是一個實體Bean,無需依賴容器運行和測試? 全面采用O/R Mapping技術(shù)來實現(xiàn)數(shù)據(jù)庫操作? 實體Bean可以運用在所有需要持久化的應(yīng)用,不管是客戶端還是服務(wù)器端,從而真正實現(xiàn)面向構(gòu)件的開發(fā)? 實體Bean現(xiàn)在支持繼承和多態(tài)性? 靈活豐富的JPQL查詢語言? SQL支持? 使用元數(shù)據(jù)注解代替部署描述符,減少復(fù)雜配置和提高可維護性? 將常規(guī)Java類用作EJB并將常規(guī)業(yè)務(wù)接口用于 EJB從整個EJB 規(guī)范的角度來看,EJB 久化API 上。在EJB ,實體Bean持久化已經(jīng)單獨作為一個持久化API規(guī)范和EJB的其它部分分離開來。 中 Bean 的分類根據(jù) Bean 的用途,EJB 規(guī)范中將它們分為三種類型:會話 Bean、消息驅(qū)動基于 的分布式網(wǎng)上購物系統(tǒng) 10Bean 和實體。每種 Bean 類型都服務(wù)于一個目的,并且可以使用 EJB 服務(wù)的特定子集。給 Bean 分類的真正目的是保證不會在允許的范圍內(nèi)使它們過多地加載服務(wù),Bean 分類也幫助我們以有意義的方式了解和組織應(yīng)用程序。例如,Bean 類型幫助我們在分層架構(gòu)的基礎(chǔ)上開發(fā)應(yīng)用程序。會話 Bean 和消息驅(qū)動 Bean(MessageDriven Bean,MDB)用于構(gòu)造業(yè)務(wù)邏輯,它們活動于容器中,容器管理這些 Bean 并且為它們提供服務(wù)。實體用于構(gòu)建應(yīng)用程序的持久化部分,與容器一樣,由持久化管理器管理實體。持久化管理器可以插入到容器中,是 Java 持久化 API 更高的抽象。 EJB 的新特性(1) 簡化的程序設(shè)計模型EJB 最大的問題在于為了實現(xiàn) EJB,我們需要編寫大量代碼。而 EJB 使我們可以使用 POJO 和 POJI 開發(fā) EJB 組件,然后我們可以按照需求,使用注解對它們應(yīng)用配置元數(shù)據(jù),以便添加平臺服務(wù),如遠程性、Web 服務(wù)支持以及生命周期回調(diào)。在EJB 中,服務(wù)定義從類型安全的領(lǐng)域轉(zhuǎn)移到了部署和運行時配置中,基本用不到的很多機制性步驟都由平臺本身自動完成。(2) 用注解代替部署描述文件除了必須編寫大量樣板代碼之外,管理 EJB 的重要障礙是仍然必須為每個組件進行大量 XML 配置。EJB 允許我們使用元數(shù)據(jù)注解配置組件,而不一定要使用冗長、可讀性差的 XML 部署描述文件。除了使配置任務(wù)更加容易之外, EJB 還通過盡可能地使用有意義的默認值減少了需要配置的任務(wù)的總量。當(dāng)我們使用 ORM 處理自動持久化時,這顯得尤為重要。(3) 依賴注入和 JNDI 查找EJB 開發(fā)中最為單調(diào)乏味的一部分是,當(dāng)訪問 EJB 或由容器管理的資源(如池化的數(shù)據(jù)庫連接處理)以進行 JNDI 查找時,必須多次編寫相同的幾行樣板代碼。JNDI的麻煩在于它使應(yīng)用程序代碼與應(yīng)用程序服務(wù)器結(jié)合在一起,這使開發(fā)和測試非常困難。在 EJB 中,JNDI 查找被轉(zhuǎn)換為使用基于元數(shù)據(jù)的依賴注入的簡單配置。(4) 簡化的持久化 APIEJB 持久化模型的大量問題源于它把容器范例應(yīng)用到了不適合它解決的問題上。使實體 Bean 受容器管理的主要動機是為了允許遠程訪問,但因為性能的原因,實際上很少有客戶端利用這一特性,而是選擇使用會話 Bean 作為遠程訪問端點。EJB 通過使用更為自然的 API 范例,通過 EntityManager 接口操作基于元數(shù)據(jù)的 POJO,從而解決了這個問題。EJB 中實體 Bean 的 ORM 從未標準化,查詢機制 EJB QL 也很不完善。在 EJB 中,持久化由 Java 持久化 API( Java Persistence API,JPA )管理。首先,它提供能夠處理大部分自動持久化復(fù)雜情況的健壯的 ORM 配置集。其次,Java基于 的分布式網(wǎng)上購物系統(tǒng) 11持久化查詢語言(JPQL)顯著地改進了 EJB QL,使 OR 查詢技術(shù)趨于標準化。最后,EntityManager API 標準化了 ORM CURD 操作。但是,標準化不是簡化的 API 的唯一優(yōu)勢,另一個非常好的特性是它可以運行在容器之外。(5) 可進行單元測試的 POJO 組件在 EJB 中,只能對組件進行功能性測試,因為組件必須部署到容器中才能執(zhí)行。因為所有 EJB 組件都是 POJO,所以可以容易地在容器之外執(zhí)行它們。這就是說使用測試框架(如 Junit 或者 TestNG)對所有組件業(yè)務(wù)邏輯進行單元測試成為可能。 Servlet 技術(shù)簡介Servlet 是一種服務(wù)器端的 Java 應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的 Web 頁面,它擔(dān)當(dāng)客戶請求( Web 瀏覽器或其他 HTTP 客戶程序)與服務(wù)器響應(yīng)(HTTP 服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。Servlet 是位于 Web 服務(wù)器內(nèi)部的服務(wù)器端的 Java 應(yīng)用程序,與傳統(tǒng)的從命令行啟動的 Java 應(yīng)用程序不同,Servlet由 Web 服務(wù)器進行加載,一個 Servlet 就是 Java 編程語言中的一個類,它被用來擴展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求—響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然 Servlet 可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴展 Web 服務(wù)器的應(yīng)用程序,該 Web 服務(wù)器必須包含支持 Servlet 的 Java 虛擬機。最早支持 Servlet 技術(shù)的是 JavaSoft 的 Java Web Server。此后,一些其它的基于Java 的 WebServer 開始支持標準的 Servlet API。 Servlet 的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài) Web 內(nèi)容。這個過程為: (1) 客戶端發(fā)送請求至服務(wù)器端 (2) 服務(wù)器將請求信息發(fā)送至 Servlet (3) Servlet 生成響應(yīng)內(nèi)容并將其傳給服務(wù)器。響應(yīng)內(nèi)容動態(tài)生成,取決于客戶端的請求(4) 服務(wù)器將響應(yīng)返回給客戶端 Servlet 看起來像是通常的 Java 程序。Servlet 導(dǎo)入特定的屬于 Java Servlet API 的包。因為是對象字節(jié)碼,可動態(tài)地從網(wǎng)絡(luò)加載,可以說 Servlet 對服務(wù)器就如同 Applet 對客戶端一樣,但是,由于 Servlet 運行于服務(wù)器中,它并不需要一個圖形用戶界面。從這個角度講,Servlet 也被稱為 Faceless Object。 Servlet 目前最新版本為 草案。 JSP 技術(shù) 簡介JSP(Java Server Pages)是由 Sun Microsystems 公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準,其在動態(tài)網(wǎng)頁的建設(shè)中有其強大而別特的功能,JSP 與基于 的分布式網(wǎng)上購物系統(tǒng) 12Microsoft 的 ASP 技術(shù)非常相似。兩者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。在 ASP 或 JSP 環(huán) 境下,HTML 代碼主要負責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML 頁面只依賴于Web 服務(wù)器,而 ASP 和 JSP 頁面需要附加 的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。ASP 和 JSP 都是面向 Web 服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持?,F(xiàn)介紹如下:(1) 將內(nèi)容的生成和顯示進行分離使用 JSP 技術(shù), Web 頁面開發(fā)人員可以使用 HTML 或者 XML 標識來設(shè)計和格式化最終頁面。使用 JSP 標識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格) 。生成內(nèi)容的邏輯被封裝在標識和 JavaBeans 組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運行。如果核心邏輯被封裝在標識和 Beans 中,那么其他人,如 Web 管理人員和頁面設(shè)計者,能夠編輯和使用 JSP 頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP 引擎解釋 JSP 標識和小腳本,生成所請求的內(nèi)容(例如,通過訪問 JavaBeans 組件,使用 JDBCTM 技術(shù)訪問數(shù)據(jù)庫,或者包含文件) ,并且將結(jié)果以HTML(或者 XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于 HTML 的 Web 瀏覽器的完全可用性。(2) 生成可重用的組件絕大多數(shù) JSP 頁面依賴于可重用的,跨平臺的組件(JavaBeans 或者 Enterprise JavaBeans TM 組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。(3) 采用標識簡化頁面開發(fā)Web 頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。Java Server Page 技術(shù)封裝了許多功能,這些功能是在易用的、與 JSP 相關(guān)的 XML 標識中進行動態(tài)內(nèi)容生成所需要的。標準的 JSP 標識能夠訪問和實例化 JavaBeans 組件,設(shè)置或者檢索組件屬性,下載 Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。通過開發(fā)定制化標識庫,JSP 技術(shù)是可以擴展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標識庫。這使得 Web 頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣的執(zhí)行特定功能的構(gòu)件來工作。(4) 將內(nèi)容的生成和顯示進行分離與 Servlet 相比, JSP 能提供所有 Servlet 的功能,但它比用 println 書寫和修改HTML 更方便。此外,你可以更明確的進行分工,WEB 頁面設(shè)計人員編寫 HTML,只需要留出地方讓 Servlet 程序員插入動態(tài)部分即可。基于
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1