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

正文內容

基于bs結構的數(shù)字酒店管理系統(tǒng)的設計與實現(xiàn)-資料下載頁

2025-01-22 03:17本頁面

【導讀】水平和效率,從而實現(xiàn)酒店管理的自動化、規(guī)范化和人性化。據(jù)庫的設計上,采用MySQL來支持各種信息,保障數(shù)據(jù)安全。Eclipse、開發(fā)工具開發(fā)。于B/S結構的酒店管理系統(tǒng)的設計與實現(xiàn),著重闡述了該系統(tǒng)開發(fā)實現(xiàn)過程,

  

【正文】 32 Struts 框架 介紹 1) Struts 框架 概覽 Struts 框架 是當 前業(yè)界最為流行的 MVC 設計模式實現(xiàn)框架,相當于一部分 Web 應用系統(tǒng)程序的開發(fā)采用的都是 Struts 框架。 Struts 框架是 Apache 開源項目,采用的是 Java Servlet 和 JSP 技術, Struts 框架由模型( Model)、視圖( View)、控制器( Controller)以及一些 XML 文件處理類工具包組成,其工作原理如圖 93從圖可見, Struts框架的工作原理基本上遵循了通用的 MVC設計模式的思想。 Struts 框架主要特點在于其控制器和模型的實現(xiàn)方式上 [8]。 圖 93 struts 工作原理 2)基 于 Struts 的開發(fā)方法的優(yōu)點 圖 92 MVC組 件的關系和功能 其中通知改變和用戶請求屬于事件,其他都是方法調用 33 下載的軟件系統(tǒng)通常都會采用多層的體系結構。通常情況下的軟件系統(tǒng)由表示層、業(yè)務層、持久層和數(shù)據(jù)庫組成。如圖 94. 表示層:提供用戶界面的顯示和用戶所進行的交互操作。 業(yè)務邏輯層:進行軟件核心業(yè)務邏輯的處理。 持久層:用于進行對象的持久 化 操作 。 數(shù)據(jù) 庫 :用于保存持久化數(shù)據(jù)。 這樣做的好處是可以降低系統(tǒng)的耦合度,每個 層 在系統(tǒng)中都具有明確的分工。并且在 現(xiàn)在 的軟件開發(fā)中,已經(jīng)形成了各種組件可以分別用于 各 層次的開發(fā)工作。這樣就使 得每個 層次 可以自成一體,而層次之間又可以通過接口 、 定義和配置實現(xiàn)他們之間的松散耦合 [10]。 POJO( JavaBean) 介紹 POJO 概述 JavaBean提供了組件化編程的能力 Sun很早提出的 JavaBean的概念是為了解決可視化界面設計的模塊問題。對 VB 有過一些經(jīng)驗的讀者會發(fā)現(xiàn),圖形化編程中,那些可拖曳、所見即所得的控件極大地提高了開發(fā)效率。這些控件就是基于組件化的,他們提供了統(tǒng)一的接口,從而使集成開發(fā)環(huán)境 (IDE)能用統(tǒng)一的方法處理它們。這樣所有的廠商遵循同樣的規(guī)范編寫組件,提高表示層 業(yè)務邏輯層 持久層 數(shù)據(jù)庫 圖 94 3 層體系結構模型 34 了代碼的可重用性。 JavaBean 最初是為了解決 Java 圖形化界面的組件化問題而產(chǎn)生,但由于Java 在客戶端的表現(xiàn)不理想, JavaBean 技術在圖形化方面并沒有發(fā)揮出預想的巨大影響。隨著 Web 技術的發(fā)展, JavaBean 技術在 JSP 中得到了廣泛的應用,這里它往往充當為組件化的數(shù)據(jù)容器,具有標準的接口。用戶可以使用 JavaBean 將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用 Java 代碼創(chuàng)造的對象進行打包,并且其他的開發(fā)者可以通過內部的 JSP 頁面、 Servlet、其他 JavaBean、 Applet 程序或者應用 來使用這些對象。 JavaBean 提供了一種隨時隨地的復制和粘貼的功能,而不用擔心會有任何改變。 JavaBean 使用規(guī)范 按照 Sun 公司的定義, JavaBean 是一個可重復利用的軟件組件。實際上JavaBean 并沒有那么神秘,它只是一個 Java 類 而已,通過封裝屬性和方法成為具有某種功能或者處理某個業(yè)務的對象,并且形式必須符合一些標準化的規(guī)范。 具有 getters 和 setters 方法:如果 Java 類具有一個名字為 Foo 的成員變量,那么必須具有 getFoo()方法獲取該屬性:具有 setFoo()方法 修改該屬性。對于 boolean 類型的成員變量,可以采用 isFoo()方法代替上面的 get()方法。這些 getters 和 setters 方法必須是 public 類型的。 具有 public 的無參數(shù)的構造函數(shù)。 符合 上述兩條規(guī)則的 Java 類,就可以作為 JavaBean 使用 。應用程序(例如 JSP 引擎),就可以得到這個 bean 的使用方法,從而使用 jsp:usebean標簽來構造和訪問 JavaBean。標準的 getters 和 setters 方法和無參數(shù)構造函數(shù)支持這些標準的訪問方法 [8]。 JavaBean 的 特點 其最大的優(yōu)點在于可以實現(xiàn)代碼的可重用性。 JavaBean 又同時具有以下特性。 1) 易于維護、使用、編寫。 2) 可實現(xiàn)代碼的重用性。 3) 可移植性強,但僅限于 Java 工作平臺。 4) 便于傳輸,不限于本地還是網(wǎng)絡。 35 5) 可以以其他部件的模式進行工作。 對于有過其他語言編程經(jīng)驗的讀者,可以將其看作類似微軟的 ActiveX的編程組件。但是區(qū)別在于 JavaBean 是跨平臺的,而 ActiveX 組件則僅局限于 Windows 系統(tǒng)。總之, JavaBean 比較適合于那些需要跨平臺的、并具有可視化操作和定制特性的軟件組件 [11]。 Hibernate O/R Mapping 持久化 和持久層的定義 持久化( Persistence),即把數(shù)據(jù)(如內存中的對象)保存到可永久保存的存儲設備中(如磁盤)。持久化的主要應用是將內存中的數(shù)據(jù)存儲在關系型的數(shù)據(jù)庫中,當然也可以存儲在磁盤文件中、 XML 數(shù)據(jù)文件中等。這樣引出了所謂“持久層( Persistence Layer)的概念:即專注于實現(xiàn)數(shù)據(jù)持久化應用領域的某個特定系統(tǒng)的一個邏輯層面。將數(shù)據(jù)使用者和數(shù)據(jù)實體相關聯(lián)。 持久層的基本出發(fā)點是數(shù)據(jù)對象的存儲和使用邏輯分開。持 久化的數(shù)據(jù)對象能將自身保存在存儲設備中,并且在需要的時候從存儲設備中恢復。這樣,在處理復雜的業(yè)務邏輯的時候,就不需要考慮對象存儲恢復的細節(jié)操作,而將經(jīng)歷集中在如何使用這些數(shù)據(jù)對象上。上層完全體會不到存儲設備的細節(jié)。無論是用流式文件、 XML 文件、還是用任何一種數(shù)據(jù)庫,或者若干數(shù)據(jù)庫的集合,持久層將屏蔽這些底層的不同,而對上層業(yè)務提供一致的接口,提供軟件的靈活性和重用性 [8]。 Hibernate 介紹 Hibernate 是采用 ORM 模式實現(xiàn)數(shù)據(jù)持久層的一個優(yōu)秀的 Java 組件,它提供了強大、高效的將 Java 對象進行持久化操作的服務。利用 Hibernate,開發(fā)人員可以方便地按照 Java 對象的結構進行持久層的開發(fā),并可以使用Hibernate 所 提供的 HQL( Hibernate Query Language,Hibernate 查詢語言)完成 Java 對象和關系型數(shù)據(jù)庫之間的轉換和操作。 Hibernate 的體系結構 Hibernate 的作用就是實現(xiàn)持久化對象和數(shù)據(jù)庫之間的映射。所以,它在應用程序的位置也必然是處于程序和數(shù)據(jù)庫之間,形成持久化對象和數(shù)據(jù)庫 36 表中數(shù)據(jù)的一個轉換平臺。 Hibernate 應用程序的結構如圖 95. 通過圖可以看出, Hibernate 是通過一系列的配置文件和數(shù)據(jù)庫來實現(xiàn)持久化對象的持久化操作。 為了使用 Hibernate,需要創(chuàng)建與數(shù)據(jù)庫中的表相 對應 的持久化對象,然后再通過映射文件將持久化對象中的屬性與數(shù)據(jù)庫中的字段對應起來。這樣,才能通過這些持久化對象完成對數(shù)據(jù)表中數(shù)據(jù)的增加、修改、查詢和刪除操作。 Hibernate 的體系結構 由于 Hibernate 非常靈活,而且同了多種運行時的結構組成方案。在這里介紹的是一個“最全面”的體系結構,它最大程度的完成了對持久層功能的封裝,也就使得在開發(fā)中所要完成的工作量最少,是在開發(fā)中最經(jīng)常使用的一種方式。 在這種方式分中,將 JDBC/JTA 都交給了 Hibernate 去完成,而不需要對這一部分進行任何處理。這樣的 Hibernate 體系結構如圖 96 所示 [10]。 H ib e r n a te 屬性 文件 X M L 映射 持久化對象 應用 數(shù)據(jù)庫 圖 95 Hibernate 應用程序結構 37 圖 96 Hibernate 的體系結構 38 第十章 系統(tǒng)功能介紹 功能 模塊 分析 數(shù)字酒店管理系統(tǒng)分為前臺操作和后臺處理,以數(shù)據(jù)庫為核心。整個系統(tǒng)圍繞顧客就 餐和住宿的業(yè)務流程而設計。總體上,其功能貫穿 2 條線:一條線貫穿著客戶注冊、查詢就餐計劃 、 預定就餐訂單、更改就餐、取消預定的就餐等;另一條線是對菜肴、 客戶信息的維護,以及根據(jù)酒店就餐時間 安排來制定就餐計劃并負責打印統(tǒng)計報表和相關的單據(jù)。 各功能模塊說明 前臺功能 介紹 功能描述:如果用戶不是合法用戶就要求注冊后登錄系統(tǒng)。 功能描述:對用戶登錄的信息進行驗證,如果不是合法用戶就要求注冊。如果是合法用戶就正常登錄系統(tǒng)。 功能描述:根據(jù)查詢好的就餐 計劃信息、具體的就餐時間和所訂的菜 信息來確定就餐信息。 如圖所示: 用戶首先進入訂餐界面,瀏覽菜肴信息,并進行點菜 圖 101 點菜界面 訂餐完畢后,界面將顯示用戶所訂菜肴數(shù)量以及金額 圖 102 點菜明細界面 39 功能描述:根據(jù)的客房信息 來確定住宿 計劃 。 如圖所示: 用戶首先進入訂房頁面,瀏覽客房信息,并進行訂房,其中顯示的空余數(shù) 量會隨著房間被預定而逐漸減少 圖 103 訂房界面 圖 104 訂房明細 界面 客房一旦被預訂后空余數(shù)量會自動減少 圖 105 客房信息 列表 功能描述:在確定了就餐信息或住宿信息后選擇付款方式支付此筆就餐或住宿的費用。 如圖所示: 40 圖 106 提交訂單界面 提交訂單后返回顯示客房信息列表的頁面,發(fā)現(xiàn)客房空余數(shù)量由 10 間減少到 3 間 圖 107 客房信息列表 后臺功能 介紹 功能描述 :對顧客和系統(tǒng)管理員用戶信息的增(注冊)、刪(注銷)、查(精確和模糊兩種查詢方式:按編號、登錄時間和姓名查詢) 、改(更新)。 如圖所示: 41 圖 108 添加顧客界面 圖 109 顧客信息列表 息維護 功能描述 :對菜肴類型和菜肴信息的增、刪、查 (精確和模糊兩種查詢方式:按 名稱 查詢) 、改。 如圖所示: 圖 1010 添加菜肴類型 圖 1011 菜肴類型列表 42 圖 1012 添加菜肴 圖 1013 菜單 對菜肴 按 名稱 進行 模糊查詢: 圖 1014 菜肴查詢 圖 1015 菜單 43 圖 1015 菜肴類型修改 圖 1015 菜肴列表 功能描述 :對客房類型 信息、客房 信息的增、刪、查 (精確和模糊兩種查詢方式:按 名稱 和空余數(shù)量 查詢) 、改。 如圖所示: 圖 1016 添 加客房類型 圖 1017 客房類型列表 44 圖 1018 添加客房 圖 1019 客房信息列表 圖 1020 客房信息修改 圖 1021 客房信息列表 45 圖 1022 客房查詢 圖 1023 客房信息 功能描述:對就餐計劃信息的維護。即對就餐計劃的 增刪查改。 功能描述:對就餐信息的維護。 即對就餐計劃的 增刪。 功能描述: 對住宿計劃信息的維護。即對住宿計劃的 增刪查改。 功能描述:對住宿信息的維護。 即對住宿計劃的 增刪。 圖 1024 消費清單審核 圖 1025 歷史消費清單 46 圖 1026 歷史消費明細 功能描述:根據(jù)就餐信息或住宿信息來完成對帳單信息的統(tǒng)計和維護。 功能描述 :根據(jù)不同的日期實現(xiàn)對 就餐信息、住宿信息和帳單信息的統(tǒng)計。 47 第十一章 開發(fā)中解決的主要技術難題 本系統(tǒng)共分為 3層,分別為表示層,業(yè)務層和持久層,下面將就在開發(fā)過程中,每個層所遇到的主要技術難題進行分析并闡述解決的方法。下面將按照提出問題,分析問題,解決問題這 3個步驟對遇到的難題 進行講解。 表示層出現(xiàn)的技術難題 對用戶信息的獲取 : 在 JSP 頁面中,服務器經(jīng)常要根據(jù)用戶的請求在客戶端瀏覽器顯示用戶請求的一些數(shù)據(jù)信息,而這些數(shù)據(jù)信息如何獲取就成為在系統(tǒng)開發(fā)過程中需要考慮的一個重要的問題,并且我們要從效率的角度去選擇較優(yōu)的獲取方案。 : 在 web 應用系統(tǒng)中,服務器經(jīng)常要處理用戶要求獲得相關數(shù)據(jù)的請求,有兩種實現(xiàn)方案,一個是服務器每次都從數(shù)據(jù)庫中獲取數(shù)據(jù),并返回到客戶端瀏覽器顯示,另一個則是直接從 jsp 的內置對象 Session 中存取用戶信息,然后返回給客戶機。顯然從執(zhí)行效率方面考慮,第二個方法比較好,因為如果每次都從數(shù)據(jù)庫中取數(shù)據(jù),都要先與數(shù)據(jù)庫建立連接,并且在 Hibernate中,每次通過 Session 來查找對象
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1