版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計)冊</p><p> 學(xué)院 信息技術(shù)學(xué)院 </p><p> 專業(yè) 計算機科學(xué)與技術(shù) </p><p> 班級 2008屆專接本1班 </p><p> 論文(設(shè)計)題目: 基于J2EE的
2、人力資源管理系統(tǒng) </p><p> 論文(設(shè)計)研究目標(biāo)及主要任務(wù)</p><p> 設(shè)計一個小型的人力資源管理系統(tǒng),系統(tǒng)主要包括:人員檔案、人事調(diào)配、教育培訓(xùn)、系統(tǒng)管理等四個模塊。</p><p> 論文(設(shè)計)的主要內(nèi)容</p><p> 在設(shè)計該系統(tǒng)是,首先應(yīng)該區(qū)別用戶的權(quán)限。一般情況用戶可以擁有人員檔
3、案、人事調(diào)配、教育培訓(xùn)、系統(tǒng)管理等四個模塊中的一個或多個模塊的權(quán)限,只有這樣用戶登陸系統(tǒng)后,才可以根據(jù)自己的權(quán)限進行不同的操作。每個模塊可以執(zhí)行的操作各不相同,各模塊可執(zhí)行的操作描述如下:</p><p> 人員檔案:可以添加、刪除、修改和查詢員工信息;可以添加、刪除、修改員工檔案信息;可以添加、刪除、修改和查詢員工信息;可以添加、刪除、修改和查詢員工履歷;可以添加、刪除、修改和查詢員工合同信息及合同到期天數(shù)預(yù)
4、測;可以添加、刪除、修改和查詢員工獎懲信息等。</p><p> 人事調(diào)配:對員工的調(diào)動信息進行添加、刪除、修改和查詢操作;新近員工、離退員工及退休員工預(yù)測和查詢等。</p><p> 教育培訓(xùn):維護培訓(xùn)類別信息,對類別進行增、刪、改操作;對培訓(xùn)記錄、培訓(xùn)成績和培訓(xùn)證書進行維護操作等。</p><p> 系統(tǒng)管理:包括部門級別信息維護,可以對級別信息進行增、刪
5、、改、鎖定和激活操作;部門信息維護,可以對部門信息進行增、刪、改、合并部門和查看部門關(guān)系圖操作;用戶角色維護,可以對用戶角色進行增、刪、改和設(shè)置角色權(quán)限操作;用戶信息維護,可以對用戶信息進行增、刪、改、設(shè)定用戶權(quán)限、鎖定和激活用戶帳號等操作;系統(tǒng)參數(shù)設(shè)定,可以設(shè)定合同到期提醒天數(shù)、員工退休年齡和每頁顯示記錄條數(shù)等。本系統(tǒng)主要開發(fā)環(huán)境說明如下:</p><p> 開發(fā)語言: java語言</p>&
6、lt;p> 應(yīng)用技術(shù): struts + hibernate</p><p> 開發(fā)環(huán)境: jdk6.0、Tomcat 6.0、Oracle 9i 數(shù)據(jù)庫</p><p> 論文(設(shè)計)的基礎(chǔ)條件及研究路線</p><p> 深入了解有關(guān)java語言、Tomcat 6.0運行服務(wù)器、Oracle 9i數(shù)據(jù)庫以及人力資源管理系統(tǒng)的相關(guān)知識。做需求分析,對
7、模塊功能進行詳細設(shè)計。</p><p><b> 主要參考文獻</b></p><p> [1]CayS Horstmann,GaryCornell.CoreJava 2.北京:機械工業(yè)出版社。</p><p> ?。?]BruceEckel. Thinking in Java.北京:機械工業(yè)出版社。</p><p>
8、; [3]夏昕,曹曉鋼,唐勇.深入淺出Hibernate.北京:電子工業(yè)出版社。</p><p> [4]孫衛(wèi)琴.精通Hibernate:Java對象持久化技術(shù)詳解.北京:電子工業(yè)出版社。</p><p> [5]Bryan Basham.Hibernate技術(shù)手冊.北京:電子工業(yè)出版社。</p><p> [6]孫衛(wèi)琴.精通struts--基于MVC的ja
9、va web設(shè)計與開發(fā).北京:電子工業(yè)出版社。</p><p> ?。?]Kathy Sierra.SQL 21天自學(xué)通.北京:電子工業(yè)出版社。</p><p><b> 計劃進度</b></p><p> 指 導(dǎo) 教師: 年 月 日</p><p>
10、 教研室主任: 年 月 日</p><p> 本科生畢業(yè)論文(設(shè)計)開題報告書</p><p> 信息技術(shù) 學(xué)院 計算機科學(xué)與技術(shù) 專業(yè) 2008 屆</p><p> 本科生畢業(yè)論文(設(shè)計)文獻綜述</p><p> 本科生畢業(yè)論文(設(shè)
11、計)翻譯文章</p><p><b> 本科生畢業(yè)論文設(shè)計</b></p><p> 題目 基于J2EE的人力資源管理系統(tǒng) </p><p> 作者姓名 xxx </p><p> 指導(dǎo)教師 xxx </p><p>
12、 所在學(xué)院 信息技術(shù)學(xué)院 </p><p> 專業(yè)(系) 計算機科學(xué)與技術(shù) </p><p> 班級(屆) 2008屆 1 班 </p><p><b> 目 錄</b></p><p><b> 摘要(III)</b></p>
13、<p><b> 1、緒論(1)</b></p><p> 1.1人力資源管理系統(tǒng)的開發(fā)背景(1)</p><p> 1.2人力資源管理系統(tǒng)的開發(fā)意義(1)</p><p> 2、系統(tǒng)分析(2)</p><p> 2.1 需求分析(2)</p><p> 2.2
14、 技術(shù)可行性(2)</p><p> 2.3 環(huán)境可行性分析(3)</p><p> 3、系統(tǒng)設(shè)計(4)</p><p> 3.1 總體設(shè)計(4)</p><p> 3.2 數(shù)據(jù)庫詳細設(shè)計(5)</p><p> 3.3 模塊的圖例設(shè)計(8)</p><p> 3.4 開
15、發(fā)框架(9)</p><p> 4、系統(tǒng)實現(xiàn)(10)</p><p> 4.1 系統(tǒng)主要界面的設(shè)計與實現(xiàn)(10)</p><p> 4.2 系統(tǒng)功能模塊的設(shè)計與實現(xiàn)(13)</p><p> 4.3 關(guān)鍵技術(shù)與算法(20)</p><p> 4.4 數(shù)據(jù)的安全性(23)</p>&l
16、t;p> 5、系統(tǒng)測試(24)</p><p> 5.1 測試的定義及目的(24)</p><p> 5.2 測試的原則(24)</p><p> 5.3 人力資源管理系統(tǒng)的測試(24)</p><p><b> 結(jié)束語(25)</b></p><p><b>
17、 致謝(26)</b></p><p><b> 參考文獻(26)</b></p><p> Abstract(26)</p><p><b> 摘要</b></p><p> 隨著計算機的普及和計算機科學(xué)技術(shù)的飛速發(fā)展,人們開始越來越多地利用計算機解決實際問題。員工信息
18、管理是企業(yè)信息管理的重要部分,面對大量的人事信息,采用人力處理即浪費時間、又浪費人力和物力,并且數(shù)據(jù)的準(zhǔn)確性低。然而通過應(yīng)用人力資源管理系統(tǒng)能夠集中對企業(yè)人事工作進行管理,不單單使得人力資源管理人員擺脫繁重的日常工作,更為重要的是能夠根據(jù)員工個人能力對其崗位進行調(diào)動,充分發(fā)揮員工自身的能力,為企業(yè)的帶來更大的經(jīng)濟利益??旖?、準(zhǔn)確、方便、高效的人力資源管理系統(tǒng)是企事業(yè)單位的基本需求之一,因此,開發(fā)一個界面友好,易于操作的人力資源管理軟件進
19、行自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。</p><p> 本文所闡述的人力資源管理系統(tǒng),以瀏覽器/服務(wù)器(B/S)模式高效地實現(xiàn)了人力資源管理系統(tǒng)的各項功能,可進行多條件查詢、更新、密碼設(shè)置、員工信息、檔案、合同、履歷的管理、人員調(diào)動管理、培訓(xùn)管理、系統(tǒng)管理等功能。提升了企業(yè)的效率和競爭力,滿足了現(xiàn)代企業(yè)人力資源管理的需要。</p><p> 由于Java語言是一種純
20、面相對象的語言,而且發(fā)展前景十分的廣闊,因此本項目才用java語言作為根本,前臺頁面使用jsp語言,并選用經(jīng)典的MVC模型框架Struts作為開發(fā)架構(gòu),在數(shù)據(jù)持久層方面則使用了Hibernate框架。</p><p> 關(guān)鍵字:(B/S)模式、Java、MVC模型、Struts、Hibernate</p><p><b> 1、緒論</b></p>
21、<p> 1.1人力資源管理系統(tǒng)的開發(fā)背景</p><p> 現(xiàn)在網(wǎng)絡(luò)的發(fā)展已呈現(xiàn)商業(yè)化、全民化、全球化的趨勢。目前,幾乎世界上所有的公司都在利用網(wǎng)絡(luò)傳遞商業(yè)信息,進行商業(yè)活動,從宣傳企業(yè)、發(fā)布廣告、招聘雇員、傳遞商業(yè)文件乃至拓展市場、網(wǎng)上銷售等,無所不能。如今網(wǎng)絡(luò)已成為企業(yè)進行競爭的戰(zhàn)略手段。企業(yè)經(jīng)營的多元化拓展,企業(yè)規(guī)模的進一步擴大,對于企業(yè)的管理、業(yè)務(wù)擴展、企業(yè)品牌形象等提供了更高的要求。在以
22、信息技術(shù)為支撐的新經(jīng)濟條件下,越來越多的企業(yè)利用起網(wǎng)絡(luò)這個有效的工具。</p><p> 全球范圍內(nèi)的企業(yè)內(nèi)部組織正在發(fā)生巨變,未來企業(yè)成功的關(guān)鍵的依靠企業(yè)人力資源,人才之爭已經(jīng)成為市場競爭中的核心內(nèi)容之一,以人為本成為企業(yè)立足和發(fā)展的根本。有效力管理企業(yè)的人力資源,為企業(yè)提供強有力的儲備力量,使之成為企業(yè)發(fā)展的主動力。通過人力資源的有效管理,掌握最新的、準(zhǔn)確的企業(yè)人力資源信息,并對其進行復(fù)雜的統(tǒng)計與分析,從而
23、充分發(fā)揮每個員工的潛能,為企業(yè)創(chuàng)造更大的價值。</p><p> 1.2人力資源管理系統(tǒng)的開發(fā)意義</p><p> 全球范圍內(nèi)的企業(yè)內(nèi)部組織正在發(fā)生巨變,未來企業(yè)成功的關(guān)鍵的依靠企業(yè)人力資源,人才之爭已經(jīng)成為市場競爭中的核心內(nèi)容之一,以人為本成為企業(yè)立足和發(fā)展的根本。有效力管理企業(yè)的人力資源,為企業(yè)提供強有力的儲備力量,使之成為企業(yè)發(fā)展的主動力。通過人力資源的有效管理,掌握最新的、準(zhǔn)
24、確的企業(yè)人力資源信息,并對其進行復(fù)雜的統(tǒng)計與分析,從而充分發(fā)揮每個員工的潛能,為企業(yè)創(chuàng)造更大的價值。</p><p> 網(wǎng)絡(luò)化的今天,網(wǎng)絡(luò)人力資源管理系統(tǒng),使新的人力資源協(xié)作管理模式成為可能。通過網(wǎng)絡(luò)管理系統(tǒng),專門的人力資源管理人員可以提高自身的工作效率,作好人力資源管理的協(xié)調(diào)工作,提高人力資源利用率;通過網(wǎng)絡(luò)管理系統(tǒng),員工可以直接管理自己的技能,有效地發(fā)現(xiàn)和挖掘自身的潛能,及時與自己的上級、下屬、同事進行的溝
25、通與交流,同心協(xié)作,積極為企業(yè)的發(fā)展與決策貢獻力量。通過網(wǎng)絡(luò)人力資源管理系統(tǒng)對企業(yè)人力資源進行管理,使企業(yè)人力資源管理適應(yīng)時代的發(fā)展要求,大大提高了企業(yè)的核心競爭力。</p><p> 當(dāng)人類正在向知識經(jīng)濟新時代邁進的時候,信息網(wǎng)絡(luò)化的發(fā)展步伐也越加迅猛,隨著中國加入WTO,中國經(jīng)濟不可避免地要面對經(jīng)濟全球化的挑戰(zhàn),巨大的競爭壓力使得中國的企業(yè)將無法去慢慢解決員工的意識與素質(zhì)問題,我們的企業(yè)在經(jīng)營管理能力上急需
26、的是一種跨越式提升,它要求我們必須以全新的視角來重新認識人力資源在企業(yè)中的作用。而解決這一問題的最佳途徑是建立現(xiàn)代企業(yè)的人力資源管理系統(tǒng),它的實施將會推動企業(yè)的全面人力資源管理。</p><p> 1.3 項目設(shè)計原則</p><p> 實用性原則。充分考慮到在人力資源管理中可能遇到的種種問題,盡量全面的做好需求分析,以減少日后更新軟件的次數(shù)。</p><p>
27、 經(jīng)濟性原則。建立適合企業(yè)自身需求的網(wǎng)絡(luò)平臺,提供廣泛的涵蓋用戶多種需求的功能,數(shù)據(jù)處理方式靈活可以滿足需求,節(jié)省網(wǎng)站建設(shè)成本,并確保其較好的拓展性和開放性;同時網(wǎng)站具有基于WEB界面的管理后臺,能夠自主的對網(wǎng)站中大部分內(nèi)容作更新、修改操作,節(jié)省了企業(yè)網(wǎng)站的運營成本,提高了信息更新、傳播效率。</p><p> 擴充性原則。網(wǎng)站的整體規(guī)劃及框架設(shè)計是具可擴充性的,前臺頁面的設(shè)計能保證網(wǎng)站在增加欄目后不會破壞網(wǎng)
28、站的整體結(jié)構(gòu)。后臺數(shù)據(jù)庫的設(shè)計具有高度的擴充性,能夠根據(jù)需要對欄目、類別的增、刪、修改。</p><p><b> 2、系統(tǒng)分析</b></p><p><b> 2.1 需求分析</b></p><p> 網(wǎng)絡(luò)化的今天,網(wǎng)絡(luò)人力資源管理系統(tǒng),使新的人力資源協(xié)作管理模式成為可能。通過網(wǎng)絡(luò)管理系統(tǒng),專門的人力資源管理人
29、員可以提高自身的工作效率,作好人力資源管理的協(xié)調(diào)工作,提高人力資源利用率;通過網(wǎng)絡(luò)管理系統(tǒng),員工可以直接管理自己的技能,有效地發(fā)現(xiàn)和挖掘自身的潛能,及時與自己的上級、下屬、同事進行的溝通與交流,同心協(xié)作,積極為企業(yè)的發(fā)展與決策貢獻力量。通過網(wǎng)絡(luò)人力資源管理系統(tǒng)對企業(yè)人力資源進行管理,使企業(yè)人力資源管理適應(yīng)時代的發(fā)展要求,大大提高了企業(yè)的核心竟?fàn)幜Α?lt;/p><p><b> 2.2 技術(shù)可行性<
30、/b></p><p> 隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,單純的靜態(tài)頁面已經(jīng)不能滿足發(fā)展的需要,因為靜態(tài)頁面是用單純的HTML語言組成的,它沒有交互性。因此,為了滿足實際的需要,許多網(wǎng)頁文件擴展名不再只是“htm”,“html”,出現(xiàn)了以“php”,“asp”,“jsp”,“shtml”等為后綴的網(wǎng)頁文件,這些都是采用動態(tài)網(wǎng)頁技術(shù)制作出來的。</p><p> JSP是由Sun公司倡導(dǎo),
31、多別的公司參與一起創(chuàng)建的一種新動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁中加入Java程序片斷和JSP標(biāo)簽,構(gòu)成了JSP網(wǎng)頁,首先執(zhí)行其中的程序片斷,軟后將執(zhí)行結(jié)果以HTML格式響應(yīng)給客戶端,其中程序片斷可以是操作數(shù)據(jù)庫、重新定向網(wǎng)頁、以及發(fā)送E-Mail等等,這些都是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端運行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,與客戶端的瀏覽器無關(guān)。</p><p> 本設(shè)計選用JSP語言作
32、為前臺開發(fā)語言,選擇Struts架構(gòu)作為開發(fā)的主體框架,選用Hibernate作為數(shù)據(jù)持續(xù)性處理層,則是考慮到了其高速的開發(fā)效率,及代碼重用性高,易于維護等各種優(yōu)勢。其最終目的是希望提高系統(tǒng)底層業(yè)務(wù)邏輯的可重用性,增加系統(tǒng)的可擴展性,降低系統(tǒng)維護成本。JSP語言的優(yōu)勢如: </p><p> 將內(nèi)容的生成與顯示進行分離。</p><p> 一次編寫,到處運行。</p>&
33、lt;p> JSP的平臺適應(yīng)性更廣。</p><p> 健壯的存儲管理和安全性。</p><p> 數(shù)據(jù)庫連接技術(shù)。采用專用的JDBC與數(shù)據(jù)庫連接,執(zhí)行查詢,提取數(shù)據(jù)等操作。</p><p> 對于用戶來說,本系統(tǒng)只要求使用者掌握一定的上網(wǎng)經(jīng)驗,經(jīng)過仔細設(shè)計和測試之后的系統(tǒng)具有操作簡單、方便靈活等優(yōu)點,足可以滿足各種用戶的不同需求。</p>
34、<p> 2.3 環(huán)境可行性分析</p><p><b> 軟件環(huán)境</b></p><p> 操作系統(tǒng):Windows xp sp2</p><p> 數(shù)據(jù)庫:Oracle 9i</p><p> Web服務(wù)器:tomcat 5.5</p><p> 開發(fā)工具:MyEc
35、lispe 5.5</p><p> 開發(fā)框架:Struts 2.0和Hibernate 3.0</p><p><b> 硬件環(huán)境</b></p><p> AMD Athlon 64 3000+、KingMax PC3200 512MB×2,Gainward NV35XT</p><p> Seag
36、ate SATA 8M 120GB×2</p><p><b> 3、系統(tǒng)設(shè)計</b></p><p> 系統(tǒng)設(shè)計是在系統(tǒng)分析的基礎(chǔ)上由抽象到具體的過程。主要目標(biāo)是將系統(tǒng)分析階段所提出的反映了信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實施的基于計算機與通信系統(tǒng)的物理(技術(shù))方案,為下一階段系統(tǒng)實施提供必要的技術(shù)資料,應(yīng)符合系統(tǒng)性、靈活性、可靠性、經(jīng)濟性的要求。&l
37、t;/p><p><b> 3.1 總體設(shè)計</b></p><p> 本系統(tǒng)主要由人員檔案、人事調(diào)配、教育培訓(xùn)和系統(tǒng)管理等四個模塊組成。其總體設(shè)計圖如圖3-1所示。</p><p> 圖3-1 人力資源管理系統(tǒng)功能模塊圖</p><p> 3.1.1 系統(tǒng)主要實現(xiàn)的功能</p><p>
38、本系統(tǒng)主要用于對企業(yè)中的“人”進行管理。具體地講,人力資源管理系統(tǒng)就是通過人力資源規(guī)劃、員工信息管理、人員調(diào)動、人才培訓(xùn)和系統(tǒng)管理等一系列手段來提高勞動生產(chǎn)率,最終達到發(fā)展目標(biāo)的一種管理行為。具體實現(xiàn)目標(biāo)如下:</p><p> 實現(xiàn)對員工信息進行全面管理的功能。</p><p> 實現(xiàn)對員工調(diào)動信息進行全面管理的功能。</p><p> 實現(xiàn)對員工培訓(xùn)信息全
39、面管理的功能。</p><p> 實現(xiàn)對部門信息的全面管理的功能。</p><p> 實現(xiàn)對用戶信息和角色的全面管理的功能。</p><p> 系統(tǒng)最大限度地實現(xiàn)了易安裝性、易維護性和易操作性。</p><p> 系統(tǒng)運行穩(wěn)定、安全可靠。</p><p> 3.1.2 各個模塊的具體功能設(shè)計</p>
40、;<p> 人員檔案模塊:主要包括對員工基本信息、員工檔案信息、員工履歷、員工合同、員工獎懲信息的瀏覽、增、刪、改、查等功能,實現(xiàn)員工合同到期預(yù)測功能。</p><p> 人事調(diào)配模塊:主要包括對人員調(diào)動情況的記錄和查詢、新近員工登記、離退員工、退休人員預(yù)測、退休人員信息查詢等功能。</p><p> 教育培訓(xùn)模塊:主要包括培訓(xùn)類別、培訓(xùn)記錄、培訓(xùn)科目、培訓(xùn)成績、培訓(xùn)證
41、書信息的瀏覽、增、刪、改、查等功能。</p><p> 系統(tǒng)管理模塊:包括對部門級別信息的瀏覽、增、刪、改、鎖定和激活等功能;對部門信息的瀏覽、增、刪、改、合并部門和動態(tài)顯示部門關(guān)系結(jié)構(gòu)圖等功能;對系統(tǒng)用戶信息的瀏覽、增、刪、改、修改密碼、用戶的鎖定和激活等功能;對用戶角色信息的瀏覽、增、刪、改等功能;對系統(tǒng)參數(shù)的設(shè)定:員工退休年齡設(shè)定、合同到期提醒天數(shù)設(shè)定和每頁顯示記錄條數(shù)設(shè)定等。</p>&l
42、t;p> 3.2 數(shù)據(jù)庫詳細設(shè)計</p><p> 數(shù)據(jù)庫設(shè)計是要在一個給定的應(yīng)用環(huán)境(DBMS)中,通過合理的邏輯設(shè)計和有效的物理設(shè)計,構(gòu)造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設(shè)計應(yīng)用程序,滿足用戶的各種信息需求。</p><p> 3.2.1 數(shù)據(jù)庫概念模型設(shè)計</p><p> 在數(shù)據(jù)庫設(shè)計中,先要對系統(tǒng)分析所得的數(shù)據(jù)字典中的數(shù)據(jù)存儲進行分析,
43、然后得出系統(tǒng)的關(guān)系模式,可以采用實體——聯(lián)系圖(簡稱E—R圖)的方法進行數(shù)據(jù)結(jié)構(gòu)的描述。E—R圖由實體、屬性、聯(lián)系三部分組成。各實體之間的E—R圖如圖3-2所示。</p><p> 圖3-2 各實體之間的聯(lián)系E-R圖</p><p> 3.2.2 數(shù)據(jù)庫關(guān)系模型設(shè)計</p><p> 員工信息表(員工編號、姓名、性別、出生日期、職稱、學(xué)歷、部門編號、職務(wù)、員工
44、狀態(tài))其中員工編號為主鍵,部門編號為外鍵,參照部門表的部門編號字段。</p><p> 員工檔案表(檔案ID、員工編號、檔案編號、檔案名稱、檔案內(nèi)容、備注、建檔時間)其中檔案ID為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 員工履歷表(履歷編號、員工編號、工作部門、職務(wù)、工作內(nèi)容、績效、開始時間、結(jié)束時間)其中履歷編號為主鍵,員工編號為外鍵,參照員工信息表的
45、員工編號字段。</p><p> 員工合同表(合同ID、員工編號、合同編號、職務(wù)、合同內(nèi)容、開始時間、結(jié)束時間)其中合同ID為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 員工證書表(證書編號、員工編號、證書標(biāo)題、發(fā)證機構(gòu)、發(fā)證時間、成績)其中證書編號為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 獎懲信息表
46、(獎懲編號、員工編號、獎懲標(biāo)題、獎懲內(nèi)容、獎懲類型、獎懲時間)其中獎懲編號為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 員工調(diào)動信息表(調(diào)動編號、員工編號、調(diào)動時間、調(diào)動前部門、調(diào)動前職務(wù)、調(diào)動后部門、調(diào)動后職務(wù)、調(diào)動原因、調(diào)動類型)其中調(diào)動編號為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 員工離職信息表(離職編號、員工編號、離職
47、原因、離職類型、離職時間)其中離職編號為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 部門級別信息表(級別編號、級別名稱、級別狀態(tài))其中級別編號為主鍵。</p><p> 部門信息表(部門編號、部門名稱、上級部門編號、級別編號)其中部門編號為主鍵,級別編號為外鍵,參照部門級別信息表的級別編號字段。</p><p> 培訓(xùn)信息表(培訓(xùn)編
48、號、培訓(xùn)名稱、培訓(xùn)類別、員工編號、培訓(xùn)形式、培訓(xùn)科目、培訓(xùn)成績、開始時間、結(jié)束時間)其中培訓(xùn)編號為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 角色信息表(角色編號、角色名稱、角色權(quán)限1、角色權(quán)限2、角色權(quán)限3、角色權(quán)限4)其中角色編號為主鍵。</p><p> 用戶信息表(用戶編號、角色編號、用戶名稱、用戶密碼、用戶狀態(tài))其中用戶編號為主鍵,角色編號為外鍵,
49、參照角色信息表的角色編號字段。</p><p> 3.2.3 數(shù)據(jù)庫表設(shè)計</p><p> 根據(jù)數(shù)據(jù)庫的關(guān)系模型設(shè)計,進而得到數(shù)據(jù)庫表的設(shè)計,如圖3-3所示。</p><p> 圖3-3數(shù)據(jù)庫表的設(shè)計</p><p> 3.3 模塊的圖例設(shè)計</p><p> 本系統(tǒng)主要由人員檔案、人事調(diào)配、教育培訓(xùn)、系統(tǒng)
50、管理等四個模塊組成,由于每個模塊的操作流程基本相同,所以在此僅以系統(tǒng)管理模塊為例,畫出模塊的操作流程圖,如圖3-4所示。</p><p> 圖3-4系統(tǒng)管理模塊操作流程圖</p><p><b> 3.4 開發(fā)框架</b></p><p> 3.4.1 Struts 框架簡介</p><p> 隨著Web開發(fā)技術(shù)
51、的日益成熟,在Web開發(fā)領(lǐng)域中出現(xiàn)了許多設(shè)計好的軟件開發(fā)框架,Struts就是一種基于MVC經(jīng)典設(shè)計模式的框架,也是當(dāng)前Web開發(fā)中比較成熟的一種框架。</p><p> MVC(Model-View-Controller)模式,即模型-視圖-控制器模式,其核心思想是將整個程序代碼分成相對獨立而又能協(xié)同工作的3個組成部分。</p><p> 模型(Model):業(yè)務(wù)邏輯層。實現(xiàn)具體的業(yè)
52、務(wù)邏輯,狀態(tài)管理的功能。</p><p> 視圖(View):表示層。即與用戶實現(xiàn)交互的界面,通常實現(xiàn)數(shù)據(jù)輸入和輸出功能。</p><p> 控制器(Controller):控制層。起到控制整個業(yè)務(wù)流程(Flow Control)的作用,實現(xiàn)View和Model部分的協(xié)同工作。</p><p> 3.4.2 Hibernate框架簡介</p>&
53、lt;p> 在傳統(tǒng)的數(shù)據(jù)庫編程中,開發(fā)人員要面對大量重復(fù)行代碼的編寫,以實現(xiàn)對不同數(shù)據(jù)表中的數(shù)據(jù)的獲取,并將獲取到的記錄數(shù)據(jù)封裝成對象,在處理完成之后如果需要進行對象狀態(tài)的存取,需要將對象中的數(shù)據(jù)拆卸成數(shù)據(jù)庫記錄中的對應(yīng)字段的值,然后向數(shù)據(jù)庫中進行存取。</p><p> 這種工作方式顯然沒有實現(xiàn)真正意義上的數(shù)據(jù)存取階段的面向?qū)ο?。雖然數(shù)據(jù)存取過程中的工作步驟是基本固定的,但是由于操作的數(shù)據(jù)表中字段列表
54、數(shù)據(jù)的不同,使得開發(fā)人員必須要不厭其煩地書寫與相應(yīng)的實體類對應(yīng)的封裝處理過程。而在Hibernate中,類似這種重復(fù)性高,工作量大,但又必須保證高質(zhì)量完成的體力活,全部由Hibernate接管過去。這對廣大的Java開發(fā)人員無疑是個非常好的消息。 Hibernate本質(zhì)上是一個面向Java開發(fā)環(huán)境的對象/關(guān)系數(shù)據(jù)庫映射工具。借助Hibernate對象/關(guān)系數(shù)據(jù)庫映射技術(shù),可以非常輕松地將以面向?qū)ο笏枷敕庋b的對像的各個狀態(tài)數(shù)據(jù)映射到基于S
55、QL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去。</p><p> Hibernate:當(dāng)前最流行的O/RMapping 框架,出身于SourceForge.net社區(qū)。Hibernate框架對數(shù)據(jù)庫表提供了有力的封裝。以O(shè)/RMapping實現(xiàn)了POJO和數(shù)據(jù)庫表之間的映射,并在框架中由Hibernate完成SQL語句的運行。一般來說,只需要定義好POJO到數(shù)據(jù)庫表的映射關(guān)系,既可通過Hibernate提供的方法完成,持久層的操
56、作。</p><p> Hibernate框架是當(dāng)前最炙手可熱的持久層框架,它為JAVA應(yīng)用提供了一個高效的O/R Mapping 框架。應(yīng)用通過PO作為Hibernate框架的橋梁,而PO會根據(jù)Hibernate的配置文件找到映射文件,并通過映射文件與數(shù)據(jù)庫中的表結(jié)構(gòu)進行運行時的映射。Hibernate的配置文件可以是properties文件配置Hibernate,無法直接在文件中描述映射文件的位置,而需要在
57、編寫代碼。使用XML配置文件則可以直接配置映射文件位置。</p><p><b> 4、系統(tǒng)實現(xiàn)</b></p><p> 本章主要介紹了人力資源管理系統(tǒng)的具體設(shè)計與實現(xiàn),而在實現(xiàn)過程中,所有頁面的信息驗證均通過javascript來實現(xiàn)的。</p><p> 4.1 系統(tǒng)主要界面的設(shè)計與實現(xiàn)</p><p>
58、4.1.1 用戶登陸界面的設(shè)計實現(xiàn)</p><p> 用戶登錄模塊是用戶進入主頁面的入口,其運行結(jié)果如圖4-1所示。</p><p> 圖4-1 用戶登錄界面設(shè)計</p><p> 系統(tǒng)登陸是人力資源管理中最先使用的功能,因為用戶登陸在數(shù)據(jù)庫中使用的是系統(tǒng)用戶表,系統(tǒng)用戶表中有一個rig_id字段,是來標(biāo)識用戶角色的。在登陸時要根據(jù)數(shù)據(jù)庫的這個字段對應(yīng)的ID
59、號去搜索用戶角色表,進而判斷用戶具有那些權(quán)限,然后根據(jù)用戶的相應(yīng)權(quán)限進入對應(yīng)模塊的主頁面。在網(wǎng)頁里添寫用戶名和密碼后點擊【登陸】按鈕,網(wǎng)頁會訪問一個URL,這個URL是“l(fā)oginAction.do?method=login”。</p><p> Struts的Action實現(xiàn)類的execute()方法是最先被執(zhí)行的,這個方法本身也沒有具體的事務(wù),而是根據(jù)action的參數(shù)不同執(zhí)行相應(yīng)的方法。在登陸頁里面可以找
60、到有一個“method=login”的字樣,它的目的就是在這里做邏輯判斷。當(dāng)method=login時調(diào)用logon()方法。logon()方法從loginfrm中得到用戶提交的數(shù)據(jù),然后在調(diào)用UsermgrDAO()的findByUsername()方法返回一個List對象,如果List對象等于NULL,則返回登陸頁面并給出提示信息“用戶名錯誤,輕重新輸入”;如果List對象不等于NULL,則判斷用戶密碼是否正確,不正確則返回登陸頁面
61、并給出提示信息“密碼錯誤,輕重新輸入”;如果密碼正確就要進行用戶權(quán)限判斷,如果用戶有相應(yīng)的權(quán)限就調(diào)轉(zhuǎn)到相應(yīng)的功能頁面,否則返回登陸頁面并給出提示信息“用戶尚未分配權(quán)限,不能使用該系統(tǒng)!”。</p><p> 4.1.2 密碼修改功能的設(shè)計與實現(xiàn)</p><p> 用戶點擊修改密碼連接后進入修改密碼頁面,然后輸入舊密碼,再輸入新密碼,點擊“修改”按鈕就可以修改用戶密碼。如圖4-2所示。
62、</p><p> 圖4-2 修改密碼界面設(shè)計</p><p> 密碼修改功能說明:當(dāng)點擊“修改”按鈕時,系統(tǒng)獲得用戶輸入的原密碼并判斷原密碼是否正確,如果不正確則給出提示信息“原密碼不正確,請重新輸入!”。如果原密碼正確則獲取新密碼和確認密碼,然后通過正則表達式“/[^a-zA-Z0-9]/”判斷密碼是否含有非法字符,即密碼只能由字母和數(shù)字組成。如果密碼中沒有非法字符,判斷密碼程度
63、是否符合要求,不符合要求則給出提示信息,符合要求則判斷新密碼和確認密碼是否一致,如果不一致給出提示信息“兩次輸入的新密碼不一致!”。如果新密碼符合要求,判斷新密碼和原密碼是否相同,如果相同給出提示信息“你輸入的新密碼和原密碼相同,請輸入不同的新密碼!”。如果密碼符合要求,彈出對話框“確定要修改密碼嗎?”,點擊“確定”按鈕修改密碼,點擊“取消”則不修改密碼。</p><p> 4.1.3 站點地圖界面的設(shè)計與實
64、現(xiàn)</p><p> 站點地圖界面主要給出了系統(tǒng)每個模塊主要的功能介紹,如圖4-3所示。</p><p> 圖4-3 站點地圖界面設(shè)計</p><p> 4.2 系統(tǒng)功能模塊的設(shè)計與實現(xiàn)</p><p> 4.2.1 人員檔案模塊的設(shè)計與實現(xiàn)</p><p> 人員檔案模塊主要包括:基本信息管理、員工檔案管
65、理、員工履歷管理、員工合同管理和獎懲信息管理等功能。本模塊僅以基本信息管理為例進行說明。</p><p> 基本信息管理主要包括:添加員工信息、修改員工信息、刪除員工信息、員工信息預(yù)覽和員工信息查詢等功能。</p><p> 添加員工信息功能的設(shè)計與實現(xiàn)如圖4-4所示。</p><p> 圖4-4 添加員工信息界面設(shè)計</p><p>
66、; 修改員工信息功能的設(shè)計與實現(xiàn)如圖4-5所示。</p><p> 圖4-5 修改員工信息界面設(shè)計</p><p> 員工信息預(yù)覽功能的設(shè)計與實現(xiàn)如圖4-6所示。</p><p> 圖4-6 員工信息預(yù)覽界面設(shè)計</p><p> 員工信息查詢功能的設(shè)計與實現(xiàn)如圖4-7所示。</p><p> 圖4-7
67、 員工信息查詢界面設(shè)計</p><p> 員工信息查詢說明:信息查詢主要分為按姓名查詢、按性別查詢、按年齡查詢、按學(xué)歷查詢、按職稱查詢、按員工狀態(tài)查詢等。當(dāng)用戶選擇好查詢類別后,相應(yīng)的查詢條件會在其右邊出現(xiàn),用戶只要選擇具體的查詢條件后,點擊“查詢”按鈕即可完成查詢。如果沒有選擇查詢類別或者沒有選擇查詢條件時點擊“查詢”按鈕,系統(tǒng)會給出相應(yīng)的提示信息,并返回查詢頁面。</p><p>
68、 4.2.2 人事調(diào)配模塊的設(shè)計與實現(xiàn)</p><p> 人事調(diào)配模塊主要包括:人員調(diào)動管理、新近員工登記、離退人員管理等功能。本模塊僅以人員調(diào)動情況查詢和退休員工預(yù)測為例進行說明。</p><p> 人員調(diào)動情況查詢功能的設(shè)計與實現(xiàn)如圖4-8所示。</p><p> 圖4-8 人員調(diào)動情況查詢界面設(shè)計</p><p> 人員調(diào)動情
69、況查詢功能說明:調(diào)動情況查詢主要包括:按員工編號查詢、按調(diào)動類型查詢、按調(diào)動時間查詢等。當(dāng)用戶選擇好查詢類別后,相應(yīng)的查詢條件會在其右邊出現(xiàn),用戶只要選擇具體的查詢條件后,點擊“查詢”按鈕即可完成查詢。如果沒有選擇查詢類別或者沒有選擇查詢條件時點擊“查詢”按鈕,系統(tǒng)會給出相應(yīng)的提示信息,并返回查詢頁面。如:按調(diào)動時間查詢時,如果你選擇的開始世界大于結(jié)束時間則系統(tǒng)會給出提示信息“查詢結(jié)束時間不能小于開始時間”,然后返回查詢頁面。</
70、p><p> 退休員工預(yù)測功能的設(shè)計與實現(xiàn)如圖4-9所示所示。</p><p> 圖4-9 退休人員預(yù)測、離職、退休界面設(shè)計</p><p> 退休員工預(yù)測功能說明:退休員工預(yù)測主要是根據(jù)系統(tǒng)設(shè)定的員工退休年齡進行預(yù)測的,也就是把小于員工退休年齡兩歲的員工信息顯示出來,員工退休年齡設(shè)定是通過“系統(tǒng)管理->系統(tǒng)參數(shù)設(shè)定->員工退休年齡設(shè)定”來完成。<
71、;/p><p> 4.2.3教育培訓(xùn)模塊的設(shè)計與實現(xiàn)</p><p> 教育培訓(xùn)模塊主要包括:培訓(xùn)類別管理、培訓(xùn)記錄管理、培訓(xùn)成績管理和證書管理等功能。本模塊僅以錄入培訓(xùn)成績和查詢培訓(xùn)成績功能的設(shè)計與實現(xiàn)為例進行說明。</p><p> 錄入培訓(xùn)成績功能的設(shè)計與實現(xiàn)如圖4-10所示所示。</p><p> 圖4-10 錄入培訓(xùn)成績界面設(shè)計
72、</p><p> 錄入培訓(xùn)成績說明:頁面加載時首先判斷是否有培訓(xùn)科目。如果暫時沒有培訓(xùn)科目則課程名稱框中顯示信息為“暫時沒有培訓(xùn)科目”,并且培訓(xùn)編號、培訓(xùn)名稱、培訓(xùn)成績框均為不可使用狀態(tài)。只有存在培訓(xùn)課程時,培訓(xùn)編號、培訓(xùn)名稱、培訓(xùn)成績框才變?yōu)榭墒褂脿顟B(tài),培訓(xùn)名稱框為不可編輯框,當(dāng)選擇培訓(xùn)編號后,與培訓(xùn)編號對應(yīng)的培訓(xùn)名稱會自動填充培訓(xùn)名稱框。選擇培訓(xùn)成績后點擊“提交”按鈕,即可完成培訓(xùn)成績錄入操作。</
73、p><p> 查詢培訓(xùn)成績功能的設(shè)計與實現(xiàn)如圖4-11所示所示。</p><p> 圖4-11 查詢培訓(xùn)成績界面設(shè)計</p><p> 4.2.4系統(tǒng)管理模塊的設(shè)計與實現(xiàn)</p><p> 系統(tǒng)管理模塊主要包括:機構(gòu)級別管理、機構(gòu)信息管理、用戶管理、用戶角色管理(即權(quán)限設(shè)置)、系統(tǒng)參數(shù)設(shè)定等功能。本模塊僅以合并部門、生成機構(gòu)結(jié)構(gòu)圖、修改用
74、戶角色、添加角色等功能的設(shè)計與實現(xiàn)為例進行說明。</p><p> 合并部門功能的設(shè)計與實現(xiàn)如圖4-12所示。</p><p> 圖4-12 合并部門界面設(shè)計</p><p> 合并部門的設(shè)計思想:首先獲取新部門名稱,判斷新部門名稱(新部門名稱可以是要合并部門的名稱)是否存在如果存在給出提示信息“新部門名稱xxx已經(jīng)存在!”,新部門名稱如果不存在,則確定新部門
75、的上級部門,如果要合并的部門1和部門2均沒有上級部門,則以設(shè)定的部門的上級部門為新部門的上級部門。如果部門1和部門2有一個部門沒有上級部門,找出沒有上級部門的部門,并以它上級部門作為新部門的上級部門,即新部門為最 高層部門。如果部門1和部門2均無上級部門,以設(shè)定的部門的上級部門為新部門的上級部門。確定好新部門的上級部門后,將新部門信息添加到數(shù)據(jù)庫中,然后把部門1和部門2中的所有員工信息更新到新部門中,把部門1和部門2的子 部門信息更新為
76、新部門的子部門。刪除部門1和部門2,即完成部門合并功能。</p><p> 合并部門的實現(xiàn)過程:填充表單數(shù)據(jù)(輸入新部門名稱->選擇新部門級別->選擇新部門的上級部門->選擇要合并的部門1和部門2)――>獲取表單數(shù)據(jù)――>確定新部門名稱――>確定新部門的級部門――>添加新門信息――>更新部門1和部門2員工信息――>更新部門1和部門2的子 部門信息――>
77、刪除部門1和部門2――>給出提示信息“部門xxx和部門xxx合并成功,合并后的新部門為信息學(xué)xxx” ――>點擊“確定”部門合并完成。</p><p> 生成機構(gòu)結(jié)構(gòu)圖功能的設(shè)計與實現(xiàn)如圖4-13所示。</p><p> 圖4-13 機構(gòu)結(jié)構(gòu)圖界面設(shè)計</p><p> 生成機構(gòu)結(jié)構(gòu)圖的實現(xiàn)過程:當(dāng)用戶點擊“生成機構(gòu)結(jié)構(gòu)圖”時,系統(tǒng)首先從數(shù)據(jù)庫中獲
78、得所有的部門信息,并返回所有部門信息的集合,然后調(diào)用遞歸算法creatTree()生成部門結(jié)構(gòu)圖如圖4.14所示。遞歸算法creatTree()代碼如下:</p><p> public void creatTree(long tid, List tree, JspWriter out, int cengflag) throws ServletException, IOException {</p&g
79、t;<p> if (tid == 0) {</p><p> for (int i = 0; i < tree.size(); i++) {</p><p> Dept dep = (Dept) tree.get(i);</p><p> if (dep.getSuperId() == tid) {</p><p&g
80、t; String title = "<B>";</p><p> String titleEnd = "</B>";</p><p> System.out.println("addtree('" + title + dep.getName() + titleEnd + "'
81、;);");</p><p> out.println("addtree('" + title + dep.getName() + titleEnd</p><p><b> + "');");</b></p><p> creatTree(dep.getDeptId(),
82、 tree, out, cengflag + 1); // 遞歸</p><p><b> }</b></p><p><b> }</b></p><p><b> } else {</b></p><p> String firstr = "";
83、</p><p> for (int j = 0; j < cengflag; j++)</p><p> firstr += "-";</p><p> for (int j = 0; j < tree.size(); j++) {</p><p> Dept dep = (Dept) tree.ge
84、t(j);</p><p> if (dep.getSuperId() == tid) {</p><p> System.out.println("addtree('" + firstr + dep.getName()</p><p><b> + "');");</b></
85、p><p> out.println("addtree('" + firstr + dep.getName() + "');");</p><p> creatTree(dep.getDeptId(), tree, out, cengflag + 1);</p><p><b> }</b&g
86、t;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 修改用戶角色功能的設(shè)計與實現(xiàn)如圖4-14所示。</p><p> 圖4-14 修改用戶角色界面設(shè)計<
87、/p><p> 修改用戶角色功能說明:當(dāng)用戶選擇好要修改角色的用戶并點擊“提交”按鈕時,便進入到修改用戶角色頁面如圖4.14所示。用戶名框處于不可編輯狀態(tài),用戶可以在用戶角色框中選擇想要修改成的角色,當(dāng)用戶選擇了相應(yīng)的角色后,所選角色對應(yīng)的權(quán)限就會顯示在用戶角色框的下面,而該角色所擁有的權(quán)限便處于選中狀態(tài)并以紅色顯示。選擇完角色后,點擊“修改”按鈕完成角色修改操作。</p><p> 添加
88、角色功能的設(shè)計與實現(xiàn)如圖4-15所示。</p><p> 圖4-15 添加角色信息界面設(shè)計</p><p> 添加角色功能說明:當(dāng)用戶點擊“增加角色”連接時,系統(tǒng)便會進入增加角色頁面如圖4.15所示。用戶輸入角色名稱,并為角色設(shè)定好相應(yīng)的權(quán)限后,點擊“提交”按鈕完成增加角色功能。角色對應(yīng)的權(quán)限說明如下:</p><p> 權(quán)限1:人員檔案模塊權(quán)限,即角色是否擁
89、有對人員檔案模塊的操作權(quán)限</p><p> 權(quán)限2:人事調(diào)配模塊權(quán)限,即角色是否擁有對人事調(diào)配模塊的操作權(quán)限</p><p> 權(quán)限3:教育培訓(xùn)模塊權(quán)限,即角色是否擁有對教育培訓(xùn)模塊的操作權(quán)限</p><p> 權(quán)限4:系統(tǒng)管理模塊權(quán)限,即角色是否擁有對系統(tǒng)管理模塊的操作權(quán)限</p><p> 4.3 關(guān)鍵技術(shù)與算法</p&g
90、t;<p> 4.3.1 中文亂碼處理技術(shù)</p><p> 由于瀏覽器中的參數(shù)傳遞是按字節(jié)傳送,因此英文和數(shù)字不會有任何的問題,而中文漢字則由兩個字節(jié)組成.為了解決這個問題,使用了下面的兩種方法:</p><p> <%request.setCharacterEncoding(“gb2312”);%></p><p> reque
91、st.getParameter("Password").getBytes("ISO-8849-1"),"GB2312");</p><p> 4.3.2 分頁顯示算法</p><p> package com.csst.humanresource.utils;</p><p> import java
92、.util.List;</p><p> public class Pager {</p><p> private List pageList;</p><p> private int nTotalSize;/** 記錄的總數(shù) */</p><p> private int nTotalPage; /** 總頁數(shù) */<
93、/p><p> private int nPageSize = 5; /** 頁面大小 */</p><p> private int nCurrentPage; /** 當(dāng)前頁 */</p><p> private int nStartRow; /** 當(dāng)前頁要顯示記錄的開始行數(shù) */</p><p> private int nEn
94、dRow; /** 當(dāng)前頁要顯示記錄的結(jié)束行數(shù) */</p><p> public Pager() {}</p><p> public Pager(int currentPage, List pageList) {</p><p> this.nCurrentPage = currentPage;</p><p> this.pa
95、geList = pageList;</p><p> setTotalSize();</p><p> setTotalPage();</p><p><b> }</b></p><p> public List getPageList() {</p><p> return pag
96、eList;</p><p><b> }</b></p><p> public void setPageList(List pageList) {</p><p> this.pageList = pageList;</p><p> setTotalSize();</p><p>
97、 if (nCurrentPage > nTotalPage) {</p><p> nCurrentPage = nTotalPage;</p><p><b> }</b></p><p><b> }</b></p><p> public int getTotalSize()
98、{/** 獲取總記錄數(shù) */</p><p> return nTotalSize;</p><p><b> }</b></p><p> public void setTotalSize() {/** 設(shè)置總記錄數(shù) */</p><p> if (pageList != null) {</p>
99、<p> nTotalSize = pageList.size();</p><p><b> } else {</b></p><p> nTotalSize = 0;</p><p><b> }</b></p><p> setTotalPage();</p>
100、<p><b> }</b></p><p> public int getTotalPage() {/** 獲取總頁數(shù) */</p><p> return nTotalPage;</p><p><b> }</b></p><p> public void setTo
101、talPage() {/** 獲取總頁數(shù) */</p><p> nTotalPage = getTotalSize() / nPageSize;</p><p> if (nTotalSize % nPageSize != 0)</p><p> nTotalPage++;</p><p><b> }</b>
102、</p><p> public int getPageSize() {/** 獲取頁面大小 */</p><p> return nPageSize;</p><p><b> }</b></p><p> public void setPageSize(int pageSize) {/** 設(shè)置頁面大小 */
103、</p><p> this.nPageSize = pageSize;</p><p> setTotalPage();</p><p><b> }</b></p><p> public int getCurrentPage() {/** 獲得當(dāng)前頁 */</p><p> ret
104、urn nCurrentPage;</p><p><b> }</b></p><p> public void setCurrentPage(int currentPage) {/** 設(shè)置當(dāng)前頁 */</p><p> nCurrentPage = currentPage;</p><p><b>
105、; }</b></p><p> public int getStartRow() {/** 獲得當(dāng)前頁要顯示記錄的開始行 */</p><p> nStartRow = (getCurrentPage() - 1) * nPageSize;</p><p> return nStartRow;</p><p><b
106、> }</b></p><p> public int getEndRow() {/** 獲得當(dāng)前頁要顯示記錄的結(jié)束行 */</p><p> nEndRow = getStartRow() + nPageSize;</p><p> if (nEndRow >= pageList.size())</p><p&g
107、t; nEndRow = pageList.size();</p><p> return nEndRow;</p><p><b> }</b></p><p> public boolean isFirstPage() {/** 是否為首頁 */</p><p> if (nCurrentPage ==
108、1)</p><p> return true;</p><p> return false;</p><p><b> }</b></p><p> public boolean isLastPage() {/** 是否為末頁 */</p><p> if (nCurrentPage
109、 == getTotalPage())</p><p> return true;</p><p> return false;</p><p><b> }</b></p><p><b> }</b></p><p> 4.3.3 字符串加密和解密算法</
110、p><p> public static String encrypt(String str){ //加密</p><p> char[] string = reverse(str.toCharArray());</p><p> for(int i = 0; i < string.length; i++){</p><p>
111、 string[i] = encryptTransform(string[i]);</p><p> string[i] = changeCase(string[i]);</p><p><b> }</b></p><p> return new String(string);</p><p><b
112、> }</b></p><p> public static String undoEncrypt(String str){//解密</p><p> char[] string = reverse(str.toCharArray());</p><p> for(int i = 0; i < string.length; i++)
113、{</p><p> string[i] = undoEncryptTransform(string[i]);</p><p> string[i] = changeCase(string[i]);</p><p><b> }</b></p><p> return new String(str
114、ing);</p><p><b> }</b></p><p> private static char[] reverse(char[] ch){ //字符串取反</p><p> int len = ch.length / 2;</p><p> for(int i = 0; i < len;
115、i++){</p><p> swap(ch, i, ch.length - i -1);</p><p><b> }</b></p><p> return ch;</p><p><b> }</b></p><p> private static ch
116、ar changeCase(char ch){//大小寫轉(zhuǎn)換</p><p> if(Character.isLowerCase(ch)){</p><p> ch = Character.toUpperCase(ch);</p><p><b> }else{</b></p><p> ch = Charac
117、ter.toLowerCase(ch);</p><p><b> }</b></p><p> return ch;</p><p><b> }</b></p><p> private static char encryptTransform(char ch){ //字母變換(取下一個
118、字母)</p><p> if((ch >= 'A' && ch < 'Z') || (ch >= 'a' && ch < 'z')){</p><p> ch = (char)(ch + 1);</p><p> }else if(ch
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于J2EE規(guī)范的人力資源管理系統(tǒng)實現(xiàn).pdf
- 基于J2EE的人力資源管理系統(tǒng)開發(fā)與設(shè)計.pdf
- 基于J2EE的人力資源管理系統(tǒng)的研究與開發(fā).pdf
- 基于J2EE的人力資源管理系統(tǒng)的研究與實現(xiàn).pdf
- 基于J2EE架構(gòu)的人力資源管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 人力資源管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——人力資源管理系統(tǒng)
- 畢業(yè)論文---人力資源管理系統(tǒng)
- 畢業(yè)論文---人力資源管理系統(tǒng)
- 人力資源管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---人力資源管理系統(tǒng)
- 畢業(yè)論文-人力資源管理系統(tǒng)
- 人力資源管理系統(tǒng)畢業(yè)論文
- 非人力資源經(jīng)理的人力資源管理(人力資源管理)
- 基于J2EE的人力資源管理系統(tǒng)的架構(gòu)分析與設(shè)計.pdf
- 基于J2EE框架的人力資源管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 海爾的人力資源管理(人力資源管理)
- 畢業(yè)設(shè)計----基于j2ee+struts+hibernate的人力資源管理系統(tǒng)
- 基于J2EE的人力資源管理信息系統(tǒng)設(shè)計與實現(xiàn).pdf
- 朗訊科技的人力資源管理(人力資源管理)
評論
0/150
提交評論