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

正文內(nèi)容

基于ejb30的分布式網(wǎng)上購物系統(tǒng)-文庫吧在線文庫

2024-09-05 22:53上一頁面

下一頁面
  

【正文】 的 API 顯得太過困難。另一方面,“草根階層”的編程愛好者們發(fā)起了一場旨在使用 “輕量級”技術(shù)以代替復雜的 EJB 的運動。Hibernate 的許多特性也被引入到 Java 持久化 API 當中,從而取代原來的實體 Bean。在業(yè)務邏輯層直接使用 JDBC 導致了若干維護問題,因此出現(xiàn)了 DAO 模型,其目的是從業(yè)務邏輯去除數(shù)據(jù)庫訪問代碼。DAO 模式可抽象出數(shù)據(jù)訪問方式,在訪問數(shù)據(jù)源時,完全感覺不到數(shù)據(jù)源的存在。Facade 定義了一個更高層次的接口,使子系統(tǒng)更容易使用。 從 Web 層訪問會話 Bean我們知道,可以使用會話 Bean 構(gòu)造應用程序的業(yè)務邏輯并且從企業(yè)應用程序的表現(xiàn)層或 Web 層訪問會話 Bean?;? 的分布式網(wǎng)上購物系統(tǒng) 62 系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù) 系統(tǒng)開發(fā)環(huán)境系統(tǒng)使用 作為開發(fā)工具,采用 作為應用服務器,使用EJB 、Servlet 和 JSP 技術(shù)作為開發(fā)方法,是基于 EJB 的 Web 應用。這樣 Java 程序可以只編譯一次,就可以在各種系統(tǒng)中運行。Java 語言是一個支持網(wǎng)絡(luò)計算的面向?qū)ο蟪绦蛟O(shè)計語言。EJB 最早于 1997 年由 IBM 提出,旋即被 Sun Microsystems 采用并形成標準(EJB 和 EJB )。JavaBean 實際上相當于微軟 COM 模型中的本地進程內(nèi) COM 組件,它是不能被跨進程訪問的?;? 的分布式網(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可以運用在所有需要持久化的應用,不管是客戶端還是服務器端,從而真正實現(xiàn)面向構(gòu)件的開發(fā)? 實體Bean現(xiàn)在支持繼承和多態(tài)性? 靈活豐富的JPQL查詢語言? SQL支持? 使用元數(shù)據(jù)注解代替部署描述符,減少復雜配置和提高可維護性? 將常規(guī)Java類用作EJB并將常規(guī)業(yè)務接口用于 EJB從整個EJB 規(guī)范的角度來看,EJB 久化API 上。持久化管理器可以插入到容器中,是 Java 持久化 API 更高的抽象。(3) 依賴注入和 JNDI 查找EJB 開發(fā)中最為單調(diào)乏味的一部分是,當訪問 EJB 或由容器管理的資源(如池化的數(shù)據(jù)庫連接處理)以進行 JNDI 查找時,必須多次編寫相同的幾行樣板代碼。首先,它提供能夠處理大部分自動持久化復雜情況的健壯的 ORM 配置集。Servlet 是位于 Web 服務器內(nèi)部的服務器端的 Java 應用程序,與傳統(tǒng)的從命令行啟動的 Java 應用程序不同,Servlet由 Web 服務器進行加載,一個 Servlet 就是 Java 編程語言中的一個類,它被用來擴展服務器的性能,服務器上駐留著可以通過“請求—響應”編程模型來訪問的應用程序。因為是對象字節(jié)碼,可動態(tài)地從網(wǎng)絡(luò)加載,可以說 Servlet 對服務器就如同 Applet 對客戶端一樣,但是,由于 Servlet 運行于服務器中,它并不需要一個圖形用戶界面。ASP 和 JSP 都是面向 Web 服務器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用。(4) 將內(nèi)容的生成和顯示進行分離與 Servlet 相比, JSP 能提供所有 Servlet 的功能,但它比用 println 書寫和修改HTML 更方便。擴展流程 3如果注冊信息無效,系統(tǒng)顯示具體錯誤信息,要求用戶重新填寫;3如果用戶名已存在,則系統(tǒng)顯示提示信息,要求用戶重新填寫用戶名。擴展流程 2如果下單失敗,系統(tǒng)顯示提示信息“下單失敗”,并在 2 秒后自動跳轉(zhuǎn)到網(wǎng)站主頁。點擊某一圖書的預覽圖片或鏈接后, 將會顯示該圖書的詳細信息。 ER 圖用戶訂單 訂單明細圖書管理員n11n1n... ...圖 34 數(shù)據(jù)庫 ER 圖如圖 34 所示,數(shù)據(jù)庫共有 5 個表,分別是管理員表(tbl_user) 、用戶表(tbl_user) 、圖書信息表(tbl_book) 、訂單信息表(tbl_order)和訂單明細信息表(tbl_item) ,它們之間的關(guān)系如圖所示。entity 包中是與數(shù)據(jù)庫表一一對應的實體,它們都是簡單的 JavaBean。圖 44 UML 項目的目錄結(jié)構(gòu) 類設(shè)計 實體類圖 45 是實體類 Admin、User、Book、Order 和 Item 的類圖,它們的屬性與數(shù)據(jù)庫中相應表的字段一一對應。圖 47 消息驅(qū)動 Bean 類圖 Web 設(shè)計 主要的 JSP 文件基于 的分布式網(wǎng)上購物系統(tǒng) 27文件名稱 功能前臺頁面 入口頁面 用戶登錄頁面 用戶注冊頁面 主頁,圖書瀏覽頁面 圖書搜索結(jié)果顯示頁面 圖書詳細信息頁面 顯示購物車頁面 管理購物車頁面 顯示訂單信息頁面 頁眉模板頁面 頁腳模板頁面后臺頁面 管理員登錄頁面 用戶管理頁面 圖書管理頁面 上傳頁面 主要的 Servlet 文件文件名稱 功能LoginServlet 用戶登錄LogoutServlet 用戶登出RegisterServlet 用戶注冊FindAllBookServlet 返回數(shù)據(jù)庫中所有圖書BookQueryServlet 返回符合關(guān)鍵字查找的圖書BookDetailServlet 返回指定圖書的詳細信息AddItemServlet 向購物車中添加圖書DeleteItemServlet 從購物車中刪除圖書ManageCartServlet 在購物車中修改圖書數(shù)量ProcessOrderServlet 保存訂單信息,發(fā)送郵件BrowseRecordServlet 保存用戶最近的瀏覽記錄ClassifyQueryServlet 返回某一分類的圖書UploadFileServlet 上傳文件到服務器 數(shù)據(jù)庫設(shè)計 背景表 是數(shù)據(jù)庫設(shè)計的基本信息,為了提高安全性,數(shù)據(jù)表中存儲的管理員和用戶密碼進行了 MD5 算法加密。if (rowStartIdx 0) {(rowStartIdx)。String classify = (String)(classify)。if((all)) {bookList = (keyword, rowStartIdxAndCount)。 ListBook bookList = (ListBook)(booklist)。String quantity = (String)(quantity).trim()。for(Item item : itemSet)if(().getBookTitle().equals(())) {(() + itemQuantity)。}double totalPrice = () * itemQuantity + ()。 Session mailSession = (props, null)。 }}在用戶下單之后,由 ProcessOrderServlet 處理用戶請求。MapMessage msg = ()。}MailServiceBean 是一個監(jiān)聽 MailQueue 消息隊列的 MDB。()。try {QueueConnection connection = ()。 ()。}圖 53 為圖書詳細信息的顯示頁面 的截圖,點擊右邊的“加入購物車”按鈕,則會重定向到如圖 54 所示的顯示當前購物車信息的 頁面。(order)。if(order == null) {order = new Order()。如果用戶沒有購物車,它將會給用戶新建一個購物車;如果購物車中已經(jīng)有了這本書,它將更新數(shù)量。(booklist, bookList)。int pageIndex = (pageindex)。} catch (RuntimeException re) {throw re。(keywordValue, % + keyword + %)。會話Bean 中提供的主要方法有 save()、delete() 、update() 、findByProperty() 和 findAll()。圖 42 EJB 項目的目錄結(jié)構(gòu)圖 43 是 OnlineBookstoreWeb 項目的目錄結(jié)構(gòu),servlet 和 helper 兩個包分別存放Servlet 和輔助類。由于資源有限,所以使用虛擬機來模擬分布式部署。若還未注冊,需要先在 頁面注冊。擴展流程 2如果圖書信息無效,系統(tǒng)顯示具體錯誤信息,要求管理員重新填寫。擴展流程 2如果沒有匹配的結(jié)果,系統(tǒng)顯示空查詢結(jié)果頁面。隨著越來越多的供應商將 JSP 支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務器和工具,更改工具或服務器并不影響當前的應用。標準的 JSP 標識能夠訪問和實例化 JavaBeans 組件,設(shè)置或者檢索組件屬性,下載 Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。如果核心邏輯被封裝在標識和 Beans 中,那么其他人,如 Web 管理人員和頁面設(shè)計者,能夠編輯和使用 JSP 頁面,而不影響內(nèi)容的生成。兩者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。 Servlet 的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài) Web 內(nèi)容。(5) 可進行單元測試的 POJO 組件在 EJB 中,只能對組件進行功能性測試,因為組件必須部署到容器中才能執(zhí)行。使實體 Bean 受容器管理的主要動機是為了允許遠程訪問,但因為性能的原因,實際上很少有客戶端利用這一特性,而是選擇使用會話 Bean 作為遠程訪問端點。(2) 用注解代替部署描述文件除了必須編寫大量樣板代碼之外,管理 EJB 的重要障礙是仍然必須為每個組件進行大量 XML 配置。給 Bean 分類的真正目的是保證不會在允許的范圍內(nèi)使它們過多地加載服務,Bean 分類也幫助我們以有意義的方式了解和組織應用程序。EJB 容器是 EJB 組件的代理,EJB 組件由容器所創(chuàng)建和管理,客戶通過容器來訪問真正的 EJB 組件。 EJB 與 JavaBean 的區(qū)別JavaBean 是可復用的組件,對 JavaBean 并沒有嚴格的規(guī)范。Java 的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。Java ME 用于開發(fā)在移動設(shè)備和嵌入式設(shè)備(比如手機、PDA、電視機頂盒和打印機)上運行的應用程序,包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議以及對可以動態(tài)下載的連網(wǎng)和離線應用程序的豐富支持。Java 平臺由 Java 虛擬機(Java Virtual Machine)和 Java 應用編程接口(Application Programming Interface,API)構(gòu)成。 論文內(nèi)容安排本文第一章首先介紹了些必要的背景知識,主要包括 EJB 規(guī)范的發(fā)展過程和 EJB 技術(shù)的簡單介紹。EJB 客戶端訪問會話 Bean 來代替訪問業(yè)務對象,當一個 EJB 客戶端需要調(diào)用多個業(yè)務對象的方法時,它只需要進行一次粗粒度的遠程方法調(diào)用,將請求送給 Session Facade,再由 Session Facade 通過本地方法調(diào)用,調(diào)用相應的業(yè)務對象,執(zhí)行其方法。在 EJB 中,客戶端遠程訪問實體 Bean,然而遠程訪問有其代價,即降低性能并且緊急耦合客戶端和域數(shù)據(jù)。通過 DAO 組件,可實現(xiàn)業(yè)務邏輯和數(shù)據(jù)庫訪問的分離,避免業(yè)務邏輯與具體的數(shù)據(jù)庫訪問實現(xiàn)耦合。它強調(diào)的是可復用性、可維護性和可移植性等。對于企業(yè)級應用來說,Spring 和 Hibernate 等簡化框架更加實用。這是因為最早的 EJB 規(guī)范只允許客戶端通過特定協(xié)議(如 CORBA)進行遠程方法調(diào)用來調(diào)用,即使大部分實際應用根本就不需要分布式計算。這兩個改動和很多其它改動都符合 EJB 以簡化的開發(fā)模型為中心的新的設(shè)計理念。 還引入了新型的 EJB——消息驅(qū)動Bean( MessageDriven Bean,MDB),從而能夠參與異步消息系統(tǒng)。因此,EJB很適合用于構(gòu)建大型分布式網(wǎng)站,并具有其現(xiàn)實而重要的意義。相應地網(wǎng)上購物系統(tǒng)需要處理的信息量急劇增加,單臺服務器往往無法承受巨大的訪問量。關(guān)鍵詞:Java,EJB ,Servlet,分布式,網(wǎng)上書城IIAbstractWith the rapid development of Inter, online store has to achieve more and more functions and serve more and more visitors. Accordingly, online shopping system has to deal with the rapid increase of the amount of information. A single server often can not afford a huge number of visits, then you nee
點擊復制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1