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

正文內(nèi)容

基于ejb30的分布式網(wǎng)上購(gòu)物系統(tǒng)-預(yù)覽頁(yè)

 

【正文】 上購(gòu)物系統(tǒng) 3? 關(guān)注企業(yè)級(jí)應(yīng)用生命期間的開(kāi)發(fā),部署,運(yùn)行等動(dòng)作? 定義了不同開(kāi)發(fā)工具所需遵守的契約,以便其產(chǎn)品能夠在運(yùn)行期交互? 支持與現(xiàn)行系統(tǒng)兼容,開(kāi)發(fā)者可以擴(kuò)展現(xiàn)有產(chǎn)品以使之支持 EJB? 與其它 Java API 兼容? 支持 EJB 與 Java2 平臺(tái)企業(yè)版或者其他非 Java 應(yīng)用程序之間的互操作性? 支持與 CORBA 兼容的 RMIIIOP 11/24/2022 ? Web 服務(wù):可將無(wú)狀態(tài)會(huì)話 bean 暴露為 Web 服務(wù);EJB可通過(guò)引用訪問(wèn) Web 服務(wù)? EJB 定時(shí)器服務(wù):提供一種新的基于定時(shí)器的事件驅(qū)動(dòng)方式,可供消息驅(qū)動(dòng) bean 作為消息源使用? 增加了消息目的地? 進(jìn)一步豐富了 EJB 查詢語(yǔ)言,新增支持 ORDER BY、AVG、MIN、MAX、SUM、COUNT 和 MOD? 使用 XML schema 代替 DTD 以定義部署描述符 5/2/2022 ? 全面采用 Java 注釋代替部署描述符(后者仍可使用,并且具有更高優(yōu)先級(jí))? 把 版的實(shí)體 Bean 改為由 JPA 支持 EJB 的新生由于 IBM 和 Sun Microsystems 等 EJB 提倡者力推其前景,起初一些大公司紛紛采用 EJB 部署他們的系統(tǒng)。當(dāng)然,EJB 所被賦予的使命,如對(duì)象關(guān)系映射和事務(wù)管理確實(shí)有其天然復(fù)雜性,但其 API 之復(fù)雜還是令開(kāi)發(fā)人員們望而卻步,一些人開(kāi)始懷疑 EJB 除了引入了復(fù)雜的實(shí)現(xiàn)手段以外似乎并未帶來(lái)什么實(shí)際好處。盡管如此,EJB 的廣泛普及仍然為其復(fù)雜度所制約。盡管它們不像 EJB 那樣有巨頭支持,但其在庶民間卻更加流行,并且也被一些對(duì) EJB 深感失望的企業(yè)所采用。受到 Spring 的影響,EJB 也使用了所謂的“傳統(tǒng)簡(jiǎn)單 Java 對(duì)象(POJO )” ;同時(shí),支持依賴注入來(lái)簡(jiǎn)化全異系統(tǒng)的集成與配置。相應(yīng)地,EJB 幾乎成為了一個(gè)全新的 API,與此前的數(shù)版可謂毫無(wú)相似度可言。目前,EJB 的設(shè)計(jì)模式有幾十種,如何選擇適合自己項(xiàng)目的模式是 EJB 設(shè)計(jì)的關(guān)鍵問(wèn)題,也是最難解決的問(wèn)題。DAO 是 J2EE 應(yīng)用的重要組件,它隱藏了底層的數(shù)據(jù)庫(kù)訪問(wèn)細(xì)節(jié)。DAO 層也分隔了數(shù)據(jù)庫(kù)與業(yè)務(wù)邏輯層,使業(yè)務(wù)邏輯層更加專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而無(wú)需理會(huì)持久層訪問(wèn)實(shí)現(xiàn)。DAO 還降低了層的復(fù)雜程度。這樣顯著減少了 RMI 調(diào)用的數(shù)量,并且加強(qiáng)了客戶端和實(shí)體 Bean 之間的松散耦合,因此改進(jìn)了代碼的可維護(hù)性。它應(yīng)用會(huì)話 Bean 來(lái)實(shí)現(xiàn) Facade 模式的思想,把構(gòu)成子系統(tǒng)的一套業(yè)務(wù)對(duì)象“包裝”在會(huì)話 Bean 中。并且當(dāng)業(yè)務(wù)對(duì)象的方法改動(dòng)時(shí),只需要修改會(huì)話 Bean,而客戶端可以保持不變。不受管理的應(yīng)用程序組件必須使用 JNDI 查找才能獲得會(huì)話 Bean 的引用。第三章對(duì)系統(tǒng)的整體需求分析,第四章和第五章是系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。用 Java 實(shí)現(xiàn)的 HotJava 瀏覽器(支持 Java applet)顯示了 Java 的魅力:跨平臺(tái)、動(dòng)感的 Web、Inter 計(jì)算。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè) Java 平臺(tái)之后, Java 應(yīng)用程序就可運(yùn)行。目前常用的 Java 平臺(tái)基于 ,最近版本為 。Java EE 是企業(yè)版本,用于開(kāi)發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端 Java 應(yīng)用程序。Java 語(yǔ)言的優(yōu)良特性使得 Java 應(yīng)用具有無(wú)比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。 EJB 技術(shù)簡(jiǎn)介企業(yè)級(jí) JavaBean(Enterprise JavaBean,EJB)是一個(gè)用來(lái)構(gòu)筑企業(yè)級(jí)應(yīng)用的服務(wù)器端可被管理組件,Java 企業(yè)版(Java Enterprise Edition)API 中提供了對(duì) EJB 的規(guī)范。EJB 規(guī)范的目的在于為企業(yè)及應(yīng)用開(kāi)發(fā)人員實(shí)現(xiàn)后臺(tái)業(yè)務(wù)提供一個(gè)標(biāo)準(zhǔn)方式,從而解決一些此前在作業(yè)過(guò)程中總是重復(fù)發(fā)生的問(wèn)題。但通常情況下,由于 JavaBean 是被容器所創(chuàng)建的(如 Tomcat),所以 JavaBean 應(yīng)具有一個(gè)無(wú)參的構(gòu)造器。它是基于Java 的遠(yuǎn)程方法調(diào)用(RMI )技術(shù)的,所以 EJB 可以被遠(yuǎn)程訪問(wèn)(跨進(jìn)程、跨計(jì)算機(jī))。基于 的分布式網(wǎng)上購(gòu)物系統(tǒng) 8圖 21 的訪問(wèn)模型如圖所示,EJB : ? EJB ? 組件接口要求實(shí)現(xiàn)EJBObject或EJBLocalObject以及處理許多不必要的異常? 基于XML的EJB ? 基于EJB 模型的容器管理持久性在開(kāi)發(fā)和管理方面過(guò)于復(fù)雜,并且失去了幾個(gè)基本特性——如使用數(shù)據(jù)庫(kù)序列定義主鍵的標(biāo)準(zhǔn)方法? EJB QL語(yǔ)法非常有限,而且是靜態(tài)的,無(wú)法做到運(yùn)行期間的動(dòng)態(tài)查詢? EJB ,因?yàn)樗鼈冊(cè)诶^承和多態(tài)性方面的有使用限制? 開(kāi)發(fā)人員無(wú)法在EJB容器外部測(cè)試EJB模塊,而在容器內(nèi)部調(diào)試EJB非常復(fù)雜和耗時(shí)? 查找和調(diào)用EJB ,即使是在應(yīng)用程序中使用最基本的EJB,也需要對(duì)JNDI有一個(gè)詳細(xì)的了解? 對(duì)容器的依賴使得EJB ,無(wú)法實(shí)現(xiàn)一次編寫,到處運(yùn)行的面向構(gòu)件的開(kāi)發(fā)所有這些復(fù)雜度和缺陷,都導(dǎo)致EJB ,所以出現(xiàn)了EJB 。 中 Bean 的分類根據(jù) Bean 的用途,EJB 規(guī)范中將它們分為三種類型:會(huì)話 Bean、消息驅(qū)動(dòng)基于 的分布式網(wǎng)上購(gòu)物系統(tǒng) 10Bean 和實(shí)體。會(huì)話 Bean 和消息驅(qū)動(dòng) Bean(MessageDriven Bean,MDB)用于構(gòu)造業(yè)務(wù)邏輯,它們活動(dòng)于容器中,容器管理這些 Bean 并且為它們提供服務(wù)。而 EJB 使我們可以使用 POJO 和 POJI 開(kāi)發(fā) EJB 組件,然后我們可以按照需求,使用注解對(duì)它們應(yīng)用配置元數(shù)據(jù),以便添加平臺(tái)服務(wù),如遠(yuǎn)程性、Web 服務(wù)支持以及生命周期回調(diào)。除了使配置任務(wù)更加容易之外, EJB 還通過(guò)盡可能地使用有意義的默認(rèn)值減少了需要配置的任務(wù)的總量。在 EJB 中,JNDI 查找被轉(zhuǎn)換為使用基于元數(shù)據(jù)的依賴注入的簡(jiǎn)單配置。EJB 中實(shí)體 Bean 的 ORM 從未標(biāo)準(zhǔn)化,查詢機(jī)制 EJB QL 也很不完善。最后,EntityManager API 標(biāo)準(zhǔn)化了 ORM CURD 操作。這就是說(shuō)使用測(cè)試框架(如 Junit 或者 TestNG)對(duì)所有組件業(yè)務(wù)邏輯進(jìn)行單元測(cè)試成為可能。最早支持 Servlet 技術(shù)的是 JavaSoft 的 Java Web Server。響應(yīng)內(nèi)容動(dòng)態(tài)生成,取決于客戶端的請(qǐng)求(4) 服務(wù)器將響應(yīng)返回給客戶端 Servlet 看起來(lái)像是通常的 Java 程序。 Servlet 目前最新版本為 草案。普通的 HTML 頁(yè)面只依賴于Web 服務(wù)器,而 ASP 和 JSP 頁(yè)面需要附加 的語(yǔ)言引擎分析和執(zhí)行程序代碼。使用 JSP 標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求來(lái)變化的,例如請(qǐng)求帳戶信息或者特定的一瓶酒的價(jià)格) 。這有助于作者保護(hù)自己的代碼,而又保證任何基于 HTML 的 Web 瀏覽器的完全可用性。(3) 采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)Web 頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。今后,第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)?;? 的分布式網(wǎng)上購(gòu)物系統(tǒng) 13(5) 由于 JSP 頁(yè)面的內(nèi)置腳本語(yǔ)言是基于 Java 編程語(yǔ)言的,而且所有的 JSP 頁(yè)面都被編譯成為 Java Servlet,JSP 頁(yè)面就具有 Java 技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。管理員功能劃分為 3 個(gè)主要用例,分別為用戶管理( Book Manage) 、圖書(shū)管理(Book Manage )和圖書(shū)上傳( Book Upload) 。擴(kuò)展流程 3如果用戶名不存在,系統(tǒng)顯示提示信息,要求用戶重新輸入用戶名;3如果密碼錯(cuò)誤,系統(tǒng)顯示提示信息,要求用戶重新輸入密碼。擴(kuò)展流程 2如果購(gòu)物車為空,系統(tǒng)顯示空購(gòu)物車頁(yè)面。擴(kuò)展流程 無(wú)用例名 圖書(shū)管理用例 ID Usecase7主要業(yè)務(wù)參與者 管理員前置條件 管理員登錄到系統(tǒng)后置條件 圖書(shū)信息更新觸發(fā)條件 需要管理圖書(shū)基本流程 管理員進(jìn)入后臺(tái)圖書(shū)管理頁(yè)面,查看所有圖書(shū)的主要信息;點(diǎn)擊某一圖書(shū)條目,在下方顯示該圖書(shū)的全部信息;修改之后確認(rèn),更新圖書(shū)信息。整個(gè)活動(dòng)流程如下: 作為整個(gè)網(wǎng)站的入口,會(huì)自動(dòng)重定向到主頁(yè) 。點(diǎn)擊“修改數(shù)量”按鈕,在 頁(yè)面可以修改購(gòu)物車。用戶點(diǎn)擊“確定”之后,系統(tǒng)將訂單信息發(fā)送到用戶的注冊(cè)郵箱,并返回 頁(yè)面告訴用戶下單成功。用戶表存放用戶注冊(cè)信息,圖書(shū)信息表存儲(chǔ)圖書(shū)信息,訂單表存儲(chǔ)用戶的訂單信息,訂單明細(xì)表存儲(chǔ)訂單信息中的每一條目?;? 的分布式網(wǎng)上購(gòu)物系統(tǒng) 234 系統(tǒng)設(shè)計(jì) 項(xiàng)目結(jié)構(gòu)設(shè)計(jì)如圖 41 所示,整個(gè)企業(yè)應(yīng)用項(xiàng)目 OnlineBookstore 包含一個(gè) EJB 項(xiàng)目、一個(gè) Web項(xiàng)目和一個(gè) UML 項(xiàng)目。mdb 包中是使用JMS 的消息驅(qū)動(dòng) Bean,用于處理像發(fā)送郵件這種可以異步處理的用戶請(qǐng)求。 作為整個(gè)網(wǎng)站的入口,直接放在WebRoot 根目錄下?;? 的分布式網(wǎng)上購(gòu)物系統(tǒng) 25圖 45 實(shí)體類圖 會(huì)話 Bean 類圖 46 是會(huì)話 Bean 的類圖?;? 的分布式網(wǎng)上購(gòu)物系統(tǒng) 26圖 46 會(huì)話 Bean 類圖 消息驅(qū)動(dòng) Bean 類圖 47 是消息驅(qū)動(dòng) Bean 的類圖。Query query = (queryString)。amp。if (rowCount 0) {(rowCount)。div class=search 選擇分類 form name=search method=post action=servlet/BookQueryServlet基于 的分布式網(wǎng)上購(gòu)物系統(tǒng) 31 select name=classify option selected=selected value=all全部分類/ option option value=technology科技/option option value=manage管理/option option value=literature文學(xué)/option option value=life生活/option option value=study教材教輔考試/ option /select input type=text name=keyword size=100/ input type=submit name=submit value=搜索 / /form/div如上是 頁(yè)面中實(shí)現(xiàn)搜索功能的代碼,用戶點(diǎn)擊“搜索”按鈕之后,請(qǐng)求發(fā)送到 BookQueryServlet,它調(diào)用 BookFacade 類中的 findByTitleKeywordAndClassify方法,然后把查詢的結(jié)果集返回給 頁(yè)面顯示,具體代碼如下:protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String path = ()。String pageindex = (String)(pageindex)。int[] rowStartIdxAndCount = (PAGINATION_COUNT, pageIndex)。}HttpSession session = ()。} 頁(yè)面中顯示結(jié)果的代碼如下:基于 的分布式網(wǎng)上購(gòu)物系統(tǒng) 32% String pageindex = (String)(pageindex)。圖 52 為顯示搜索結(jié)果的 頁(yè)面,依次列出各項(xiàng)。String basePath = () + :// + () + : + () + path + /。Book book = (Book)(book)。}SetItem itemSet = ()。break。(itemQuantity)?;? 的分布式網(wǎng)上購(gòu)物系統(tǒng) 35(order, order)。其主要方法 sendout 代碼如下:public boolean sendout() { try { (mp)。 ((String)(), username, password)。 } catch (Exception e) { ()。向 MailQueue發(fā)送消息的代碼如下:try{Context ctx = new InitialContext()。Queue queue = (Queue) (queue/MailQueue)。(content, content)。}基于 的分布式網(wǎng)上購(gòu)物系統(tǒng) 37()。MessageDriven(mappedName = jms/MailServiceBean, activationConfig = {ActivationConfigProperty(propertyName = acknowledgeMode, propertyValue = Autoacknowledge),ActivationConfigProperty(propertyName = destinationType, propertyValue = ),ActivationConfig
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1