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

正文內(nèi)容

計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)網(wǎng)上報(bào)銷系統(tǒng)論文基于strutshibernate的財(cái)務(wù)報(bào)銷系統(tǒng)(編輯修改稿)

2025-01-08 17:10 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 的 Form 來(lái)讀取數(shù)據(jù),并調(diào)用相應(yīng)的業(yè)務(wù)邏輯處理方法進(jìn)行處理,然后將處理后的結(jié) 果傳遞到 JSP 提供給用戶。 Struts 的國(guó)際化 在過(guò)去,軟件開發(fā)者在開發(fā)應(yīng)用程序時(shí),將注意力集中于實(shí)現(xiàn)具體的業(yè)務(wù)邏輯。軟件面向的用戶群是固定的,軟件只需要支持一種語(yǔ)言,但是隨著跨國(guó)業(yè)務(wù)的迅猛發(fā)展,需要同一軟件能同時(shí)支持多種語(yǔ)言。對(duì)于一個(gè)已經(jīng)開發(fā)好的軟件如果要支持新的語(yǔ)言就要對(duì)軟件進(jìn)行國(guó)際化。 國(guó)際化指的是在軟件設(shè)計(jì)階段就應(yīng)該使軟件具有支持多種語(yǔ)言和地區(qū)的功能。這樣,當(dāng)需要在應(yīng)用中添加對(duì)一種新的語(yǔ)言和國(guó)家的支持時(shí),不需要對(duì)已有的軟件進(jìn)行重新編碼。 一個(gè)應(yīng)用程序支持國(guó)際化應(yīng)該具備以下特征: 1)當(dāng)應(yīng)用 程序需要支持一種新的語(yǔ)言時(shí)無(wú)需修改源碼。 2)應(yīng)用程序中的文本及圖片資源從代碼中分離出來(lái),存儲(chǔ)在外部。 瀏覽器 ActionServlet Action JSP ActionForm Request Response Invoke 共 38 頁(yè) 第 10 頁(yè) 10 3)根據(jù)用戶的語(yǔ)言和地理位置進(jìn)行正確的格式化。 4)可以方便快捷地對(duì)應(yīng)用做出調(diào)整,使它適應(yīng)新的語(yǔ)言和地區(qū)。 Struts對(duì)國(guó)際化的支持體現(xiàn)在能夠輸出和用戶 Locale相符合的文本和圖片上。當(dāng) Struts 配置文件的 controller元素的 Local 屬性為 True 時(shí), Struts框架把用戶的 Locale 實(shí)例保存在 Session 范圍內(nèi),寧產(chǎn), Struts 框架能自動(dòng)根據(jù)這一 Locale 實(shí)例來(lái)從 Resource Bundle 中選擇合適的資源文件,當(dāng)用戶的Locale 為英文時(shí), Struts 框 架 就 會(huì) 向 用 戶 返 回 來(lái) 自 于 文件的文本內(nèi)容,當(dāng)用戶的 Locale 為中文時(shí),Struts 框架就會(huì)向用戶返回來(lái)自于 Application_ch_properties 文件的文本內(nèi)容。 第三章 Hibernate 框架介紹 Hibernate 是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì) JDBC 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得 Java 程序員可以隨心所欲地使用面向?qū)ο缶幊趟季S來(lái)操縱數(shù)據(jù)庫(kù), Hibernate 可以應(yīng)用在任何使用 JDBC 的場(chǎng)合,既可以在 Java 的客戶端程序中使用,也可以在 Servlet/JSP 的 Web 應(yīng)用中使用。 Hibernate 的作用就是介于 Java 與 JDBC 之間的一個(gè)持久層,它通過(guò)建立與數(shù)據(jù)庫(kù)表之間的映射來(lái)操縱數(shù)據(jù)庫(kù), Hibernate 是基于 JDBC 之上的。 數(shù)據(jù)庫(kù)操作的 3個(gè)階段 1) JDBC 操作階段 在使用 Java 進(jìn)行數(shù)據(jù)庫(kù)開發(fā)的最初數(shù)據(jù)庫(kù)開發(fā)的最初階段,都是使用 JDBC類來(lái)操作數(shù)據(jù)庫(kù)的: String sql = “ select * from user where username=’” +username+”’ and password=’” +password+”’” 。 Try{ (“ ” ).newInstance()。 Connection conn = (“ jdbc: ,” root” ,” root” )。 共 38 頁(yè) 第 11 頁(yè) 11 Statement stmt = ()。 ResultSet rs = (sql)。 While(()){ ((1))。 } }catch(Exception e){ ()。 }finally{ ()。 ()。 ()。 } 這一段操作代碼很具有代表性,幾乎所有的使用 JDBC 進(jìn)行數(shù)據(jù)庫(kù)操作的代碼都需要開發(fā)如下過(guò)程的代碼: 定義查詢或更新的 SQL 語(yǔ)句; 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序; 創(chuàng)建數(shù)據(jù)庫(kù)連接; 創(chuàng)建申明對(duì)象; 執(zhí)行查詢或更新; 關(guān)閉結(jié)果集對(duì)象,申明對(duì)象,數(shù)據(jù)連接對(duì)象。 使用這種方法的缺點(diǎn)是:代碼重用度小,數(shù)據(jù)庫(kù)處理的代碼過(guò)多,不能突出業(yè)務(wù)處理邏輯。 2)封裝 JDBC 的階段 為了改進(jìn) JDBC操作的不足,我們可以將 JDBC的不同操作封裝成不同的函數(shù)。 Public Boolean createConn():加載驅(qū)動(dòng)程序,創(chuàng)建連接對(duì)象 Public Boolean update(String sql):執(zhí)行更新操作 Public void query(String sql):執(zhí)行查詢操作 Public void closers():關(guān)閉結(jié)果集對(duì)象 共 38 頁(yè) 第 12 頁(yè) 12 Public void closeStm():關(guān)閉申明對(duì)象 Public void closeConn():關(guān)閉連接對(duì)象 這樣我們就可以直接調(diào)用這些函數(shù)來(lái)創(chuàng)建數(shù)據(jù)連接,這樣就避免了以上不足,實(shí)現(xiàn)了對(duì) JDBC 封裝,并能夠?qū)?JDBC 事務(wù)進(jìn)行管理。并且在這個(gè)基礎(chǔ)上,可以通過(guò)配置連接池來(lái)減少對(duì)數(shù)據(jù)庫(kù)操作的 時(shí)間。 3) ORM 階段 在對(duì) JDBC 進(jìn)行封裝之后,能夠方便地實(shí)現(xiàn)數(shù)據(jù)庫(kù)的操作,但是,在面向?qū)ο蟮木幊涕_發(fā)中,數(shù)據(jù)庫(kù)的操作與普通的面向?qū)ο蟮?Java 代碼不同, 而 ORM 則是減少了這種區(qū)別。真正實(shí)現(xiàn)了數(shù)據(jù)庫(kù)操作的對(duì)象化。 ORM 對(duì)象關(guān)系映射 ORM 是 Object Relational Mapping 的簡(jiǎn)稱,即對(duì)象關(guān)系映射,它是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫(kù)存在的不匹配的技術(shù), ORM 是通過(guò)使用描述對(duì)象和數(shù)據(jù)庫(kù)之間映射的元數(shù)據(jù),將 Java 程序中的對(duì)象自動(dòng)持久化到關(guān)系數(shù)據(jù)庫(kù)中,實(shí)際上就是將 Java 中的 Class與數(shù)據(jù)庫(kù)中的 Table 對(duì)應(yīng)起來(lái)。關(guān)系圖如 圖 31: 圖 31 圖中依次包含了數(shù)據(jù)實(shí)體的 3種不同表示形式,即數(shù)據(jù)實(shí)體,數(shù)據(jù)表,映射編號(hào) admin ID name Password 用戶實(shí)體 用戶名 密 碼 admin PK name Password ID ER ORM 共 38 頁(yè) 第 13 頁(yè) 13 對(duì)象。 用戶實(shí)體是數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段的產(chǎn)物,表示在系統(tǒng)設(shè)計(jì)的最初階段所抽象的基本數(shù)據(jù)對(duì)象,每一個(gè)數(shù)據(jù)實(shí)體都包含一些信息段。 將數(shù)據(jù)實(shí)體映射為數(shù)據(jù)表,信息映射為數(shù)據(jù)表的字段,就形成了數(shù)據(jù)庫(kù)中的可表示的對(duì)象 —— 數(shù)據(jù)表。數(shù)據(jù)表由表名和字段表示基本的信息。 映射對(duì)象是普通的 Java 類,它用 Java 類來(lái)代表數(shù)據(jù)實(shí)體,類名與表名對(duì)應(yīng) ,屬性名與表的字段對(duì)應(yīng), ORM 就是數(shù)據(jù)表與映射對(duì)象之間的映射關(guān)系。 Hibernate 介紹及工作 過(guò)程 Hibernate 的組成 Hibernate 是一個(gè)實(shí)現(xiàn)了 ORM 映射的開發(fā)框架,主要實(shí)現(xiàn)數(shù)據(jù)庫(kù)表與 Class的映射。主要組成部分有:對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)表有一個(gè)對(duì)應(yīng)的 文件和持久化類以及 對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的 DAO 類 , Hibernate 有一個(gè) 文件,用來(lái)描述數(shù)據(jù)庫(kù)的連接信息以及關(guān)聯(lián)這些 配置文件,在 Hibernate中利用 一個(gè) Factory 輔助 類 來(lái)獲得與數(shù)據(jù)庫(kù)之間的會(huì)話 和面向用戶的 Servers層 。 1) Hibernate 配置文件 Hibernate 的數(shù)據(jù)庫(kù)連接信息是從配置文件中加載的,這要增加了Hibernate 和數(shù)據(jù)庫(kù)連接信息的靈活性,在配置文件中包含了一系列屬性的配置, Hibernate 將根據(jù)這些屬性來(lái)連接數(shù)據(jù)庫(kù)。 Hibernate 的配置文件有兩種形式:一種是 XML 格式的文件,一種是Properties 屬性文件。 2)映射文件 . Hibernate 映射文件包含了對(duì)象 /關(guān)系映射( O/R Mapping)所需的元數(shù)據(jù)。元數(shù)據(jù)包 含持久化類的聲明和屬性到數(shù)據(jù)庫(kù)的映射(指向字段和其他實(shí)體的 外鍵關(guān)聯(lián))。 映射文件是 XML 格式的文件,它負(fù)責(zé)持久化類與數(shù)據(jù)庫(kù)表之間的映射。其根元素是 Hibernatemapping,并通過(guò)屬性 Package 指定類所在的包。每一個(gè)表使用一個(gè) Class 定義, Name 表示類的名稱, Table 表示關(guān)聯(lián)的表名,通過(guò) Property 共 38 頁(yè) 第 14 頁(yè) 14 子元素來(lái)映射類的變量名與數(shù)據(jù)庫(kù)表字段名之間的映射。 3)持久化類 持久化類是指其實(shí)例需要被 Hibernate 持久化到數(shù)據(jù)庫(kù)中的類。持久化類通常都是域模型中的實(shí)體或類,一般都是一張數(shù)據(jù)庫(kù)表對(duì)應(yīng) 一個(gè)持久化類。但并不是所有的持久化類的實(shí)例都是持久化狀態(tài)。 Hibernate 使用簡(jiǎn)單的 Java 對(duì)象( Plain old java objects,就是 POJOS)這種編程模型來(lái)進(jìn)行持久化,一個(gè) POJO 很像一個(gè) JavaBean,通過(guò) Getter 和Setter 方法訪問(wèn)其屬性,對(duì)外則隱藏了其內(nèi)部實(shí)現(xiàn)的細(xì)節(jié) 。 4)輔助類: HibernateSessionFactry Hibernate 的 Session 是一個(gè)持久化管理器,我們通過(guò)它來(lái)從數(shù)據(jù)庫(kù)中存取數(shù)據(jù),我們需要通過(guò) SessionFactory 獲取一個(gè) Session: SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory()。 通過(guò)對(duì) Configure()的調(diào)用來(lái)裝載 配置文件,并初始化成一個(gè) Configuration 實(shí)例,然后通過(guò)這個(gè)實(shí)例來(lái)獲得 Session 的一個(gè)生成器。通過(guò) Session 我們就可以進(jìn)行和數(shù)據(jù)庫(kù)之間的會(huì)話。 5) DAO 類: DAO 類存在于 Project 的 DAO 層,就是數(shù)據(jù)訪問(wèn)接口,為了基于 Hibernate的開發(fā)中,通常將業(yè)務(wù)層與數(shù)據(jù)層分開, DAO 層只負(fù)責(zé)調(diào)用 Hibernate API 實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作, Servers 層面向用戶負(fù)責(zé)調(diào)用 DAO 層的代碼,這樣數(shù)據(jù)層的代碼不用關(guān)心業(yè)務(wù)服務(wù),可以更好的實(shí)現(xiàn)移植。 6) Servers 層: Servers 層即服務(wù)層,就是面向用戶服務(wù),它定義的方法都是與實(shí)際的業(yè)務(wù)相關(guān)的,通過(guò)調(diào)用 DAO 層的方法來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互。 Hibernate 的工作過(guò)程 當(dāng)需要與數(shù)據(jù)庫(kù)進(jìn)行的交互時(shí),用戶將需要處理的數(shù)據(jù)封裝到數(shù)據(jù)持久化類,但這是這個(gè)類并沒(méi)有被持久化,通過(guò) Hibernate的 Transction 接口開啟事務(wù)處理過(guò)程,將含有數(shù)據(jù)的類持久化,即與數(shù)據(jù)庫(kù)中的數(shù)據(jù)建立映射關(guān)系,然后 共 38 頁(yè) 第 15 頁(yè) 15 通過(guò) Transction 的 Commit 方法將持久化類中的數(shù)據(jù)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行同步 ,然后關(guān)閉會(huì)話 Session,此時(shí),實(shí)例化對(duì)象的狀態(tài)由持久轉(zhuǎn)變?yōu)槊摴?,Hibernate 的工作過(guò)程如 圖 32: 圖 32 第四章 系統(tǒng)功能的實(shí)現(xiàn)及部署 系統(tǒng)概述 隨著信息網(wǎng)絡(luò)技術(shù)的應(yīng)用,目前許多政府部門、企事業(yè)單位已建立局域網(wǎng)絡(luò),并直接與 inter 相連 接。為了充分發(fā)揮網(wǎng)絡(luò)的作用,提高辦公處理效率,建設(shè) 自己的 財(cái)務(wù)報(bào)銷系統(tǒng) 系統(tǒng)是非常方便 。本系統(tǒng)采用動(dòng)態(tài) WEB 構(gòu)建技術(shù),使得系統(tǒng)客戶端無(wú)須維護(hù),適應(yīng)性強(qiáng),使用與企事業(yè)、政府機(jī)關(guān)等單位網(wǎng)絡(luò)環(huán)境使用。 財(cái)務(wù)報(bào)銷系統(tǒng) 是企業(yè) 辦公自動(dòng)化的一 部分 ,企業(yè)內(nèi)部辦公網(wǎng)絡(luò)的內(nèi)容很多 ,如公司內(nèi)部公告信息的發(fā)布,文件的管理 ,員工內(nèi)部交流信息的發(fā)布和共享 ,個(gè)人日程及工作日志的安排,出勤登記 。 隨著信息技術(shù)的不斷發(fā)展以及互聯(lián)網(wǎng)技術(shù)的日益成熟,使遠(yuǎn)程辦公成為可能。你無(wú)論身處何地,只要有上網(wǎng)條件就可以利用網(wǎng)上辦公系統(tǒng),及時(shí)有效地對(duì)各種文件、 單據(jù) 進(jìn)行處理,同時(shí)也將徹底擺脫桌面上沉沉繁雜的紙張文件,使得Database Application Hibernate Persistent Object . DAO 共 38 頁(yè) 第 16 頁(yè) 16 繁重的工作變得輕松自如,極大地提高工作效率。 系統(tǒng)分析 需求分析 要求系統(tǒng)具有以下功能: 用戶: ? 提交記 錄的管理 ? 已報(bào)銷記錄的 管理 ? 未報(bào)銷記錄的 管理 ? 申請(qǐng)中的記錄的 管理 管理員: ? 對(duì)用戶進(jìn)行 管理 ? 對(duì)用戶提交的記錄進(jìn)行 管理 可行性分析 通過(guò) 財(cái)務(wù)報(bào)銷系統(tǒng) 對(duì)企業(yè)日常 財(cái)務(wù)報(bào)銷 進(jìn)行管理,滿足了企業(yè)日常管理的需求,實(shí)現(xiàn)了企業(yè)員工 和企業(yè) 之間消息的發(fā)送與接收功能,大大的方便了企業(yè)內(nèi)部的 溝通 與企業(yè)的交流 。 系統(tǒng)設(shè)計(jì) 總體設(shè)計(jì) 系統(tǒng)的工作流程如 圖 41: 共 38 頁(yè) 第 17 頁(yè) 17 圖 41 詳細(xì)設(shè)計(jì) 1. 注冊(cè): 新用戶要使用此系統(tǒng)必須進(jìn)行注冊(cè),系統(tǒng)會(huì)檢查用戶選擇的用戶名是否已經(jīng)被使用,若被使用則提示用戶更換用戶名。 2. 登錄: 用戶要進(jìn)入系統(tǒng)必須進(jìn)行登錄,系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1