版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 前 言2</b></p><p><b> 第一章 概述3</b></p><p> 1.1 在線請假系統(tǒng)的任務(wù)與目標(biāo)
2、3</p><p> 1.2 本論文所作的工作3</p><p> 第二章 在線請假系統(tǒng)技術(shù)背景以及支撐環(huán)境4</p><p><b> 2.1 MVC4</b></p><p> 2.2 Struts5</p><p> 2.2.1 Struts概述5</p>
3、<p> 2.2.2 利用Struts框架開發(fā)MVC系統(tǒng)6</p><p> 2.3 Hibernate6</p><p> 2.4 Ajax7</p><p><b> 2.5 JXL8</b></p><p> 2.6 在線請假系統(tǒng)的開發(fā)環(huán)境9</p><p>
4、; 2.7 在線請假系統(tǒng)的運行環(huán)境9</p><p> 2.7.1 在線請假系統(tǒng)的項目部署9</p><p> 2.7.2 在線請假系統(tǒng)的環(huán)境需求10</p><p> 第三章 在線請假系統(tǒng)總體設(shè)計11</p><p> 3.1 在線請假系統(tǒng)需求分析11</p><p> 3.1.1 用戶分析
5、11</p><p> 3.1.2 業(yè)務(wù)目標(biāo)11</p><p> 3.1.3 業(yè)務(wù)處理過程12</p><p> 3.1.4 系統(tǒng)特點12</p><p> 3.1.5 其他需求12</p><p> 3.2 系統(tǒng)總體視圖描述13</p><p> 3.2.1 系統(tǒng)用例視
6、圖13</p><p> 3.2.2 系統(tǒng)約束14</p><p> 3.3 在線請假系統(tǒng)的系統(tǒng)架構(gòu)14</p><p> 3.3.1 系統(tǒng)用例總圖14</p><p> 3.3.2 業(yè)務(wù)處理視圖15</p><p> 3.3.3 系統(tǒng)實現(xiàn)視圖16</p><p> 3
7、.3.3.1 概述16</p><p> 3.3.3.2 層次17</p><p> 3.4在線請假系統(tǒng)功能模塊分析18</p><p> 3.4.1系統(tǒng)功能模塊分析18</p><p> 3.4.2系統(tǒng)功能模塊設(shè)計18</p><p> 第四章 在線請假系統(tǒng)數(shù)據(jù)庫設(shè)計21</p>
8、<p> 4.1 數(shù)據(jù)庫設(shè)計21</p><p> 4.1.1 數(shù)據(jù)庫信息21</p><p> 4.4.2 查詢與訪問技術(shù)21</p><p> 4.4.3 數(shù)據(jù)字典以及對應(yīng)的持久化類21</p><p> 4.2 數(shù)據(jù)庫約束關(guān)系圖26</p><p> 4.3 持久層26<
9、/p><p> 4.4 非數(shù)據(jù)庫文件27</p><p> 第五章 員工請假申請模塊的設(shè)計與實現(xiàn)28</p><p> 5.1 模塊功能分析28</p><p> 5.2 員工請假申請用例視圖28</p><p> 5.3 模塊的包類結(jié)構(gòu)圖29</p><p> 5.4 用
10、例關(guān)系圖31</p><p> 5.4.1 順序圖31</p><p> 5.4.2 協(xié)作圖31</p><p> 5.5關(guān)鍵技術(shù)32</p><p> 5.5.1 權(quán)限控制32</p><p> 5.5.2 Ajax日期校驗34</p><p> 5.5.3 定義組織框
11、架中“環(huán)”的問題36</p><p> 5.5.4 利用同步令牌來防止刷新導(dǎo)致的重復(fù)提交36</p><p> 第六章 總結(jié)與展望38</p><p> 6.1 課題總結(jié)38</p><p> 6.2 課題存在的問題以及解決方案38</p><p><b> 參考文獻40</b&
12、gt;</p><p><b> 致謝41</b></p><p><b> 摘 要</b></p><p> 隨著信息技術(shù)的高速發(fā)展,信息技術(shù)在企業(yè)以及機關(guān)部門的使用越來越廣泛,各種基于B/S架構(gòu)的管理軟件的研究與開發(fā)也越來越受到人們的重視。本文基于Struts框架、Hibernate,MVC,詳盡闡述了在線請
13、假系統(tǒng)(Leave Application System,LAS)的設(shè)計與實現(xiàn)。本系統(tǒng)分為五大模塊——用戶登錄、員工請假申請、請假批準(zhǔn)模塊、請假流程定義與休假計劃維護。文中描述了這些模塊的主要設(shè)計思想和實現(xiàn)方法,并著重研究和討論了員工請假申請模塊的設(shè)計以及系統(tǒng)中的一些關(guān)鍵技術(shù)。論文在最后還探討了系統(tǒng)目前存在的問題與不足,并對如何進一步改善系統(tǒng)進行了討論。</p><p> 關(guān)鍵詞:在線請假系統(tǒng),MVC,Stru
14、ts,Hibernate,Ajax</p><p> 作 者: XXX</p><p><b> 指導(dǎo)老師: YYY</b></p><p><b> 前 言</b></p><p> 隨著科學(xué)技術(shù)的進步,尤其是計算機網(wǎng)絡(luò)的迅猛發(fā)展,人類步入信息時代,人們的生活方式、思維方式、工作方
15、式,以及教育方式也隨之改變。同時網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計算機的廣泛運用,使得實際生活中的問題通過計算機加網(wǎng)絡(luò)得到了有效的解決。如,管理部門通過計算機可以對大量復(fù)雜的工序通過計算機控制,使其極大的降低了錯誤出現(xiàn)的概率,大幅度提高了工作的效率,從而獲得經(jīng)濟效益。又如,每個公司都會遇到員工請假情況,需要經(jīng)過,填寫申請請假的表格,遞交給上級批復(fù),有時找不到上級本人遞交申請,出現(xiàn)不能及時批復(fù)的情況。這樣既給員工帶來了不便,管理人員需要對請假記錄進行
16、歸檔,方便日后查閱,日積月累,查閱檔案也不方便。綜上所述,對于員工請假問題很有必要利用計算機來管理工作流程、存儲請假文檔,從而獲得有效的管理。</p><p> 本論文講述了一個基于公司組織框架的在線請假系統(tǒng)(Leave Application System,LAS)的設(shè)計與實現(xiàn)過程,包括系統(tǒng)功能設(shè)計、數(shù)據(jù)庫設(shè)計以及請假申請模塊的詳細(xì)設(shè)計與實現(xiàn)。</p><p> 全文共分為六章。第一
17、章簡單闡述了LAS的開發(fā)背景,任務(wù)目標(biāo),以及本文的所做的工作,第二章闡述了LAS相關(guān)的技術(shù)背景以及的支撐環(huán)境,第三章詳細(xì)描述了LAS的總體設(shè)計,包括需求分析等,第四章闡述了LAS的數(shù)據(jù)庫設(shè)計以及其持久層設(shè)計,第五章重點闡述了LAS中請假申請模塊的設(shè)計與實現(xiàn)以及LAS中所運用到的關(guān)鍵技術(shù),第六章對課題進行了總結(jié),并且對LAS存在的不足進行說明以及提出有效的解決方案。</p><p><b> 第一章
18、概述</b></p><p> 1.1 在線請假系統(tǒng)的任務(wù)與目標(biāo)</p><p> LAS采用Java語言編寫,結(jié)合Javascript、XML,基于Struts框架與Hibernate,實現(xiàn)了在線提交請假申請以及在線批復(fù)申請,并及時通知雙方請假申請的審批情況,管理者也能夠根據(jù)具體情況來制定不同的請假批復(fù)流程,通過該系統(tǒng)的假期維護功能能夠準(zhǔn)確的掌握公司員工的一定時期的請假情
19、況。要求完成以下主要工作:</p><p> 1)在線請假系統(tǒng)的設(shè)計與實現(xiàn),包括系統(tǒng)的基本架構(gòu),系統(tǒng)需求分析,用戶分析以及功能模塊分析,系統(tǒng)的各種約束條件,以及系統(tǒng)的UML建模過程。</p><p> 2)在線請假系統(tǒng)數(shù)據(jù)庫的設(shè)計,包括系統(tǒng)數(shù)據(jù)庫中的表的設(shè)計,數(shù)據(jù)字典和對應(yīng)的</p><p> Hibernate持久化類,以及在日期維護模塊中的非數(shù)據(jù)庫文件,E
20、xcel文件。</p><p> 3)在線提交請假申請模塊的設(shè)計與實現(xiàn),包括該模塊的功能分析與用例設(shè)計,該模塊中的邏輯處理過程,該請模塊還使用Ajax技術(shù),讓用戶有更好的用戶體驗和更傻瓜式的操作。</p><p> 1.2 本論文所作的工作</p><p> 本文闡述了在線請假系統(tǒng)的開發(fā)背景,圍繞MVC架構(gòu)、Struts、Hibernate以及其它技術(shù)背景進行
21、了詳細(xì)的闡述;同時詳細(xì)闡述了整個系統(tǒng)的需求分析、功能分析、系統(tǒng)設(shè)計以及數(shù)據(jù)庫設(shè)計,重點突出在線請假系統(tǒng)中的請假申請模塊,詳細(xì)地闡述了該模塊從需求分析、系統(tǒng)設(shè)計、系統(tǒng)用例分析以及數(shù)據(jù)庫設(shè)計的整個過程,借以達到展示整個系統(tǒng)開發(fā)過程的目的;另外,本文還對在線請假系統(tǒng)中所運用的幾個關(guān)鍵技術(shù)進行了說明,并對整個系統(tǒng)目前存在的問題與不足進行了探討,為進一步完善該系統(tǒng)提出可行的解決方案。</p><p> 第二章 在線請假
22、系統(tǒng)技術(shù)背景以及支撐環(huán)境</p><p> 在線請假系統(tǒng)基于Struts、Hibernate,軟件開發(fā)平臺采用了MyEclipse 6.0,并使用了Ajax,在本章中簡單介紹相關(guān)的技術(shù)背景。</p><p><b> 2.1 MVC</b></p><p> MVC(Model-View-Controller,模型—視圖—控制器模式) 用
23、于表示一種軟件架構(gòu)模式。它把軟件系統(tǒng)分為三個基本部分:模型(Model),視圖(View)和控制器(Controller)。</p><p> MVC最初是在Smalltalk-80中被用來構(gòu)建用戶界面的。MVC的目的是增加代碼的重用率,減少數(shù)據(jù)表達,數(shù)據(jù)描述和應(yīng)用操作的耦合度。 同時也使得軟件可維護性,可修復(fù)性,可擴展性,靈活性以及封裝性大大提高。通過把數(shù)據(jù)模式從各種可以被存取和控制的數(shù)據(jù)中分離出來可以改善分
24、布式系統(tǒng)的設(shè)計。MVC設(shè)計模式由三部分組成。模型是應(yīng)用對象,沒有用戶界面。視圖表示它在屏幕上的顯示,代表流向用戶的數(shù)據(jù)??刂破鞫x用戶界面對用戶輸入的響應(yīng)方式,負(fù)責(zé)把用戶的動作轉(zhuǎn)成針對模型的操作。模型通過更新視圖的數(shù)據(jù)來反映數(shù)據(jù)的變化。三者關(guān)系如圖2-1:</p><p> 圖2-1 MVC的分工與協(xié)作</p><p> 2.2 Struts</p><p>
25、 本節(jié)簡要闡述了Struts基本原理以及利用Struts框架來構(gòu)建一個MVC架構(gòu)的系統(tǒng)。</p><p> 2.2.1 Struts概述</p><p> Struts是Apache組織的一個項目,像其他的Apache組織的項目一樣,它也是開放源碼項目。Struts是一個比較好的MVC框架并提供了對開發(fā)MVC系統(tǒng)的底層支持,它采用的主要技術(shù)是Servlet,JSP和Custom Tag
26、 Library。 </p><p> Struts框架的基本構(gòu)成由圖2-2所示:</p><p> 圖2-2 Struts框架的基本構(gòu)成</p><p> Struts框架的處理流程清楚的體現(xiàn)了MVC系統(tǒng)的特點,簡單的Struts組件結(jié)構(gòu)如圖2-3所示。Struts Controller ActionServlet處理客戶請求,利用配置的ActionMapp
27、ing對象把請求映射到Action處理器對象進行處理。Action處理對象訪問ActionForm中的數(shù)據(jù),處理和響應(yīng)客戶請求,它還調(diào)用后臺的Bean組件,這些組件封裝了具體的業(yè)務(wù)邏輯。Action處理器對象根據(jù)處理結(jié)果通知Controller,Controller進行下一步的處理。</p><p> 圖2-3 Struts框架的組件結(jié)構(gòu)圖</p><p> 2.2.2 利用Strut
28、s框架開發(fā)MVC系統(tǒng)</p><p> 由于Struts已經(jīng)為我們提供了一個非常好的MVC框架,我們利用Struts開發(fā)MVC系統(tǒng)時可以大大加快開發(fā)的速度。 </p><p> 具體在使用Struts框架時,對應(yīng)各個部分的開發(fā)工作主要包括:</p><p> Model部分:采用JavaBean和EJB組件,設(shè)計和實現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯。根據(jù)不同的請求從Actio
29、n派生具體Action處理對象。完成"做什么"的任務(wù)來調(diào)用由Bean構(gòu)成的業(yè)務(wù)組件。創(chuàng)建由ActionForm 的派生類實現(xiàn)對客戶端表單數(shù)據(jù)的封裝。 </p><p> Controller部分:Struts為我們提供了核心控制部分的實現(xiàn)。我們只需要配置ActionMapping對象 </p><p> View部分:為了使用Model中的ActionForm 對象
30、,我們必須用Struts提供的自定義標(biāo)記創(chuàng)建HTML 表單。利用Struts提供的自定義標(biāo)記庫編寫用戶界面把應(yīng)用邏輯和顯示邏輯分離。Struts框架通過這些自定義標(biāo)記建立了View和Model之間的聯(lián)系。Struts的自定義標(biāo)記還提供了很多定制頁面的功能。 </p><p> 同時需要編輯兩個配置文件:web.xml和struts-config.xml。通過它們配置Struts系統(tǒng)中的各個模塊之間的交互,把St
31、ruts框架中MVC的各個部分聯(lián)系起來,實現(xiàn)一個真正的MVC系統(tǒng)。</p><p> 2.3 Hibernate</p><p> Hibernate 是一個純 Java 的對象關(guān)系映射和持久性框架,是連接Java應(yīng)用程序和關(guān)系數(shù)據(jù)庫的中間件。它對JDBC API進行了封裝,負(fù)責(zé)Java對象的持久化。在分層軟件架構(gòu)中它位于持久化層,封裝了所有數(shù)據(jù)訪問細(xì)節(jié),使業(yè)務(wù)邏輯層可以專注于實現(xiàn)業(yè)務(wù)
32、邏輯。它是一種ORM映射工具,能夠建立面向?qū)ο蟮挠蚰P秃完P(guān)系數(shù)據(jù)模型之間的映射。</p><p> 使用 Hibernate 能夠節(jié)約大量項目開發(fā)時間,因為整個 JDBC 層都由這個框架管理。這意味著應(yīng)用程序的數(shù)據(jù)訪問層位于 Hibernate 之上,完全是從底層數(shù)據(jù)模型中抽象出來的。如圖2-4所示: </p><p> 圖2-4 Hibernate層次圖</p><
33、;p><b> 2.4 Ajax</b></p><p> Ajax(Asynchronous JavaScript and XML)是使用客戶端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開發(fā)方法。這樣,Web頁面不用打斷交互流程進行重新加裁,就可以動態(tài)地更新。使用Ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動態(tài)的Web用戶界面。</p><p&
34、gt; 而傳統(tǒng)的Web應(yīng)用模型工作起來就像這樣:大部分界面上的用戶動作觸發(fā)一個連接到Web服務(wù)器的HTTP請求。服務(wù)器完成一些處理---接收數(shù)據(jù),處理計算,再訪問其它的數(shù)據(jù)庫系統(tǒng),最后返回一個HTML頁面到客戶端。這是一個老套的模式,自采用超文本作為Web使用以來,一直都這樣用, 這樣確限制了Web界面沒有桌面軟件那么好用。傳統(tǒng)Web應(yīng)用模型與Ajax模型的比較如圖2-5所示:</p><p> 圖2-5 傳
35、統(tǒng)Web應(yīng)用模型(左)與Ajax模型的比較(右)</p><p> 通過在用戶和服務(wù)器之間引入一個Ajax引擎,可以消除Web的開始-停止-開始-停止這樣的交互過程。不像加載一個頁面一樣,在會話的開始,瀏覽器加載了一個Ajax引擎---采用JavaScript編寫并且通常在一個隱藏frame中。這個引擎負(fù)責(zé)繪制用戶界面以及與服務(wù)器端通訊。Ajax引擎允許用異步的方式實現(xiàn)用戶與程序的交互--不用等待服務(wù)器的通訊。
36、所以用戶再不不用打開一個空白窗口,看到等待光標(biāo)不斷的轉(zhuǎn),等待服務(wù)器完成后再響應(yīng),不用再擔(dān)誤用戶界面的交互。</p><p><b> 2.5 JXL</b></p><p> JXL(Java Excel API)是一個用來動態(tài)讀寫Excel文件的開源框架目,通過它Java開發(fā)人員可以讀取Excel文件的內(nèi)容、創(chuàng)建新的Excel文件、更新已經(jīng)存在的Excel文件。
37、使用該API非Windows操作系統(tǒng)也可以通過純Java應(yīng)用來處理Excel數(shù)據(jù)表。因為是使用Java編寫的,所以能在Web應(yīng)用中可以通過JSP、Servlet來調(diào)用API實現(xiàn)對Excel數(shù)據(jù)表的訪問。相對POI,JXL簡單方便,對中文支持非常好,功能也比較強大。</p><p> 現(xiàn)在發(fā)布的穩(wěn)定版本是V2.0,提供以下功能:</p><p> 從Excel 95、97、2000等格式
38、的文件中讀取數(shù)據(jù); </p><p> 讀取Excel公式(可以讀取Excel 97以后的公式); </p><p> 生成Excel數(shù)據(jù)表(格式為Excel 97); </p><p> 支持字體、數(shù)字、日期的格式化; </p><p> 支持單元格的陰影操作,以及顏色操作; </p><p> 修改已經(jīng)存
39、在的數(shù)據(jù)表; </p><p> 2.6 在線請假系統(tǒng)的開發(fā)環(huán)境</p><p> 本系統(tǒng)采用Struts1.1框架構(gòu)建。開發(fā)工具采用Tomcat5.5與MyEclipse6.0結(jié)合使用。持久層采用Hibernate3.0框架,開發(fā)包為JDK1.5,數(shù)據(jù)庫使用SQL Server的桌面版——MSDE。</p><p> 2.7 在線請假系統(tǒng)的運行環(huán)境</
40、p><p> 2.7.1 在線請假系統(tǒng)的項目部署</p><p> 圖2-6 LAS系統(tǒng)部署圖</p><p> 在線請假系統(tǒng)的部署如圖2-6所示,具體描述如下:</p><p> Applicant PC, Manager PC and Agency PC</p><p> 這些計算機需要安裝瀏覽器。</
41、p><p> Web Server </p><p> Web服務(wù)器是在線請假系統(tǒng)的入口。所有的申請人員,審批人員和維護人員使用瀏覽器訪問Web服務(wù)器,以便登錄系統(tǒng)進行申請、審批、維護等操作。</p><p> Application Server</p><p> 應(yīng)用程序服務(wù)器用于處理商務(wù)邏輯以及初始化系統(tǒng)數(shù)據(jù)和檢索數(shù)據(jù)。</p
42、><p> Database Server</p><p> 數(shù)據(jù)庫服務(wù)器主要用來對系統(tǒng)中涉及的數(shù)據(jù)進行存取操作。</p><p> 2.7.2 在線請假系統(tǒng)的環(huán)境需求</p><p> 本系統(tǒng)采用MVC三層架構(gòu),應(yīng)用程序直接裝在服務(wù)器上,由于在局域網(wǎng)內(nèi)使用本系統(tǒng),安全性較高,運行與處理速度快。</p><p>&
43、lt;b> 通信要求</b></p><p> 本系統(tǒng)被布署在公司內(nèi)部的服務(wù)器中,供給公司內(nèi)部人員使用,用戶通過局域網(wǎng)連接到LAS。</p><p><b> 硬件需求/配置</b></p><p> 每個員工一臺計算機,需要將這些計算機連接到同一個局域網(wǎng)中的交換機。</p><p><b
44、> 系統(tǒng)軟件</b></p><p> 計算機的操作系統(tǒng)為Windows操作系統(tǒng),其中需要安裝IE 6.0以上版本的瀏覽器,用戶通過瀏覽器登錄系統(tǒng)。</p><p> 第三章 在線請假系統(tǒng)總體設(shè)計</p><p> 3.1 在線請假系統(tǒng)需求分析</p><p> 3.1.1 用戶分析</p><
45、;p> 本系統(tǒng)的用戶可以分為以下五類:</p><p><b> 1)系統(tǒng)維護人員</b></p><p> 負(fù)責(zé)系統(tǒng)維護,包括負(fù)責(zé)批量的導(dǎo)入用戶,假期維護,可以對自己的個人資料進行編輯和查詢本人過往申請記錄的批復(fù)情況,同時作為員工,系統(tǒng)維護人員也具有提交請假申請的需要。</p><p><b> 2)經(jīng)理</b&
46、gt;</p><p> 作為公司的高層,負(fù)責(zé)批閱請假申請,可以對用戶進行鎖定的操作,可以查閱公司所有員工的請假歷史,并且將公司某段時期中的請假情況生成Excel報表;負(fù)責(zé)定義和管理公司組織框架和請假批復(fù)流程。</p><p><b> 3)項目經(jīng)理</b></p><p> 具有批閱請假申請的權(quán)限,并且作為經(jīng)理的下屬,還有提交請假申請的
47、需要,并可以對自己的個人資料進行編輯和查詢本人過往申請記錄的批復(fù)情況。</p><p><b> 4)組長</b></p><p> 具有批閱請假申請的權(quán)限,并且作為經(jīng)理以及項目經(jīng)理的下屬,還有提交請假申請的需要,并可以對自己的個人資料進行編輯和查詢本人過往申請記錄的批復(fù)情況。</p><p><b> 5)員工</b&g
48、t;</p><p> 員工可以提交未來某段時間的請假申請,并可以對自己的個人資料進行編輯和查詢本人過往申請記錄的批復(fù)情況。</p><p> 3.1.2 業(yè)務(wù)目標(biāo)</p><p> 在線請假系統(tǒng),該系統(tǒng)為員工提供方便的請假渠道,有利于提高公司的管理效率。目標(biāo)是提供給項目經(jīng)理和組員提供一個方便快捷的在線請假系統(tǒng), 用于管理和優(yōu)化員工的請假申請和批復(fù)過程,能夠簡
49、化方便組員休假申請以及項目管理人員各組員的休假計劃,并備份休假計劃報告以備查閱。關(guān)鍵目標(biāo)如表3-1關(guān)鍵目標(biāo)所示,</p><p><b> 表3-1 關(guān)鍵目標(biāo)</b></p><p> 3.1.3 業(yè)務(wù)處理過程</p><p> 1)用戶登錄:完成對用戶登錄的合法性檢查,并對用戶權(quán)限進行控制;</p><p>
50、2)員工請假申請:員工向上級提交申請,并發(fā)送Email通知相應(yīng)的上級;</p><p> 3)上級請假批準(zhǔn):由上級進行批復(fù)后Email通知員工批復(fù)結(jié)果;</p><p> 4)請假流程定義:定義好請假流程中要批復(fù)的層次關(guān)系;</p><p> 5)休假計劃報告:導(dǎo)出Excel報表,對系統(tǒng)參數(shù)進行維護。</p><p> 3.1.4 系
51、統(tǒng)特點</p><p> LAS具有如下特點:</p><p> 管理人員可以自定義請假的流程,可對審批流程各環(huán)節(jié)適當(dāng)增減,,不會影響整個系統(tǒng)的運行;</p><p> 系統(tǒng)及時以Email方式發(fā)送批復(fù)結(jié)果于請假申請的員工,以便員工可以及時獲得批復(fù)信息;</p><p> 若休假時間未到,管理人員可以更改批復(fù);</p>
52、<p> 若請假申請的起始日期為過期,申請人員可以對申請進行更改刪除(僅限于假設(shè)性申請)。</p><p> 3.1.5 其他需求</p><p> LAS的其他需求,分別是:</p><p> 處理量需求:系統(tǒng)日處理請假申請50人左右,最高不超過300人。</p><p> 安全需求:如表3-2所示。</p>
53、;<p><b> 表3-2 安全需求</b></p><p><b> 存檔需求:</b></p><p> 每個組員的假期申請從提交申請開始一直會保留到其被批閱的時候,申請將分已經(jīng)通過和未通過批準(zhǔn)的分開保存,未批準(zhǔn)的申請將返回給組員,通過批準(zhǔn)的申請將生成休假計劃并添加到組員休假計劃中。</p><p&g
54、t; 未通過批準(zhǔn)的申請將在某階段的整理中歸檔到備份文件中。</p><p> 通過批準(zhǔn)的申請會生成Excel報表,Excel報表主要提供給項目經(jīng)理和客戶對項目組成員的休假情況以及計劃有個詳細(xì)的了解。</p><p><b> 意外處理需求:</b></p><p> LAS可以忍受的由于維護的停工期不能超過一天。</p>
55、<p> LAS記錄使用文本和Excel報表存儲,備份的持續(xù)時間一般為一天。</p><p> 在停機維護或者意外事件.允許組員人工向項目經(jīng)理提交請假申請,并在系統(tǒng)恢復(fù)使用期間重新補錄。</p><p> 3.2 系統(tǒng)總體視圖描述</p><p> 3.2.1 系統(tǒng)用例視圖</p><p> 在線請假系統(tǒng)的用例視圖如圖3-
56、1所示。</p><p> 圖3-1 系統(tǒng)用例視圖</p><p> 3.2.2 系統(tǒng)約束</p><p> 如果申請人填寫請假起始和結(jié)束日期相同時,系統(tǒng)會自動判斷出為一天,會提供上下午的選擇,如果不選擇,系統(tǒng)默認(rèn)為一天假期;</p><p> 可以假設(shè)性請假,如:從某天到某天,我將要請假。中途可以取消或者編輯請假;</p>
57、;<p> 所有未到期的申請可以做增刪改操作(僅限于假設(shè)性申請);</p><p> 流程可分為:越級審批(高級越過低級或者低級越過高級)和逐級審批(低級審批后高級才可審批)。</p><p> 3.3 在線請假系統(tǒng)的系統(tǒng)架構(gòu)</p><p> 3.3.1 系統(tǒng)用例總圖</p><p> 整個在線請假系統(tǒng)的用例總圖如
58、圖3-2所示。</p><p> 圖3-2 系統(tǒng)用例圖</p><p> 3.3.2 業(yè)務(wù)處理視圖</p><p> 在線請假系統(tǒng)的業(yè)務(wù)處理視圖如圖3-3所示。</p><p> 圖3-3 業(yè)務(wù)處理圖</p><p> ActionServlet Controller:</p><p>
59、; 它是整個流程的控制器,用于處理用戶與服務(wù)器間的會話過程。用戶發(fā)送請求到控制器,控制器通過ActionFormBean對請求的數(shù)據(jù)進行驗證,然后通過Actions接口送到服務(wù)器去處理,控制器將從服務(wù)器返回的Bussiness Data填充到FormBean類中,生成JSP頁面,顯示給用戶處理后的結(jié)果。</p><p> ActionFormBean Processor:</p><p&g
60、t; 用于將用戶輸入的表單數(shù)據(jù)保存在ActionFormBean中,并對其進行驗證,驗證通過后,由控制器轉(zhuǎn)發(fā)到后臺處理,得到的結(jié)果再存放到ActionFormBean中,JSP文件使用Struts標(biāo)簽讀取修改后的ActionFormBean信息,重新設(shè)置Html表單. 將頁面返回給用戶。</p><p> JavaBean Container:</p><p> 管理JavaBean
61、組件,包括事務(wù)處理(查詢、更新、增加操作)、安全組件、連接池等。</p><p> 3.3.3 系統(tǒng)實現(xiàn)視圖</p><p> 3.3.3.1 概述</p><p> 在線請假系統(tǒng)的包結(jié)構(gòu)圖如圖3-4所示,每個包的功能在表3-3中做了說明。</p><p> 圖3-4 系統(tǒng)包結(jié)構(gòu)圖</p><p> 表3-3
62、 包的功能說明</p><p> 3.3.3.2 層次</p><p> 圖3-5 系統(tǒng)包層次圖</p><p> 圖3-5是系統(tǒng)包的層次圖。其中,com.las.struts.service 包為com.las.struts.dispatchAction包提供系統(tǒng)一些公共服務(wù),而com.las.struts.dispatchAction又通過com.las.
63、struts.dao包與持久層進行交互。</p><p> 3.4在線請假系統(tǒng)功能模塊分析</p><p> 3.4.1系統(tǒng)功能模塊分析</p><p> LAS主要提供給項目組管理其項目組組員的請假和假期規(guī)劃管理,并能提供給客戶一個清晰的項目組組員的請假計劃,以及組員提交其請假計劃。</p><p><b> 它共有如下模
64、塊:</b></p><p> 模塊一:用戶登陸模塊——用戶登錄系統(tǒng),用戶管理;</p><p> 模塊二:員工請假申請——員工填寫并提交請假申請;</p><p> 模塊三:請假批準(zhǔn)模塊——項目經(jīng)理批準(zhǔn)或駁回員工的請假;</p><p> 模塊四:請假流程定義——定義請假流程和設(shè)計工作流;</p><
65、p> 模塊五:休假計劃報告——查閱審批情況、導(dǎo)出Excel報表以及系統(tǒng)參數(shù)維護。</p><p> 3.4.2系統(tǒng)功能模塊設(shè)計</p><p> 表3-4到表3-8是系統(tǒng)各子模塊的功能描述。</p><p><b> 用戶登陸模塊</b></p><p> 表3-4用戶登陸模塊功能說明</p>
66、<p><b> 員工請假申請模塊</b></p><p> 表3-5員工請假申請模塊功能說明</p><p><b> 請假批準(zhǔn)模塊</b></p><p> 表3-6請假批準(zhǔn)模塊功能說明</p><p><b> 自定義審批流程模塊</b></
67、p><p> 表3-7自定義審批流程模塊功能說明</p><p><b> 休假計劃維護模塊</b></p><p> 表3-8休假計劃維護模塊功能說明</p><p> 第四章 在線請假系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p><b> 4.1 數(shù)據(jù)庫設(shè)計</b></
68、p><p> 4.1.1 數(shù)據(jù)庫信息</p><p> 有關(guān)數(shù)據(jù)庫的描述如表4-1所示,系統(tǒng)用到的數(shù)據(jù)庫查詢技術(shù)如表4-2所述。</p><p><b> 表4-1數(shù)據(jù)庫信息</b></p><p> 4.4.2 查詢與訪問技術(shù)</p><p> 表4-2數(shù)據(jù)庫查詢與訪問技術(shù)</p&g
69、t;<p> 4.4.3 數(shù)據(jù)字典以及對應(yīng)的持久化類</p><p> 用戶信息表(TB_UserInfo)</p><p><b> 表4-3用戶信息表</b></p><p> 表4-4用戶信息表約束關(guān)系</p><p> 用戶角色表(TB_UserRole)</p><p
70、><b> 表4-5用戶角色表</b></p><p> 表4-6用戶角色表約束關(guān)系</p><p> 用戶所屬部門表(TB_DepartmentInfo)</p><p> 表4-7用戶所屬部門表</p><p> 表4-8用戶所屬部門表約束關(guān)系</p><p> 分公司信息表
71、(TB_CompanyInfo)</p><p> 表4-9分公司信息表</p><p> 表4-10分公司信息表約束關(guān)系</p><p> 用戶申請表(TB_ApplicationFilled)</p><p> 表4-11用戶申請表</p><p> 表4-12用戶申請表約束關(guān)系</p>&
72、lt;p> 審批記錄表(TB_ApproveRecords)</p><p> 表4-13審批記錄表</p><p> 表4-14審批記錄表約束關(guān)系</p><p> 組織架構(gòu)表(TB_OrganizationFrame)</p><p> 表4-15組織架構(gòu)表</p><p> 表4-16組織架構(gòu)表
73、約束關(guān)系</p><p> 自定義審批流程規(guī)則表(TB_FlowRule)</p><p> 表4-17自定義審批流程規(guī)則表約束關(guān)系</p><p> 表4-18自定義審批流程規(guī)則表約束關(guān)系</p><p> 公共假日表(TB_PublicHolidays)</p><p> 表4-19公共假日表</p
74、><p> 表4-20公共假日表約束關(guān)系</p><p> 參數(shù)維護表(TB_ParameterMaintain)</p><p> 表4-21 參數(shù)維護表</p><p> 固定假日表(TB_FixedPublicHolidays)</p><p> 表4-22 固定假日表</p><p&g
75、t; 表4-23 固定假日表約束關(guān)系</p><p> 4.2 數(shù)據(jù)庫約束關(guān)系圖</p><p> 數(shù)據(jù)庫中各個表的約束關(guān)系如圖4-1所示。</p><p> 圖4-1數(shù)據(jù)庫約束關(guān)系圖</p><p><b> 4.3 持久層</b></p><p> 表4-24 Hibernate
76、持久層</p><p> 4.4 非數(shù)據(jù)庫文件</p><p> 表4-25非數(shù)據(jù)庫文件</p><p> 第五章 員工請假申請模塊的設(shè)計與實現(xiàn)</p><p> 5.1 模塊功能分析</p><p> 員工登錄系統(tǒng)后,按照給出的格式填寫好申請。然后系統(tǒng)根據(jù)審批流程的定義產(chǎn)生該申請的審批層次關(guān)系,將申請遞交
77、給審批人員,申請將被存入數(shù)據(jù)庫,同時會發(fā)出一封郵件通知審批人員進行審批。</p><p> 在填寫請假表格的同時,該模塊需要對請假的日期區(qū)間進行檢測,即請假日期區(qū)間不得與該員工歷史請假記錄重疊,提交申請的起始日期不得小于當(dāng)前日期;如起始日期與結(jié)束日期一致,將有上下午選項,允許員工請半天假期,不選則默認(rèn)為請全天假。</p><p> 對未過期的(即請假起始時間晚于當(dāng)前時間的)未批復(fù)的假設(shè)
78、性請假申請,申請人可以對其進行修改,或者刪除,中途取消申請。</p><p> 5.2 員工請假申請用例視圖</p><p> 圖5-1員工請假申請用例視圖</p><p> 5.3 模塊的包類結(jié)構(gòu)圖</p><p> 圖5-2請假申請模塊包類結(jié)構(gòu)圖</p><p> Com.las.struts.dispa
79、tchaction</p><p> 該包主要包含了系統(tǒng)中的Action類,其主要包含以下的幾個類:</p><p> Com.las.struts.service</p><p> 該包主要包含了系統(tǒng)中的公用類,為上一層提供一些通用的服務(wù),其中主要幾個類的作用如下:</p><p> Com.las.struts.dao</p
80、><p> 該包主要包含了系統(tǒng)中與數(shù)據(jù)庫交互的類,其中主要幾個類的作用如下:</p><p> ApplicationDeliverAction</p><p> 表5-1 ApplicationDeliverAction 方法描述</p><p> checkApplicationDelivered</p><p&g
81、t; 表5-2 checkApplicationDelivered方法描述</p><p><b> SendEmail</b></p><p> 使用Jmail中的API,設(shè)置對應(yīng)的mail服務(wù)器,發(fā)送mail的相關(guān)參數(shù),并且設(shè)置mail的標(biāo)題以及編碼等。</p><p><b> CheckDate</b>&l
82、t;/p><p> 用于Ajax調(diào)用的Servlet,用于判斷用戶輸入的請假申請區(qū)間是否符合要求,如果不符合系統(tǒng)要求則返回對應(yīng)的錯誤提示反饋給用戶,如果符合要求則返回該請假申請的實際總天數(shù)(即除去公共假期的天數(shù))。</p><p><b> CountDays</b></p><p> 提供給CheckDate計算請假總天數(shù)的方法,該方法將用
83、戶輸入的日期區(qū)間與數(shù)據(jù)庫假期維護表中的固定假期(周日,周六)與非固定假期(節(jié)慶日)對比,計算出實際天數(shù),并作為方法的返回值。</p><p> DeliverEventDAO</p><p> 表5-3 DeliverEventDAO方法描述</p><p> 5.4 用例關(guān)系圖</p><p><b> 5.4.1 順序
84、圖</b></p><p> 圖5-3 員工請假申請順利圖</p><p><b> 5.4.2 協(xié)作圖</b></p><p> 圖5-4 員工請假申請協(xié)作圖</p><p><b> 5.5關(guān)鍵技術(shù)</b></p><p> 5.5.1 權(quán)限控制&l
85、t;/p><p> LAS系統(tǒng)的權(quán)限控制是通過控制菜單的顯示以及對操作設(shè)置權(quán)限來控制的。</p><p> 不同的用戶角色,有不同的功能菜單</p><p> 圖5-5權(quán)限控制-菜單顯示截圖</p><p> 權(quán)限的控制是在用戶登錄的同時,根據(jù)不同的用戶角色ID給用戶分配一個顯示屬性,在JSP頁面的菜單頁中,根據(jù)這些顯示屬性來動態(tài)的控制菜
86、單的顯示。</p><p> if(tbUserInfo.getTbUserRole().getRoleId().equals(new Integer(1))){</p><p> //Developer級別的成員,顯示列表1,2</p><p> System.out.println("Developer, ok, executed!&qu
87、ot;);</p><p> showMenu.setShowManageLocalUserInfoMenu(showValueForLogicPresent);</p><p> showMenu.setShowDeliverApplicationMenu(showValueForLogicPresent);</p><p><b> }</
88、b></p><p> else if(tbUserInfo.getTbUserRole().getRoleId().equals(new Integer(2))){</p><p> //TL級別的成員,顯示列表1,2,3</p><p> System.out.println("TL, ok, executed!");&l
89、t;/p><p> showMenu.setShowManageLocalUserInfoMenu(showValueForLogicPresent);</p><p> showMenu.setShowDeliverApplicationMenu(showValueForLogicPresent);</p><p> showMenu.setShowApprov
90、eApplicationMenu(showValueForLogicPresent);</p><p><b> }</b></p><p> 其中,showMenu類提供了動態(tài)控制菜單顯示的方法。</p><p> <logic:present name="showMenu" property="sh
91、owManageLocalUserInfoMenu"></p><p> 在菜單頁中,使用logic標(biāo)簽來判斷該菜單項是否需要顯示。</p><p><b> 對操作的權(quán)限控制</b></p><p> <app:validateSession name="userInfo" property=&
92、quot;Rrole" value="4"/></p><p> validateSession是一個共用的Tag,其功能主要是提供給各個模塊,進行Session的判別,以及判斷Session的角色ID。通過這樣的一個方法去控制該用戶是否有權(quán)限執(zhí)行某種操作。</p><p><b> 權(quán)限的轉(zhuǎn)移</b></p>&
93、lt;p> 另外,在一個項目組以及公司里,人事的變遷以及上級以及員工出差的情況是不可避免的,為了防止由于以上的情況而帶來對請假流程框架的影響,在員工離職或者出差的情況的,允許經(jīng)理或者系統(tǒng)管理員將該用戶鎖定(Lock),這樣可以確保該員工在此期間,將不能使用LAS;如果管理層有人離職或者出差,同樣需要經(jīng)理或者系統(tǒng)管理員鎖定該用戶,并且將其權(quán)限轉(zhuǎn)移到另一個人,確保公司或者項目組員工能夠及時獲得上級的批復(fù),而不會因此而耽擱請假的時間。
94、</p><p> 5.5.2 Ajax日期校驗</p><p> 為了使用戶有更好的用戶體驗,同時也減少人工輸入的錯誤和繁瑣,在頁面上的數(shù)據(jù)驗證使用了Ajax技術(shù)。</p><p> 圖5-6 Ajax日期校驗</p><p> 腳本日歷的使用,不僅可以使用戶有更好的用戶體驗,同時也可以確保日期格式的正確性,避免手工輸入日期的出錯
95、情況( 輸入日期的文本框設(shè)置為只讀)。</p><p> 圖5-7 Ajax日期校驗之錯誤信息</p><p> 用戶點擊 檢查 按鈕,JSP頁面將先使用Javascript對數(shù)據(jù)進行校驗,如果日期不為空,且起始日期不晚于截止日期,則將調(diào)用Ajax引擎與后臺交互,分別對以下幾種情況進行校驗:</p><p> 請假日期區(qū)間是否與歷史請假記錄重疊;</p
96、><p> 請假的起始日期是否早于當(dāng)前日期;</p><p> 如果不符合系統(tǒng)要求,將返回錯誤提示,返回到前臺,由于使用了Ajax,不需要刷新頁面,而讓用戶及時的獲得系統(tǒng)返回的信息。</p><p> 圖5-8 Ajax日期校驗之?dāng)?shù)據(jù)交互</p><p> 如果符合系統(tǒng)要求,則允許用戶繼續(xù)操作,并調(diào)用CheckDate()計算請假的實際
97、總天數(shù)(去除公共假期),然后將請假區(qū)間的實際天數(shù),自動填充到請假總天數(shù)的文本框中。</p><p> 5.5.3 定義組織框架中“環(huán)”的問題</p><p> 由于LAS的組織框架是由人工手動定義的,因此由于人為的疏忽,在定義批復(fù)流程的時候,有可能出現(xiàn)帶有循環(huán)的批復(fù)鏈路,如下圖所示:</p><p> 圖5-9 組織框架的“環(huán)”</p><
98、p> 表5-4 組織框架表</p><p> 由于批復(fù)鏈路出現(xiàn)循環(huán)的鏈路,因此,在系統(tǒng)調(diào)用com.las.struts.service包中的方法getApproverList(int user_id)獲得提交申請的用戶的所有上級的一個列表填充到審批記錄表中時將會發(fā)現(xiàn)系統(tǒng)內(nèi)部出現(xiàn)死循環(huán)了,導(dǎo)致系統(tǒng)不能正常運行。</p><p> 因此有必要在在系統(tǒng)定義組織框架中的邏輯處理中時,對
99、定義組織框架進行控制,項目總經(jīng)理定義的組織關(guān)系中要指定上級的成員的userId號作為com.las.struts.service包中ControlCircle類的方法isExistCircle(Integer userId,Integer superiorId)的參數(shù),調(diào)用它判斷,當(dāng)此定義被指定成員的組織關(guān)系加入到系統(tǒng)中時是否會出現(xiàn)環(huán)的問題,如果出現(xiàn)了循環(huán)的鏈路,則讓系統(tǒng)報錯,提示用戶重新定義該組織框架。</p><
100、p> 5.5.4 利用同步令牌來防止刷新導(dǎo)致的重復(fù)提交</p><p> 為了防止用戶刷新頁面,而引起請假申請重復(fù)提交的現(xiàn)象。其實現(xiàn)過程如下所述:</p><p> 在用戶進入申請?zhí)顚戫撁嬷?,生成同步令牌并寫入到session中,即saveToken(request),在提交申請的同時,對令牌進行判斷,即:</p><p> if(isTokenVal
101、id(request,true)){</p><p> //令牌不相同,不存在重復(fù)刷新,允許提交</p><p><b> }</b></p><p><b> else{</b></p><p> //令牌相同,拋出出錯信息</p><p> saveToken(
102、request);</p><p><b> }</b></p><p> 同步令牌的基本原理是:為每一個頁面編號,并在客戶端和服務(wù)器端各產(chǎn)生一個副本,每次通過比較兩端的編號是否一致,達到同步的目的。首先,由服務(wù)器產(chǎn)生這個編號,發(fā)送到客戶端。這樣這個編號在服務(wù)器和客戶端各有一個副本。當(dāng)客戶提交頁面時,服務(wù)器首先比較兩個編號是否一致。如果一致,則處理提交,并產(chǎn)生一個
103、新的編號,返回給客戶端。此時如果客戶回退并再次提交,客戶端是舊編號,服務(wù)器端是新編號,顯然不一致,因此服務(wù)器將判定這是一次重復(fù)提交,不予受理。</p><p> 第六章 總結(jié)與展望</p><p><b> 6.1 課題總結(jié)</b></p><p> 本文的論述是基于實際開發(fā)中所做的工作進行的總結(jié),本課題基于Struts和Hiberna
104、te開展了LAS的研究、設(shè)計與開發(fā)。詳盡闡述了作者設(shè)計的LAS的系統(tǒng)設(shè)計,以及它的五大模塊——用戶登陸模塊、員工請假申請、請假批準(zhǔn)模塊、請假流程定義以及休假計劃報告的主要設(shè)計思想和實現(xiàn)方法,論文中著重研究和討論了整個系統(tǒng)的總體分析與設(shè)計以及系統(tǒng)使用的關(guān)鍵技術(shù)。</p><p> 本設(shè)計能很好地將MVC系統(tǒng)架構(gòu)運用于開發(fā)過程之中,系統(tǒng)結(jié)構(gòu)較合理;模塊功能較全,這些模塊分別是用戶登陸模塊、員工請假申請、請假批準(zhǔn)模塊
105、、請假流程定義以及休假計劃報告。所開發(fā)的各模塊間的協(xié)調(diào)性好,系統(tǒng)總體比較穩(wěn)定。</p><p> 課題開發(fā)的軟件用戶操作界面簡潔、美觀、清晰,具有較好的用戶體驗,經(jīng)過實際使用,證明其通用性、實用性和健壯性都達到了設(shè)計初期提出的要求。</p><p> 本課題開發(fā)的在線請假系統(tǒng)具有如下特色:</p><p><b> 便攜性</b><
106、/p><p> 本系統(tǒng)使用了Struts,Hibernate為開發(fā)框架,數(shù)據(jù)庫使用了SQL Server桌面級數(shù)據(jù)庫MSDE,MSDE是一個小型數(shù)據(jù)庫,用戶只需要在服務(wù)器安全本系統(tǒng)的安裝包,就可以使用該系統(tǒng)了,安裝簡單,部署方便,具有很高的便攜性。</p><p><b> 操作簡單,易于維護</b></p><p> 本系統(tǒng)人機對話界面友好
107、,同時在數(shù)據(jù)校驗方面使用了Ajax,有較好的用戶體驗,并且有效的減少了手工輸入可能出現(xiàn)的錯誤,完全傻瓜化的操作;對于系統(tǒng)管理員而言,本系統(tǒng)對數(shù)據(jù)的過濾以及數(shù)據(jù)的批量處理,都使得管理員對系統(tǒng)的日常維護更加輕松簡單。</p><p><b> 易于擴展</b></p><p> 本系統(tǒng)使用了MVC三層架構(gòu),層次清晰,所有的與數(shù)據(jù)庫交互都放在DAO的包里面,Servic
108、e為業(yè)務(wù)邏輯層提供了一些公共服務(wù)的“接口”,使開發(fā)人員便于對系統(tǒng)進行擴展再次開發(fā)。</p><p> 6.2 課題存在的問題以及解決方案</p><p> 由于缺少實際開發(fā)的經(jīng)驗,在做系統(tǒng)設(shè)計的時候,仍然未考慮周到,因此本系統(tǒng)仍存在許多問題有待解決:</p><p> 在初步使用系統(tǒng)的時候,需要管理員手工導(dǎo)入該公司或者項目組所有成員的資料,在此之后,需要經(jīng)理對
109、該公司的組織框架以及請假批復(fù)流程進行手工制定。如果未能及時的進行制定,則該公司的員工在這期間是沒辦法進行在線請假業(yè)務(wù)的。</p><p> 解決方案:在系統(tǒng)管理員導(dǎo)入用戶資料的同時,根據(jù)用戶的公司,部門,以及不同的級別,由系統(tǒng)自動生成默認(rèn)的組織框架以及請假批復(fù)流程;</p><p> 在我們的后期測試中,由于人數(shù)的問題,沒有進行大量數(shù)據(jù)的測試,因此在實際的使用過程中,系統(tǒng)的執(zhí)行效率有所
110、下降。</p><p> 解決方案:對數(shù)據(jù)處理層進行算法優(yōu)化,減少不必要的系統(tǒng)開銷;</p><p> 由于本系統(tǒng)是在公司內(nèi)部使用,因此系統(tǒng)的安全性進行很嚴(yán)密的設(shè)計,如果需要跨地區(qū)使用本系統(tǒng),需要對本系統(tǒng)的安全性進行設(shè)計與改善。</p><p> 解決方案:對系統(tǒng)進行升級,對系統(tǒng)的安全機制重新設(shè)計,改善系統(tǒng)的安全穩(wěn)定性。</p><p>
111、; 本系統(tǒng)的Email通知功能的Email正文不能由用戶在前臺自行定制,如果需要改動Email的正文內(nèi)容,則需要改動程序源碼。</p><p> 解決方案:在數(shù)據(jù)庫中增加相應(yīng)的字段,并且在后臺管理中增加對應(yīng)的Email正文管理功能,可對對應(yīng)的Email設(shè)置適當(dāng)?shù)恼膬?nèi)容。</p><p><b> 參考文獻</b></p><p> [
112、美] Jim Keogh著. 寧建平 梁超 英宇 等譯. J2EE參考大全. 電子工業(yè)出版社,2003</p><p> [美] Arnoold, Gosling, Holmes著. 虞萬榮 王玉峰 趙亮 等譯. Java編程語言. 中國電力出版社,2003</p><p> 夏芹 曹曉鋼 唐勇 著. 深入淺出Hibernate. 電子工業(yè)出版社,2005</p><
113、;p> 孫未琴 編著. 精通Hibernate:Java對象持久化技術(shù)詳解. 電子工業(yè)出版社,2005</p><p> [美] Patrick Peak, Nick Heudecker 著. 孫中華 譯. Hibernate Quickly中文版. 人民郵電出版社,2006</p><p> 柯自聰 編著. Ajax開發(fā)精要. 電子工業(yè)出版社,2006</p>
114、<p> 鄔繼成 編著. Struts與Hibernate實用教程. 電子工業(yè)出版社,2006</p><p> 倪曉秋 季民 王光偉 編著. J2EE案例開發(fā). 中國水利出版社,2005</p><p> [美] James Turnker,Kevin Beddell 著. 孫勇 譯. Struts kick start. 電子工業(yè)出版社,2005</p>
115、<p><b> 致謝</b></p><p> 首先要感謝我的導(dǎo)師xxx老師,他認(rèn)真負(fù)責(zé)的態(tài)度以及細(xì)心的指導(dǎo),使我獲益匪淺。感謝xx為我提供了這樣的實習(xí)機會,使我得到了一次真正的煅煉,并對軟件開發(fā)有更深層次的理解。感謝實習(xí)單位的項目經(jīng)理xx、項目組長xx對我的耐心指導(dǎo)。感謝xx,在平時給予我的幫助,使我的技術(shù)進步飛快。</p><p> 最后,感謝大
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--小型公司員工請假管理系統(tǒng)
- 畢業(yè)論文-在線購物系統(tǒng)
- 在線答疑系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線投票系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)論文
- 在線選課系統(tǒng)畢業(yè)論文
- 在線投稿系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線投票系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線交友系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線投票系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)論文
- 在線學(xué)習(xí)系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線考試系統(tǒng)
- 畢業(yè)論文——在線考試系統(tǒng).
評論
0/150
提交評論