




已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1 基于基于 Web 的信息系統(tǒng)畢業(yè)論文的信息系統(tǒng)畢業(yè)論文 目目 錄錄 目 錄 1 摘 要 1 前 言 3 第一章 緒論 4 1 1 研究背景 4 1 2 設(shè)計目標(biāo) 4 1 3 本文結(jié)構(gòu) 5 第二章 系統(tǒng)開發(fā)環(huán)境與技術(shù) 6 2 1 系統(tǒng)開發(fā)環(huán)境 6 2 1 1 MyEclipse 插件介紹 6 2 1 2 Tomcat 服務(wù)器介紹 6 2 2 系統(tǒng)開發(fā)技術(shù) 7 2 2 1 JSP 與 Servlet 技術(shù) 7 2 2 2 JavaScript 簡介 10 2 2 3 MVC 模式 11 2 2 4 Struts 框架 11 2 2 5 Spring 框架 13 2 2 6 Hibernate 框架 15 第三章 系統(tǒng)需求分析與前臺設(shè)計 17 3 1 需求分析 17 3 1 1 系統(tǒng)前臺簡要設(shè)計概述 17 3 1 2 系統(tǒng)用例圖 18 3 2 系統(tǒng)設(shè)計 18 3 2 1 系統(tǒng)層次劃分 18 3 2 2 數(shù)據(jù)庫設(shè)計 19 3 2 3 成本管理模塊時序圖 22 第四章 系統(tǒng)詳細(xì)設(shè)計與功能實(shí)現(xiàn) 27 4 1 系統(tǒng)項目的文件夾結(jié)構(gòu) 27 4 2 成本管理模塊的具體實(shí)現(xiàn) 28 2 4 2 1 查詢成本信息列表功能的實(shí)現(xiàn) 28 4 2 2 添加成本信息功能的實(shí)現(xiàn) 33 4 2 3 修改成本信息功能的實(shí)現(xiàn) 36 4 2 4 刪除成本信息功能的實(shí)現(xiàn) 39 4 2 5 查看成本明細(xì)信息功能的實(shí)現(xiàn) 41 第五章 總結(jié)與展望 43 5 1 課題總結(jié) 43 5 2 進(jìn)一步開發(fā)的展望 43 參考文獻(xiàn) 44 致 謝 45 第一章第一章 緒論緒論 1 1 研究背景研究背景 當(dāng)今時代信息技術(shù)飛速發(fā)展 人們已經(jīng)處于數(shù)字化的生存空間之中 Internet 構(gòu)造了 無限的信息資源 它的普遍使用已經(jīng)從根本上改變了人們的生活方式和工作方式 也改 變了企業(yè)的經(jīng)營方式和服務(wù)方式 傳統(tǒng)的人為管理模式已經(jīng)遠(yuǎn)遠(yuǎn)無法滿足現(xiàn)在的企業(yè) 那么企業(yè)對于企業(yè)管理系統(tǒng)的 需求是必然的 通過管理系統(tǒng) 能夠大大提高企業(yè)的各個方面效率 同時方便了企業(yè)與 職工之間的交流 便于滿足將來的業(yè)務(wù)需求 網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展使得基于 Web 的各類信息系統(tǒng)成為目前信息系統(tǒng)中最為流行的 展現(xiàn)形式之一 基于 Web 的信息系統(tǒng)具有如下一些特點(diǎn) 1 有利于信息的及時更新和發(fā)布 2 便于操作和管理 3 擁有良好的用戶界面和接口 4 靈活性和可擴(kuò)展性 5 系統(tǒng)功能的通用性 正是在這樣的社會大背景下 我們開始進(jìn)行 服飾生產(chǎn)企業(yè)生產(chǎn)狀況聯(lián)絡(luò)表 成本 管理 的課題研究 其目的在于通過網(wǎng)站的形式實(shí)現(xiàn)基于 Web 的信息系統(tǒng)的上述優(yōu)點(diǎn)和特 點(diǎn) 以展現(xiàn)該類信息系統(tǒng)在全球信息網(wǎng) Internet 網(wǎng)中快速 便捷 準(zhǔn)確地發(fā)布信息 提供資源共享的強(qiáng)大功能和作用 成本管理可以幫助企業(yè)實(shí)現(xiàn)對成本更好的控制 透明的各項成本支出 長期積累下 3 來的數(shù)據(jù)可以幫助企業(yè)對成本進(jìn)行分析 以達(dá)到節(jié)約成本的目的 系統(tǒng)中的成本信息與 負(fù)責(zé)人相關(guān)聯(lián) 以達(dá)到可追溯的目的 使得企業(yè)對于成本管理做到可監(jiān)控 1 2 設(shè)計目標(biāo)設(shè)計目標(biāo) 開發(fā)設(shè)計本系統(tǒng)的任務(wù)是管理該公司的成本信息 通過該系統(tǒng)能夠讓用戶對成本信 息查詢 新增 修改和刪除 開發(fā)系統(tǒng)的目標(biāo)是對成本信息及其明細(xì)信息進(jìn)行管理 滿足的要求具體可包括如下 幾個方面 1 網(wǎng)頁風(fēng)格符合企業(yè)員工的特點(diǎn) 簡單實(shí)用 2 能夠?qū)崿F(xiàn)對于成本信息的符合實(shí)際企業(yè)需求的管理 3 網(wǎng)站運(yùn)行安全穩(wěn)定 1 3 本文結(jié)構(gòu)本文結(jié)構(gòu) 本文的章節(jié)安排如下 第一章緒論部分 說明本文的研究背景和設(shè)計目標(biāo) 為接下來的系統(tǒng)后臺的分析與 設(shè)計做基礎(chǔ)準(zhǔn)備 第二章背景技術(shù) 簡單介紹系統(tǒng)實(shí)現(xiàn)所用到的平臺與技術(shù) 如MyEclipse Tomcat 服 務(wù)器 JSP與與 Servlet原理 JavaScript SSH Struts Spring Hibernate 框架等 第三章系統(tǒng)分析與設(shè)計 對企業(yè)的門戶網(wǎng)站的后臺進(jìn)行需求分析 根據(jù)需求分析設(shè) 計相應(yīng)的功能與表結(jié)構(gòu) 第四章系統(tǒng)實(shí)現(xiàn) 給出系統(tǒng)后臺的具體實(shí)現(xiàn) 包括實(shí)現(xiàn)效果和核心代碼說明 第五章總結(jié)與展望 對本文所做的工作進(jìn)行總結(jié) 并針對目前工作中的不足對未來 工作的展望 4 第二章第二章 系統(tǒng)開發(fā)環(huán)境與技術(shù)系統(tǒng)開發(fā)環(huán)境與技術(shù) 2 1 系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境 企業(yè)訂單管理系統(tǒng)以 Eclipse 為開發(fā)平臺 使用 MyEclipse 作為 Eclipse 的插件 并由 Tomcat 6 0 充當(dāng) Web 服務(wù)器來開發(fā)實(shí)現(xiàn)的 2 1 1 MyEclipse 插件介紹插件介紹 MyEclipse 是一個商業(yè)軟件 商業(yè)插件 基于 Java 和 Eclipse 的可擴(kuò)展開發(fā)平臺 比 如 MS Visual Studio 開發(fā)平臺中的 VC VB 等 Borland 公司的 Delphi Borland C Builder 就其本身而言 它只是一個框架和一組服務(wù) 用于通 過插件組件構(gòu)建開發(fā)環(huán)境 雖然大多數(shù)用戶很樂于將 MyEclipse 當(dāng)做 Java IDE Integrated Development Environment 來使用 但 MyEclipse 的目標(biāo)并不僅限于此 MyEclipse 還包括插件開發(fā)環(huán) 境 Plug in Development Environment PDE 當(dāng)然 這個功能的實(shí)現(xiàn)主要是 Eclipse 這個 組件主要針對希望擴(kuò)展 Eclipse 核心的軟件開發(fā)人員 因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境 無縫集成的工具 由于 Eclipse 中的每樣?xùn)|西都是插件 對于給 Eclipse 提供插件 以及給 用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言 所有工具開發(fā)人員都具有同等的發(fā)揮場所 這種平等和一致性并不僅限于 Java 開發(fā)工具 盡管 Eclipse 是使用 Java 語言開發(fā)的 但它的用途并不限于 Java 語言 例如 支持諸如 C C COBOL 和 Eiffel 及 Perl 等編程 語言的插件 MyEclipse 是一款功能強(qiáng)大的 J2EE 集成開發(fā)環(huán)境 支持代碼編寫 配置 測試及除 錯 程序功能包括 HTML 智能編輯器 Struts JSF CSS JavaScript SQL Hibernate Spring 等 帶有自動完成與語法高亮顯 示功能的 J2EE 編輯器 在 Eclipse 中安裝這個插件可以大大提高開發(fā) J2EE 的效率 2 1 2 Tomcat 服務(wù)器介紹服務(wù)器介紹 Tomcat 是一個免費(fèi)開源的 Servlet 容器 它是 Apache 軟件基金會 Apache Software Foundation Jakarta 項目中的一個核心項目 由 Apache Sun 和其他一些公司及個人共 同開發(fā)而成 由于有了 Sun 的參與和支持 最新的 Servlet 和 JSP 規(guī)范總是能在 Tomcat 中得到體現(xiàn) Tomcat 7 支持最新的 Servlet 3 0 和 JSP 2 2 規(guī)范 Tomcat 不僅是一個 Servlet 容器 它也具有傳統(tǒng)的 Web 服務(wù)器的功能 如處理 HTML 頁面 簡單的域名管理 5 配置 JNDI 等 因?yàn)?Tomcat 技術(shù)先進(jìn) 性能穩(wěn)定 而且免費(fèi) 因而深受 Java 愛好者的 喜愛并得到了部分軟件開發(fā)商的認(rèn)可 成為目前比較流行的 Web 應(yīng)用服務(wù)器 Tomcat 很受廣大程序員的喜歡 因?yàn)樗\(yùn)行時占用的系統(tǒng)資源小 擴(kuò)展性好 支持 負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能 而且它還在不斷的改進(jìn)和完善中 任 何一個感興趣的程序員都可以更改它或在其中加入新的功能 Tomcat 是一個小型的輕量級應(yīng)用服務(wù)器 在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的 場合下被普遍使用 是開發(fā)和調(diào)試 JSP 程序的首選 對于一個初學(xué)者來說 可以這樣認(rèn) 為 當(dāng)在一臺機(jī)器上配置好 Apache 服務(wù)器 可利用它響應(yīng)對 HTML 頁面的訪問請求 實(shí)際上 Tomcat 部分是 Apache 服務(wù)器的擴(kuò)展 但它是獨(dú)立運(yùn)行的 所以當(dāng)你運(yùn)行 Tomcat 時 它實(shí)際上作為一個與 Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的 這里的訣竅是 當(dāng)配置正確時 Apache 為 HTML 頁面服務(wù) 而 Tomcat 實(shí)際上運(yùn)行 JSP 頁面和 Servlet 另外 Tomcat 和 IIS Apache 等 Web 服務(wù)器一樣 具有處理 HTML 頁面的功能 另外它還是一個 Servlet 和 JSP 容器 獨(dú)立的 Servlet 容器是 Tomcat 的默認(rèn) 模式 不過 Tomcat 處理靜態(tài) HTML 的能力不如 Apache 服務(wù)器 2 2 系統(tǒng)開發(fā)系統(tǒng)開發(fā)技術(shù)技術(shù) 服飾企業(yè)生產(chǎn)狀況聯(lián)絡(luò)表系統(tǒng)的開發(fā)技術(shù)是基于 J2EE 架構(gòu)的 SSH 組合技術(shù) 開發(fā)平 臺是 Eclipse 以 MyEclipse 作為插件 Tomcat 6 0 作為服務(wù)器 JDK1 6 0 13 作為工具包 2 2 1 JSP 與與 Servlet 技術(shù)技術(shù) JSP 技術(shù)是建立在 Servlet 技術(shù)之上的 先有 Servlet 技術(shù) 后推出的 JSP 技術(shù) JSP 最終要編譯為 Servlet 運(yùn)行 進(jìn)行 Web 應(yīng)用開發(fā)的時候 結(jié)合 Servlet 和 JSP 能夠使開發(fā) 的分工和層次更加清晰 JSP 注重于頁面的呈現(xiàn) 處理邏輯應(yīng)該盡量減少 這樣方便網(wǎng)頁 設(shè)計人員在美工上多下功夫 Servlet 程序則側(cè)重于對邏輯的控制 根據(jù)需要對 JSP 頁面 進(jìn)行導(dǎo)航 Servlet 是一種獨(dú)立于平臺和協(xié)議的服務(wù)器端的 Java 應(yīng)用程序 可以生成動態(tài)的 Web 頁面 Servlet 位于 Web 服務(wù)器內(nèi)部 由 Web 服務(wù)器進(jìn)行加載 該 Web 服務(wù)器必須包含 支持 Servlet 的 Java 虛擬機(jī) JSP Java Server Pages 是一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn) 是基于Java Servlet和整個Java體系 的Web開發(fā)技術(shù) 它在動態(tài)網(wǎng)頁的建設(shè)中有著強(qiáng)大而特別的功能 它的以下優(yōu)點(diǎn)使很多人 認(rèn)為它將是最有發(fā)展前途的動態(tài)網(wǎng)頁技術(shù) 3 6 1 將內(nèi)容的生成和顯示進(jìn)行分離 用 JSP 技術(shù) Web 頁面開發(fā)人員可以使用 HTML 或者 XML 標(biāo)識來設(shè)計和格式化最 終頁面 并使用 JSP 標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容 Web 管理人員和頁面設(shè) 計者 能夠編輯和使用 JSP 頁面 而不影響內(nèi)容的生成 2 采用標(biāo)識 Web 頁面開發(fā)人員不會都是熟悉腳本語言的編程人員 JSP 技術(shù)封裝了許多功能 這 些功能是在易用的 與 JSP 相關(guān)的 XML 標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成所需要的 JSP的執(zhí)行流程是這樣的 第一個用戶請求JSP文件的時候 JSP容器 如Tomcat 把 JSP文件轉(zhuǎn)換成Java文件 Servlet類文件 然后編譯成class文件 常駐內(nèi)存 當(dāng)有客戶請 求的時候 直接開一個線程 無須重新編譯 直接執(zhí)行第一次已經(jīng)編譯好的class文件 速 度比每次都要重新編譯JSP文件要快的多 2 2 1 1 JSP 的工作原理的工作原理 JSP 頁面以擴(kuò)展名為 JSP 的純文本文件的形式存在服務(wù)器上 當(dāng)服務(wù)器接收到客戶端 對某個 JSP 頁面的請求時 如果這是對該頁面創(chuàng)建或修改后的第一次請求時 那么 JSP 引擎就把該 JSP 頁面內(nèi)容轉(zhuǎn)換成一個純 Java 語言的 Servlet 源碼 然后將其編譯成 Servlet 字節(jié)代碼 最后將 Servlet 的執(zhí)行結(jié)果返回至瀏覽器 JSP 頁面被編譯成 Servlet 之后 其 執(zhí)行代碼以獨(dú)立線程的形式一直存在服務(wù)器的內(nèi)存中 以后對該 JSP 頁面提出請求時 不需要重新編譯 直到該頁面被修改或 WEB 應(yīng)用程序重新啟動 其工作原理如圖 2 2 所 示 Windows HTTP JSP JDBC HTML Web 圖 2 2 JSP 的工作原理 7 2 2 1 2 JSP 技術(shù)語法技術(shù)語法 1 常用 JSP 命令 1 page 頁面指令 主要用來指定當(dāng)前 JSP 頁面的屬性 2 允許包含其他動態(tài)和靜態(tài)文件 3 將一個 JSP 文件傳給另一個 JSP 文件 4 可以通過 Java 插件在瀏覽器中運(yùn)行 Java Applet 5 標(biāo)記是用來訪問 JavaBean 的動作標(biāo)記 當(dāng) JSP 頁面使用 標(biāo)記時 表示將引用一個 JavaBean 的實(shí)例 JavaBean 標(biāo)記的語法格式如下 2 JSP 內(nèi)置對象 6 為了方便 Web 頁面的開發(fā) JSP 提供了一些內(nèi)置的對象 這些內(nèi)置對象可以不經(jīng)顯 式聲明而在程序中直接使用 JSP 的幾個主要內(nèi)置對象有 Request Response Session Out 通過這些內(nèi)置對象 可以實(shí)現(xiàn)頁面的一些基本的請求 輸入 輸出功能 且可實(shí)現(xiàn)數(shù)據(jù)在頁面之間的交互 本系統(tǒng)主要用到的有以下幾個對象 4 1 Request 對象 主要功能是接受客戶端以 HTTP 方式傳送的數(shù)據(jù) 使服務(wù)器端的應(yīng) 用程序可以根據(jù)這些數(shù)據(jù)做進(jìn)一步的信息處理 實(shí)現(xiàn)與客戶進(jìn)行交互的功能 一般常用 的是它的 getParameter String name 這個方法來獲取傳遞的參數(shù) 其接口為 javax servlet http HttpServletRequest 2 Response 對象 主要功能是用來對客戶的請求做出響應(yīng) 與 Request 對象對應(yīng)的就 是 Response 對象 Response 對象用于將服務(wù)器的數(shù)據(jù)發(fā)送到客戶端 輸出的數(shù)據(jù)可以是 各種數(shù)據(jù)類型 甚至是文件 一般經(jīng)常用到的是它的 sendRedirect URL url 這個方法來重 定向當(dāng)前用戶訪問的 url Response 對象的接口為 javax servlet http HttpServletResponse 3 Session 對象 主要功能用來保存每個用戶在會話期間的數(shù)據(jù)信息 這樣就方便了 會話處理工作 當(dāng)用戶登錄網(wǎng)站時 系統(tǒng)將為其生成一個獨(dú)一無二的 session 對象 用以 記錄該用戶的個人信息 一旦該用戶退出網(wǎng)站 那么這個 session 對象將會注銷 Session 對象可以綁定若干個人信息或 Java 對象 Session 對象的接口為 javax servlet http HttpServletSession 4 Out 對象 主要功能是用于動態(tài)地向客戶端輸出數(shù)據(jù)信息 其主要作用是在 Web 瀏 覽器內(nèi)輸出信息 這個對象使用比較頻繁 在數(shù)據(jù)的輸出方面經(jīng)常用到它的 8 println parameter 這個方法 同時 它也是進(jìn)行糾錯處理時一個比較有效的輸出方法 2 2 2 JavaScript 簡介簡介 JavaScript 是適應(yīng)動態(tài)網(wǎng)頁制作的需要而誕生的一種新的編程語言 如今越來越廣泛 地使用于 Internet 網(wǎng)頁制作上 JavaScript 是由 Netscape 公司開發(fā)的一種腳本語言 scripting language 或者稱為描述語言 在 HTML 基礎(chǔ)上 使用 JavaScript 可以開發(fā)交 互式 Web 網(wǎng)頁 JavaScript 的出現(xiàn)使得網(wǎng)頁和用戶之間實(shí)現(xiàn)了一種實(shí)時性的 動態(tài)的 交 互性的關(guān)系 使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容 JavaScript 短小精悍 又是 在客戶機(jī)上執(zhí)行的 大大提高了網(wǎng)頁的瀏覽速度和交互能力 同時它又是專門為制作 Web 網(wǎng)頁而量身定做的一種簡單的編程語言 JavaScript 加入網(wǎng)頁有兩種辦法加入網(wǎng)頁有兩種辦法 7 1 直接加入 HTML 文檔 這是最常用的方法 大部分含有 JavaScript 的網(wǎng)頁都采用這種方法 如 用來告訴瀏覽器這是用 JavaScript 編寫的程序 需要調(diào) 動相應(yīng)的解釋程序進(jìn)行解釋 HTML 的注釋標(biāo)簽 用來去掉瀏覽器所不能識別的 JavaScript 源代碼的 這 對不支持 Javascript 語言的瀏覽器來說是很有用的 Javascript 結(jié)束 雙斜杠表示 JavaScript 的注釋部分 即從 開始到行尾的字符都被 忽略 的位置并不是固定的 可以包含在 或中 的任何地方 2 引用方式 如果已經(jīng)存在一個 JavaScript 源文件 以 js 為擴(kuò)展名 則可以采用這 種引用的方式 以提高程序代碼的利用率 其基本格式如下 其中的 url 就是程序文件的地址 同樣的 這樣的語句可以放在 HTML 文檔頭部或主 體的任何部分 如果要實(shí)現(xiàn) 直接插入方式 中所舉例子的效果 可以首先創(chuàng)建一個 JavaScript 源代碼文件 Script js 其內(nèi)容如下 document writeln 這是 Javascript 采用直 接插入的方法 在網(wǎng)頁中可以這樣調(diào)用程序 9 2 2 3 MVC 模式模式 MVC 即 Model View Controller M 代表業(yè)務(wù)邏輯 V 代表視圖 C 代表控制層 通 過使用 MVC 模式就把軟件層次分為三個層 模型層 視圖層 控制層 1 模型 Model 層 也就是軟件業(yè)務(wù)的實(shí)現(xiàn)部分 一個軟件有什么功能 它如何實(shí)現(xiàn) 功能 這些功能之間的聯(lián)系都是在模型層進(jìn)行處理的 可以這樣說 模型層是一個軟件 的核心 軟件功能的好壞 軟件功能是否完善 業(yè)務(wù)層起到了決定性的作用 視圖 View 層 就是用戶能看到的并與之交互的界面 在 J2EE 技術(shù)中 常用的表 示層技術(shù)主要由 JSP JSF Freemarker 等組成 視圖向用戶顯示相關(guān)的數(shù)據(jù) 并能接受 用戶的輸入數(shù)據(jù) 但是它不能進(jìn)行任何實(shí)際的業(yè)務(wù)處理 視圖還可以接受模型發(fā)出來的 數(shù)據(jù)更新事件 從而對用戶界面進(jìn)行同步更新 控制 Controller 層 Struts 中的控制層和 Servlet 的功能功能一模一樣 就是調(diào)用業(yè) 務(wù)層 然后進(jìn)行視圖的切換 控制層幾乎不做任何與業(yè)務(wù)有關(guān)的事情 比如登錄驗(yàn)證這 些 所以在軟件的分層結(jié)構(gòu)設(shè)計中 控制層的代碼量幾乎是最少的 但它的作用也是非 常重要的 通過將模型 視圖與控制層的分離 各個層之間的聯(lián)系非常少 但這樣做的好處是 控制層可以隨意的切換到自己想要展示的頁面 然后控制層調(diào)用業(yè)務(wù)邏輯層和持久化保 存數(shù)據(jù)層 來實(shí)現(xiàn)軟件的功能 再轉(zhuǎn)回到控制層 最后將最終的結(jié)果顯示到視圖層 這 實(shí)際上是一種模型的變化 傳播機(jī)制 模型 視圖 控制層三者之間的關(guān)系和各自的 主要功能如圖 2 1 所示 圖 2 1 MVC 組件關(guān)系和功能 模 型 封裝應(yīng)用程序狀態(tài) 響應(yīng)狀態(tài)查詢 應(yīng)用程序功能 通知視圖改變 10 2 2 4 Struts 框架框架 Struts 已經(jīng)提供了一個非常好的 MVC 框架 利用 Struts 開發(fā) MVC 系統(tǒng)時可以大大 加快開發(fā)速度 在開發(fā)時可以采用的開發(fā)流程如下 1 收集和定義應(yīng)用需求 2 基于數(shù)據(jù)采集和顯示的原則定義和開發(fā)用戶界面的需求 3 為每一個用戶界面 JSP 文件定義訪問路徑 4 定義 ActionMapping 建立應(yīng)用業(yè)務(wù)邏輯之間的聯(lián)系 5 開發(fā)滿足用戶界面需求的所有支持對象 6 基于每一個用戶界面需求提供的數(shù)據(jù)屬性來創(chuàng)建對應(yīng)的 ActionForm 對象 7 開發(fā)被 ActionMapping 調(diào)用的 Action 對象 8 開發(fā)應(yīng)用業(yè)務(wù)邏輯對象 Bean EJB 等 9 對應(yīng) ActionMapping 設(shè)計的流程創(chuàng)建 JSP 頁面 10 建立合適的配置文件 struts config xml web xml 11 開發(fā) 測試 部署 利用 Sruts 開發(fā) MVC 流程 如圖 2 2 所示 Browsers Struts ActionServlet struts config xml Struts Action Struts ActionForm Business Logic JSP HTML Form using Struts Custom Tags Database View Model Controller 圖 2 2 Struts 框架 MVC 流程圖 在使用 Struts 框架時 對應(yīng)各個部分的具體開發(fā)工作主要包括一下部分 Model 部分 采用 JavaBean 或 EJB 組件或 Spring 的 Bean 設(shè)計和實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏 輯 根據(jù)不同的請求從 Action 派生具體 Action 處理對象 完成 做什么 的任務(wù)來調(diào)用由 Bean 構(gòu)成的業(yè)務(wù)組件 創(chuàng)建由 ActionForm 的派生類實(shí)現(xiàn)對客戶端表單數(shù)據(jù)的封裝及簡單 的校驗(yàn) Controller 部分 Struts 為我們提供了核心控制部分的實(shí)現(xiàn) 只需要配置 ActionMapping 對象即可完成 URI 地址的映射及匹配用戶界面表單和 ActionForm 類的對 應(yīng)關(guān)系 11 View 部分 為了使用 Model 中的 ActionForm 對象 必須用 Struts 提供的自定義標(biāo)記 創(chuàng)建 HTML 表單 利用 Struts 提供的自定義標(biāo)記庫編寫用戶界面 把應(yīng)用邏輯和顯示邏 輯分離 Struts 框架通過這些自定義標(biāo)記建立了 View 和 Model 之間的聯(lián)系 Struts 的自定 義標(biāo)記還提供了很多定制頁面的功能 同時 需要編輯兩個配置文件 web xml 和 struts config xml 通過它們配置 Struts 系 統(tǒng)中的各個模塊之間的交互 圖 2 2 描述了一個 Struts 應(yīng)用程序的簡要執(zhí)行流程 1 客戶端瀏覽器發(fā)出請求 2 服務(wù)器端的 Struts 中心類 ActionServlet 找到 struts config xml 文件 并放入到內(nèi)存 將文件中的內(nèi)容作為請求路徑映射 3 ActionServlet 類在 struts config xml 文件中找到相關(guān)的請求路徑映射后填充 ActionForm 類 將前臺傳進(jìn)來的表單域打包成 Bean 4 然后轉(zhuǎn)到 Action 類進(jìn)行業(yè)務(wù)邏輯功能的實(shí)現(xiàn) 比如增 刪 改 查數(shù)據(jù)庫中的數(shù) 據(jù) 5 再通過 struts config xml 文件的映射 找到功能邏輯處理結(jié)束后顯示給客戶端用戶 看到的頁面 轉(zhuǎn)發(fā)功能通過 ActionForward 對象實(shí)現(xiàn) 由圖 2 2 Struts 框架 MVC 流程圖 結(jié)構(gòu)來看 Struts 框架可以將軟件的功能進(jìn)行分層 化 這樣可以將精通不同技術(shù)的人員工作模塊化 分工化 比如精通 UI 用戶界面設(shè)計的 可以只管 View 視圖層 而精通 Java 程序設(shè)計的程序員可以開發(fā) Model 層的代碼 2 2 5 Spring 框架框架 Spring 框架是一個開放源代碼的輕量級 Java 框架 主要作用是為了解決企業(yè)應(yīng)用程 序維護(hù)的復(fù)雜性而創(chuàng)建的 Spring 框架的解決辦法就是用分層架構(gòu) 分層架構(gòu)允許程序員 選擇使用哪一個組件 同時為 J2EE 應(yīng)用程序開發(fā)提供集成的容器 Spring 框架就是實(shí)現(xiàn)了 AOP 功能的 IOC 容器 在 IOC 容器的基礎(chǔ)上加入 AOP 不僅 可以做到松耦合開發(fā) 還具有面向切面編程的功能 Spring2 0 七大模塊的架構(gòu) 如圖 2 3 所示 Spring AOP Source level metadata AOP infrastructure Spring Core Supporting utlities Bean container Spring ORM Hibernate support iBats support JDO support Spring DAO Transaction infrastructure JDBC support DAO support Spring Web WebApplicationContext Multipart resolver Web utlities Spring Context Application context UI support Validation JNDI EJB support and remodeling Mail SpringWeb MVC Web MVC Framework Web Views JSP Velocity PDF Export 圖 2 3 Spring 架構(gòu) 組成 Spring 框架的每個模塊 或組件 都可以單獨(dú)存在 或者與其他一個或多個模 塊聯(lián)合實(shí)現(xiàn) 每個模塊的功能如下 12 Spring Core 核心容器提供 Spring 框架的基本功能 核心容器的主要組件是 BeanFactory 它是工廠模式的實(shí)現(xiàn) BeanFactory 使用控制反轉(zhuǎn) IOC 模式將應(yīng)用程 序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開 Spring Context Spring Context 是一個配置文件 向 Spring 框架提供上下文信息 Spring Context 包括企業(yè)服務(wù) 例如 JNDI EJB 電子郵件 國際化 校驗(yàn)和調(diào)度功能 Spring AOP 通過配置管理特性 Spring AOP 模塊直接將面向方面的編程功能集成 到了 Spring 框架中 所以 可以很容易地使 Spring 框架管理的任何對象支持 AOP Spring AOP 模塊為基于 Spring 的應(yīng)用程序中的對象提供了事務(wù)管理服務(wù) 通過 使用 Spring AOP 不用依賴 EJB 組件 就可以將聲明性事務(wù)管理集成到應(yīng)用程序中 Spring DAO JDBC DAO 抽象層提供了有意義的異常層次結(jié)構(gòu) 可用該結(jié)構(gòu)來管理 異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯誤消息 異常層次結(jié)構(gòu)簡化了錯誤處理 并且極 大地降低了需要編寫的異常代碼數(shù)量 例如打開和關(guān)閉連接 Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結(jié)構(gòu) Spring ORM Spring 框架插入了若干個 ORM 框架 從而提供了 ORM 的對象關(guān)系 工具 其中包括 JDO Hibernate 和 iBatis SQL Map 所有這些都遵從 Spring 的通用事 務(wù)和 DAO 異常層次結(jié)構(gòu) Spring Web 模塊 Web 上下文模塊建立在應(yīng)用程序上下文模塊之上 為基于 Web 的應(yīng)用程序提供了上下文 所以 Spring 框架支持與 Jakarta Struts 的集成 Web 模塊還 簡化了處理多部分請求以及將請求參數(shù)綁定到域?qū)ο蟮墓ぷ?Spring Web MVC MVC 框架是一個全功能的構(gòu)建 Web 應(yīng)用程序的 MVC 實(shí)現(xiàn) 通過策略接口 MVC 框架變成為高度可配置的 MVC 容納了大量視圖技術(shù) 其中包括 JSP Velocity Tiles iText 和 POI Spring 框架的功能可以用在任何 J2EE 服務(wù)器中 大多數(shù)功能也適用于不受管理的 環(huán)境 Spring 的核心要點(diǎn)是 支持不綁定到特定 J2EE 服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問對 象 毫無疑問 這樣的對象可以在不同 J2EE 環(huán)境 Web 或 EJB 獨(dú)立應(yīng)用程序 測試環(huán)境之間重用 控制反轉(zhuǎn)模式 也稱作依賴性介入 的基本概念是 不創(chuàng)建對象 但是描述創(chuàng)建它 們的方式 在代碼中不直接與對象和服務(wù)連接 但在配置文件中描述哪一個組件需要哪 一項服務(wù) 容器 在 Spring 框架中是 IOC 容器 負(fù)責(zé)將這些聯(lián)系在一起 在典型的 IOC 場景中 容器創(chuàng)建了所有對象 并設(shè)置必要的屬性將它們連接在一起 決定什么時間調(diào)用方法 下表列出了 IOC 的一個實(shí)現(xiàn)模式 類型 1服務(wù)需要實(shí)現(xiàn)專門的接口 通過接口 由對象提供這些服務(wù) 可以從對象查詢依賴性 例如 需要的附加服務(wù) 13 類型 2通過 JavaBean 的屬性 例如 setter 方法 分配依賴性 類型 3依賴性以構(gòu)造函數(shù)的形式提供 不以 JavaBean 屬性的形式公 開 Spring 框架的 IOC 容器采用類型 2 和類型 3 實(shí)現(xiàn) 面向方面的編程 即 AOP 是一種編程技術(shù) 它允許程序員對橫切關(guān)注點(diǎn)或橫切典 型的職責(zé)分界線的行為 例如日志和事務(wù)管理 進(jìn)行模塊化 AOP 的核心構(gòu)造是方面 它將那些影響多個類的行為封裝到可重用的模塊中 AOP 和 IOC 是補(bǔ)充性的技術(shù) 它們都運(yùn)用模塊化方式解決企業(yè)應(yīng)用程序開發(fā)中的 復(fù)雜問題 在典型的面向?qū)ο箝_發(fā)方式中 可能要將日志記錄語句放在所有方法和 Java 類中才能實(shí)現(xiàn)日志功能 在 AOP 方式中 可以反過來將日志服務(wù)模塊化 并以聲明的 方式將它們應(yīng)用到需要日志的組件上 當(dāng)然 優(yōu)勢就是 Java 類不需要知道日志服務(wù)的存 在 也不需要考慮相關(guān)的代碼 所以 用 Spring AOP 編寫的應(yīng)用程序代碼是松散耦合的 AOP 的功能完全集成到了 Spring 事務(wù)管理 日志和其他各種特性的上下文中 Spring 設(shè)計的核心是 org springframework beans 包 它的設(shè)計目標(biāo)是與 JavaBean 組件一起使用 這個包通常不是由用戶直接使用 而是由服務(wù)器將其用作其他多數(shù)功能 的底層中介 下一個最高級抽象是 BeanFactory 接口 它是工廠設(shè)計模式的實(shí)現(xiàn) 允許 通過名稱創(chuàng)建和檢索對象 BeanFactory 也可以管理對象之間的關(guān)系 BeanFactory 支持兩個對象模型 1 單態(tài) 模型提供了具有特定名稱的對象的共享實(shí)例 可以在查詢時對其進(jìn)行檢索 Singleton 是默認(rèn)的也是最常用的對象模型 對于無狀態(tài)服務(wù)對象很理想 2 原型 模型確保每次檢索都會創(chuàng)建單獨(dú)的對象 在每個用戶都需要自己的對象時 原型模型最適合 bean 工廠的概念是 Spring 作為 IOC 容器的基礎(chǔ) IOC 將處理事情的責(zé)任從應(yīng)用 程序代碼轉(zhuǎn)移到框架 正如我將在下一個示例中演示的那樣 Spring 框架使用 JavaBean 屬性和配置數(shù)據(jù)來指出必須設(shè)置的依賴關(guān)系 2 2 6 Hibernate 框架框架 Hibernate 是目前最流行的 ORM 框架 其采用非常優(yōu)雅的方式將 SQL 操作完全包裝 成對象化的操作 其作者 Gavin King 在持久層設(shè)計上極富經(jīng)驗(yàn) 采用非常少的代碼實(shí)現(xiàn) 了整個框架 同時完全開放源代碼 即使偶爾遇到無法理解的情況 也可以參照源代碼 來理解其在持久層上靈巧而智能的設(shè)計 14 目前 Hibernate 在國內(nèi)的開發(fā)人員相當(dāng)多 Hibernate 的文檔也非常豐富 這些都為學(xué) 習(xí) Hibernate 鋪平了道路 因而 Hibernate 的學(xué)習(xí)相對簡單一些 下面通過對比來了解 Hibernate 和傳統(tǒng) JDBC 操作數(shù)據(jù)庫持久層之間的差異 當(dāng)前的軟件開發(fā)語言已經(jīng)全面轉(zhuǎn)向面向?qū)ο?而數(shù)據(jù)庫系統(tǒng)仍停留在關(guān)系數(shù)據(jù)庫階 段 面對復(fù)雜的企業(yè)環(huán)境 同時使用面向?qū)ο笳Z言和關(guān)系數(shù)據(jù)庫是相當(dāng)麻煩的 不但中 間的過度難以理解 而且其開發(fā)周期也相當(dāng)長 Hibernate 是一個面向 Java 環(huán)境的對象 關(guān)系數(shù)據(jù)庫映射工具 Object Relational Mapping 用來把對象模型表示的對象映射到基于 SQL 的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去 Hibernate 的目標(biāo)是 釋放開發(fā)者通常的數(shù)據(jù)持久化相關(guān)的變成任務(wù)的 95 對于以 數(shù)據(jù)為中心的程序而言 往往在數(shù)據(jù)庫中使用存儲過程來實(shí)現(xiàn)商業(yè)邏輯 Hibernate 可能 不是最好的解決方案 但對于那些基于 Java 的中間件應(yīng)用中 設(shè)計采用面向?qū)ο蟮臉I(yè)務(wù) 模型和商業(yè)邏輯時 Hibernate 是最有用的 不管怎樣 Hibernate 能消除那些針對特定數(shù) 據(jù)庫廠商的 SQL 代碼 并且把結(jié)果集由表格式的形式轉(zhuǎn)換成值對象的形式 Hibernate 不僅管理 Java 類到數(shù)據(jù)庫表的映射 包括 Java 數(shù)據(jù)類型到 SQL 數(shù)據(jù)類型 的映射 還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法 可以大幅度地減少在開發(fā)時人工使用 SQL 和 JDBC 處理數(shù)據(jù)的時間 Hibernate 能在眾多的 ORM 框架中脫穎而出 因?yàn)?Hibernate 與其他 ORM 框架對比 具有如下優(yōu)勢 1 開源和免費(fèi)的 License 方便需要是研究源代碼 改寫源代碼并進(jìn)行功能定制 2 輕量級封裝 避免引入過多復(fù)雜的問題 調(diào)試容易 減輕程序員負(fù)擔(dān) 3 具有可擴(kuò)展性 API 開放 功能不夠用時 可以自己編碼進(jìn)行擴(kuò)展 4 開發(fā)者活躍 產(chǎn)品有穩(wěn)定的發(fā)展保障 15 第三章第三章 系統(tǒng)需求分析與前臺設(shè)計系統(tǒng)需求分析與前臺設(shè)計 3 1 需求分析需求分析 根據(jù)軟件開發(fā)過程的要求 在技術(shù)實(shí)現(xiàn)可行性確定的基礎(chǔ)上 我們首先要進(jìn)行的是 系統(tǒng)流程的分析 需求分析就是描述系統(tǒng)的需求情況 結(jié)合用戶的需求 本模塊是用于 服裝企業(yè)的成本管理 對成本信息進(jìn)行添加 刪除 修改以及查詢等一系列的操作 本 系統(tǒng)主要應(yīng)有如下要求 網(wǎng)頁風(fēng)格符合企業(yè)員工的特點(diǎn) 簡單實(shí)用 符合企業(yè)實(shí)際的成本管理方式 要求完成成本信息相關(guān)的所有基本操作 包括添加 刪除 修改以及查詢等操作 要求能夠上傳與成本相關(guān)的文件 方便以后的查找管理 3 1 1 系統(tǒng)前臺簡要設(shè)計概述系統(tǒng)前臺簡要設(shè)計概述 該成本管理系統(tǒng)主要是針對服裝企業(yè)的 其成本管理模塊的前臺主要能完成以下功 能 1 在用戶登錄之后 選擇成本管理中的成本明細(xì)維護(hù) 能夠看到自己權(quán)限范圍內(nèi)的 所有成本信息 2 用戶可以使用多字段 查詢自己需要查詢的成本信息 并可以點(diǎn)擊查看該成本信 息的詳細(xì)內(nèi)容 3 除了查詢功能外 用戶還必須能夠?qū)σ延械某杀拘畔⑦M(jìn)行修改 4 用戶可以添加新的成本信息 5 對于添加錯誤的成本信息 可以進(jìn)行對其進(jìn)行刪除操作 但刪除操作可以不單獨(dú) 列出一個界面 直接從顯示列表和數(shù)據(jù)庫中刪除即可 圖 3 1 表示前臺頁面主菜單結(jié)構(gòu)圖 16 圖 3 1 前臺頁面主菜單 3 1 2 系統(tǒng)用例圖系統(tǒng)用例圖 用戶 成成本本管管理理模模塊塊 新增成本明細(xì)信息 查詢成本信息列表 刪除成本明細(xì)信息 顯示成本明細(xì)信息 修改成本明細(xì)信息 圖 3 2 成本管理模塊用例圖 3 2 系統(tǒng)設(shè)計系統(tǒng)設(shè)計 3 2 1 系統(tǒng)層次劃分系統(tǒng)層次劃分 該系統(tǒng)模塊中 模塊系統(tǒng)共分為五層 分別為表現(xiàn)層 控制層 業(yè)務(wù)邏輯層 數(shù)據(jù) 訪問層 數(shù)據(jù)層 如圖 3 2 所示 JSP ActionServlet Hibernate MySQL BO 圖 3 3 網(wǎng)站模塊分層 表現(xiàn)層中 系統(tǒng)主要采用了 JSP 技術(shù) 將 Action 傳遞過來的數(shù)據(jù)封裝在 ActionForm 中 進(jìn)行一定的處理之后 再反饋給前臺頁面 控制層主要是為了控制協(xié)調(diào)系統(tǒng)中各模塊的執(zhí)行流程 在控制層中 Struts 中的 17 ActionServlet 控制系統(tǒng)流程轉(zhuǎn)向 業(yè)務(wù)邏輯層 主要采用 Javabean 來實(shí)現(xiàn)具體系統(tǒng)的業(yè)務(wù)邏輯處理 數(shù)據(jù)訪問層 主要是采用 Hibernate 持久層方案 通過 Hibernate 封裝對數(shù)據(jù)層的操作 方便于在不同的數(shù)據(jù)庫系統(tǒng)間移植 Hibernate 也采用了面向?qū)ο蟮乃枷雭聿僮鲾?shù)據(jù)庫 數(shù)據(jù)層存放系統(tǒng)中的數(shù)據(jù) 本系統(tǒng)采用 MySQL 數(shù)據(jù)庫 3 2 2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫就是存放數(shù)據(jù)的倉庫 即數(shù)據(jù)按照一定的規(guī)律存放在計算機(jī)中 是信息系統(tǒng) 的核心和基礎(chǔ) 是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分 把信息系統(tǒng)中大量的數(shù)據(jù)按一 定的模型組織起來 提供存儲 維護(hù) 檢索數(shù)據(jù)的功能 使信息系統(tǒng)可以方便 及時 準(zhǔn)確地從數(shù)據(jù)庫中獲得所需的信息 數(shù)據(jù)庫設(shè)計是信息資源管理最有效的手段 數(shù)據(jù)庫 設(shè)計就是根據(jù)具體的應(yīng)用環(huán)境 構(gòu)造合理數(shù)據(jù)庫模式 建立數(shù)據(jù)庫邏輯結(jié)構(gòu) 有效存儲 數(shù)據(jù) 滿足用戶實(shí)際需求和系統(tǒng)應(yīng)用處理要求 在動態(tài)網(wǎng)站設(shè)計中數(shù)據(jù)庫的重要性不言 而喻 合理地設(shè)計數(shù)據(jù)庫結(jié)構(gòu)可以提高系統(tǒng)運(yùn)行的效率 如果設(shè)計不當(dāng) 查詢起來就非 常吃力 程序的性能也會受到影響 2 數(shù)據(jù)庫的設(shè)計一般主要包括兩個部分 對網(wǎng)站系統(tǒng)的設(shè)計進(jìn)行需求分析 確定所需要在數(shù)據(jù)庫中保存的信息 確定每個表的字段屬性等數(shù)據(jù)庫信息 根據(jù)系統(tǒng)設(shè)計和業(yè)務(wù)邏輯分析 與我所做模塊連接比較緊密的數(shù)據(jù)表有 USER 表 SINGLE MATERIAL BILL 表 SINGLE MATERIAL BILL ITEM 表 STYLE COMPONENT 表 如表 3 1 所示 該表為 USER 表結(jié)構(gòu) 用于保存登錄用戶的信息 表 3 1 USER 表 序號序號列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度標(biāo)識標(biāo)識主鍵主鍵允許空允許空說明說明 1user idbigint20是是否自增長 2COMP IDbigint20是 3emailvarchar255是電子郵箱 4faxvarchar255是傳真 5moblie phonevarchar255是手機(jī) 6cnamevarchar255是中文名 7name engvarchar255是 8phonevarchar255是電話 18 9remarkvarchar255是備注 10statusvarchar255是狀態(tài) 11user personal idvarchar255是 12user pwdvarchar255是密碼 13employeevarchar255是是否為雇 員 14user namevarchar255是登錄名 15createbybigint20是創(chuàng)建人 ID 16createDatedatetime是創(chuàng)建日期 17expireDatedatetime是到期日期 18effectiveDatedatetime是有效日期 19addressvarchar255是地址 20dept idbigint20是部門 ID 21canEditPlanvarchar1否 如表 3 2 所示 該表為 SINGLE MATERIAL BILL 表結(jié)構(gòu) 用于保存成本明細(xì)信息 不包括各成本子項明細(xì)信息 表 3 2 SINGLE MATERIAL BILL 表 序號序號列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度主鍵主鍵允許空允許空說明說明 1single material bill idbigint20是否自增長 2approve by idbigint20是審擬人 1ID 3approve datedatetime是審擬日期 4contact idbigint20是合同 ID 5contact billvarchar255是 6createby idbigint20是創(chuàng)建人 ID 7create datedatetime是創(chuàng)建日期 8due datedatetime是交貨日期 9nation idbigint20是外銷地區(qū) ID 10single material bill novarchar255是編號 11numberdouble是數(shù)量 12style idbigint20是款號 13update datedatetime是修改日期 14specification from idbigint20是 15specification to idbigint20是 16amountdouble是總額 17styleNamevarchar500是款式 18imgvarchar100是上傳文件路徑 19specification term1varchar100是規(guī)格項 1 20specification term2varchar100是規(guī)格項 2 19 21specification term3varchar100是規(guī)格項 3 22specification term4varchar100是規(guī)格項 4 23approve by id2bigint20是審擬人 2ID 24issimplevarchar255是是否為簡單成 本管理標(biāo)記 25bar codevarchar255是 26comments shvarchar255是 27componentvarchar255是 28grammevarchar255是 如表 3 3 所示 該表為 SINGLE MATERIAL BILL ITEM 表結(jié)構(gòu) 用于保存各成本 子項明細(xì)信息 表 3 3 SINGLE MATERIAL BILL ITEM 表 序序 號號 列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度小數(shù)小數(shù) 位位 主主 鍵鍵 允許允許 空空 說明說明 1single material bill item idbigint20是否自增 長 2cloth component idbigint20是 3material idbigint20是材料 ID 4quantity per clothdouble是用料 5materialpricedouble是單價 6materialamountdouble是金額 7materialunitvarchar255是單位 8isamountvarchar255是 9single material bill idbigint20是 10item indexbigint20是 11FK ONEbigint20是 12embroiderdouble153是利潤 率 13stardatedate是時間 14sequencevarchar5是序號 15colorgongjiaodouble153是 16fullindexvarchar40是 17isGongJiaovarchar45是是否 為工 繳 18supplymaterialvarchar45是供貨 19spoilvarchar45是損耗 20widthvarchar45是門幅 20 21remarkvarchar100是備注 如表 3 4 所示 該表為 STYLE COMPONENT 表結(jié)構(gòu) 用于保存各成本子項配置信 息 表 3 4 STYLE COMPONENT 表 序號序號列名列名數(shù)據(jù)類型數(shù)據(jù)類型長長 度度 標(biāo)標(biāo) 識識 主主 鍵鍵 允許允許 空空 說明說明 1style component idbigint20是是否自增長 2createby idbigint20是創(chuàng)建人 3create datedatetime是創(chuàng)建日期 4descriptionvarchar255是描述 5style component namevarchar255是成本子項名稱 6style component novarchar255是成本子項 NO 7update datedatetime是更新日期 8accessoryvarchar255是 9build invarchar255是 10remark textvarchar4是是否顯示備注 3 2 3 成本管理模塊時序圖成本管理模塊時序圖 3 2 3 1 查詢成本信息列表時序圖查詢成本信息列表時序圖 如圖 3 4 所示 該圖為查詢成本信息列表時序圖 Cost Ma jspUSERSingleMaterialProcessImpl 2 queryMa 3 getSingleMaterialBillsByTerm SingleMaterialBillDAOImplHiber nate 4 findSingleMaterialBillByTerm HibernateTemplate 5 find 6 return Cost List 1 query 圖 3 4 查詢成本信息列表時序圖 具體步驟如下 1 用戶單擊成本維護(hù)界面右側(cè)的查詢按鈕時 Struts 的 ActionForward 通過 struts 21 config xml 的配置轉(zhuǎn)發(fā)至 Cost Ma jsp 頁面 2 用戶填完新的成本信息后單擊提交按鈕時 Struts 會通過 struts config xml 的配置 調(diào)用 CostDetailAction 類的 queryMa 方法 3 CostDetailAction 類的 queryMa 調(diào)用 SingleMaterialProcessImpl 類的 getSingleMaterialBillsB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意產(chǎn)業(yè)2025年資金申請項目政策研究及建議報告
- 解析2025年3D打印在汽車制造領(lǐng)域的規(guī)?;a(chǎn)應(yīng)用案例
- 廣東省廣州市重點(diǎn)中學(xué)2025年高考沖刺英語模擬試題含答案
- 2025屆長春市重點(diǎn)中學(xué)高三第二次診斷性檢測英語試卷含解析
- 2025屆山東省濟(jì)寧市汶上一中高三下學(xué)期一??荚囉⒄Z試題含解析
- 2025醫(yī)師聘用合同范本下載
- 供應(yīng)鏈金融在中小微企業(yè)融資中的創(chuàng)新應(yīng)用與風(fēng)險防范策略研究報告
- 2025年中藥提取與分離技術(shù)產(chǎn)業(yè)人才培養(yǎng)與職業(yè)發(fā)展研究報告
- 電動汽車電池?zé)峁芾頍岜眉夹g(shù)應(yīng)用與發(fā)展報告(2025版)
- 2025年中醫(yī)藥康養(yǎng)旅游示范基地項目資金籌措與財務(wù)管理報告
- 小學(xué)語文教學(xué):深度融入過程性評價
- 唐山2025年唐山市市直事業(yè)單位招聘277人筆試歷年參考題庫附帶答案詳解
- 血液透析室的管理規(guī)范
- 豬偽狂犬病凈化方案
- 湖北省第十屆湖北省高三(4月)調(diào)研模擬考試化學(xué)試卷及答案
- 【電動汽車兩檔AMT自動變速器傳動結(jié)構(gòu)計算設(shè)計9800字(論文)】
- 演出經(jīng)紀(jì)人員資格必考題含答案2025
- 四年級上冊信息技術(shù)教案-《龜兔賽跑》教學(xué)設(shè)計+說課稿-人教(新版) (2份打包)
- X中學(xué)2024年初中理化生實(shí)驗(yàn)操作考試方案
- 肺癌的手術(shù)治療方案
- 醫(yī)院醫(yī)用耗材臨床應(yīng)用分級管理制度2024年
評論
0/150
提交評論