版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計)冊</p><p> 學院 信息技術(shù)學院 </p><p> 專業(yè) 計算機科學與技術(shù) </p><p> 班級 2008屆專接本1班 </p><p> 論文(設(shè)計)題目: 基于J2EE的
2、人力資源管理系統(tǒng) </p><p> 論文(設(shè)計)研究目標及主要任務(wù)</p><p> 設(shè)計一個小型的人力資源管理系統(tǒng),系統(tǒng)主要包括:人員檔案、人事調(diào)配、教育培訓、系統(tǒng)管理等四個模塊。</p><p> 論文(設(shè)計)的主要內(nèi)容</p><p> 在設(shè)計該系統(tǒng)是,首先應(yīng)該區(qū)別用戶的權(quán)限。一般情況用戶可以擁有人員檔
3、案、人事調(diào)配、教育培訓、系統(tǒng)管理等四個模塊中的一個或多個模塊的權(quán)限,只有這樣用戶登陸系統(tǒng)后,才可以根據(jù)自己的權(quán)限進行不同的操作。每個模塊可以執(zhí)行的操作各不相同,各模塊可執(zhí)行的操作描述如下:</p><p> 人員檔案:可以添加、刪除、修改和查詢員工信息;可以添加、刪除、修改員工檔案信息;可以添加、刪除、修改和查詢員工信息;可以添加、刪除、修改和查詢員工履歷;可以添加、刪除、修改和查詢員工合同信息及合同到期天數(shù)預
4、測;可以添加、刪除、修改和查詢員工獎懲信息等。</p><p> 人事調(diào)配:對員工的調(diào)動信息進行添加、刪除、修改和查詢操作;新近員工、離退員工及退休員工預測和查詢等。</p><p> 教育培訓:維護培訓類別信息,對類別進行增、刪、改操作;對培訓記錄、培訓成績和培訓證書進行維護操作等。</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> ?。?]CayS Horstmann,GaryCornell.CoreJava 2.北京:機械工業(yè)出版社。</p><p> [2]BruceEckel. Thinking in Java.北京:機械工業(yè)出版社。</p><p>
8、; [3]夏昕,曹曉鋼,唐勇.深入淺出Hibernate.北京:電子工業(yè)出版社。</p><p> ?。?]孫衛(wèi)琴.精通Hibernate:Java對象持久化技術(shù)詳解.北京:電子工業(yè)出版社。</p><p> ?。?]Bryan Basham.Hibernate技術(shù)手冊.北京:電子工業(yè)出版社。</p><p> ?。?]孫衛(wèi)琴.精通struts--基于MVC的ja
9、va web設(shè)計與開發(fā).北京:電子工業(yè)出版社。</p><p> ?。?]Kathy Sierra.SQL 21天自學通.北京:電子工業(yè)出版社。</p><p><b> 計劃進度</b></p><p> 指 導 教師: 年 月 日</p><p>
10、 教研室主任: 年 月 日</p><p> 本科生畢業(yè)論文(設(shè)計)開題報告書</p><p> 信息技術(shù) 學院 計算機科學與技術(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> 指導教師 xxx </p><p>
12、 所在學院 信息技術(shù)學院 </p><p> 專業(yè)(系) 計算機科學與技術(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> 隨著計算機的普及和計算機科學技術(shù)的飛速發(fā)展,人們開始越來越多地利用計算機解決實際問題。員工信息
18、管理是企業(yè)信息管理的重要部分,面對大量的人事信息,采用人力處理即浪費時間、又浪費人力和物力,并且數(shù)據(jù)的準確性低。然而通過應(yīng)用人力資源管理系統(tǒng)能夠集中對企業(yè)人事工作進行管理,不單單使得人力資源管理人員擺脫繁重的日常工作,更為重要的是能夠根據(jù)員工個人能力對其崗位進行調(diào)動,充分發(fā)揮員工自身的能力,為企業(yè)的帶來更大的經(jīng)濟利益??旖荨蚀_、方便、高效的人力資源管理系統(tǒng)是企事業(yè)單位的基本需求之一,因此,開發(fā)一個界面友好,易于操作的人力資源管理軟件進
19、行自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。</p><p> 本文所闡述的人力資源管理系統(tǒng),以瀏覽器/服務(wù)器(B/S)模式高效地實現(xiàn)了人力資源管理系統(tǒng)的各項功能,可進行多條件查詢、更新、密碼設(shè)置、員工信息、檔案、合同、履歷的管理、人員調(diào)動管理、培訓管理、系統(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ā)展的主動力。通過人力資源的有效管理,掌握最新的、準確的企業(yè)人力資源信息,并對其進行復雜的統(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ā)展的主動力。通過人力資源的有效管理,掌握最新的、準
24、確的企業(yè)人力資源信息,并對其進行復雜的統(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> 當人類正在向知識經(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è)的核心竟爭力。</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公司倡導,
31、多別的公司參與一起創(chuàng)建的一種新動態(tài)網(wǎng)頁技術(shù)標準。在傳統(tǒng)的網(wǎng)頁中加入Java程序片斷和JSP標簽,構(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ǔ)上由抽象到具體的過程。主要目標是將系統(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)配、教育培訓和系統(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)動、人才培訓和系統(tǒng)管理等一系列手段來提高勞動生產(chǎn)率,最終達到發(fā)展目標的一種管理行為。具體實現(xiàn)目標如下:</p><p> 實現(xiàn)對員工信息進行全面管理的功能。</p><p> 實現(xiàn)對員工調(diào)動信息進行全面管理的功能。</p><p> 實現(xià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)員工合同到期預測功能。</p><p> 人事調(diào)配模塊:主要包括對人員調(diào)動情況的記錄和查詢、新近員工登記、離退員工、退休人員預測、退休人員信息查詢等功能。</p><p> 教育培訓模塊:主要包括培訓類別、培訓記錄、培訓科目、培訓成績、培訓證
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> 員工信息表(員工編號、姓名、性別、出生日期、職稱、學歷、部門編號、職務(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> 員工證書表(證書編號、員工編號、證書標題、發(fā)證機構(gòu)、發(fā)證時間、成績)其中證書編號為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</p><p> 獎懲信息表
46、(獎懲編號、員工編號、獎懲標題、獎懲內(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> 培訓信息表(培訓編
48、號、培訓名稱、培訓類別、員工編號、培訓形式、培訓科目、培訓成績、開始時間、結(jié)束時間)其中培訓編號為主鍵,員工編號為外鍵,參照員工信息表的員工編號字段。</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)配、教育培訓、系統(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è)計模式的框架,也是當前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ā)人員要面對大量重復行代碼的編寫,以實現(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ū)ο蟆km然數(shù)據(jù)存取過程中的工作步驟是基本固定的,但是由于操作的數(shù)據(jù)表中字段列表
54、數(shù)據(jù)的不同,使得開發(fā)人員必須要不厭其煩地書寫與相應(yīng)的實體類對應(yīng)的封裝處理過程。而在Hibernate中,類似這種重復性高,工作量大,但又必須保證高質(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:當前最流行的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框架是當前最炙手可熱的持久層框架,它為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字段,是來標識用戶角色的。在登陸時要根據(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”的字樣,它的目的就是在這里做邏輯判斷。當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> 密碼修改功能說明:當點擊“修改”按鈕時,系統(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> 基本信息管理主要包括:添加員工信息、修改員工信息、刪除員工信息、員工信息預覽和員工信息查詢等功能。</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> 員工信息預覽功能的設(shè)計與實現(xiàn)如圖4-6所示。</p><p> 圖4-6 員工信息預覽界面設(shè)計</p><p> 員工信息查詢功能的設(shè)計與實現(xiàn)如圖4-7所示。</p><p> 圖4-7
67、 員工信息查詢界面設(shè)計</p><p> 員工信息查詢說明:信息查詢主要分為按姓名查詢、按性別查詢、按年齡查詢、按學歷查詢、按職稱查詢、按員工狀態(tài)查詢等。當用戶選擇好查詢類別后,相應(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)動情況查詢和退休員工預測為例進行說明。</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)動時間查詢等。當用戶選擇好查詢類別后,相應(yīng)的查詢條件會在其右邊出現(xiàn),用戶只要選擇具體的查詢條件后,點擊“查詢”按鈕即可完成查詢。如果沒有選擇查詢類別或者沒有選擇查詢條件時點擊“查詢”按鈕,系統(tǒng)會給出相應(yīng)的提示信息,并返回查詢頁面。如:按調(diào)動時間查詢時,如果你選擇的開始世界大于結(jié)束時間則系統(tǒng)會給出提示信息“查詢結(jié)束時間不能小于開始時間”,然后返回查詢頁面。</
70、p><p> 退休員工預測功能的設(shè)計與實現(xiàn)如圖4-9所示所示。</p><p> 圖4-9 退休人員預測、離職、退休界面設(shè)計</p><p> 退休員工預測功能說明:退休員工預測主要是根據(jù)系統(tǒng)設(shè)定的員工退休年齡進行預測的,也就是把小于員工退休年齡兩歲的員工信息顯示出來,員工退休年齡設(shè)定是通過“系統(tǒng)管理->系統(tǒng)參數(shù)設(shè)定->員工退休年齡設(shè)定”來完成。<
71、;/p><p> 4.2.3教育培訓模塊的設(shè)計與實現(xiàn)</p><p> 教育培訓模塊主要包括:培訓類別管理、培訓記錄管理、培訓成績管理和證書管理等功能。本模塊僅以錄入培訓成績和查詢培訓成績功能的設(shè)計與實現(xiàn)為例進行說明。</p><p> 錄入培訓成績功能的設(shè)計與實現(xiàn)如圖4-10所示所示。</p><p> 圖4-10 錄入培訓成績界面設(shè)計
72、</p><p> 錄入培訓成績說明:頁面加載時首先判斷是否有培訓科目。如果暫時沒有培訓科目則課程名稱框中顯示信息為“暫時沒有培訓科目”,并且培訓編號、培訓名稱、培訓成績框均為不可使用狀態(tài)。只有存在培訓課程時,培訓編號、培訓名稱、培訓成績框才變?yōu)榭墒褂脿顟B(tài),培訓名稱框為不可編輯框,當選擇培訓編號后,與培訓編號對應(yīng)的培訓名稱會自動填充培訓名稱框。選擇培訓成績后點擊“提交”按鈕,即可完成培訓成績錄入操作。</
73、p><p> 查詢培訓成績功能的設(shè)計與實現(xiàn)如圖4-11所示所示。</p><p> 圖4-11 查詢培訓成績界面設(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合并成功,合并后的新部門為信息學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)過程:當用戶點擊“生成機構(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> 修改用戶角色功能說明:當用戶選擇好要修改角色的用戶并點擊“提交”按鈕時,便進入到修改用戶角色頁面如圖4.14所示。用戶名框處于不可編輯狀態(tài),用戶可以在用戶角色框中選擇想要修改成的角色,當用戶選擇了相應(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> 添加角色功能說明:當用戶點擊“增加角色”連接時,系統(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:教育培訓模塊權(quá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; /** 當前頁 */</p><p> private int nStartRow; /** 當前頁要顯示記錄的開始行數(shù) */</p><p> private int nEn
94、dRow; /** 當前頁要顯示記錄的結(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() {/** 獲得當前頁 */</p><p> ret
104、urn nCurrentPage;</p><p><b> }</b></p><p> public void setCurrentPage(int currentPage) {/** 設(shè)置當前頁 */</p><p> nCurrentPage = currentPage;</p><p><b>
105、; }</b></p><p> public int getStartRow() {/** 獲得當前頁要顯示記錄的開始行 */</p><p> nStartRow = (getCurrentPage() - 1) * nPageSize;</p><p> return nStartRow;</p><p><b
106、> }</b></p><p> public int getEndRow() {/** 獲得當前頁要顯示記錄的結(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于J2EE規(guī)范的人力資源管理系統(tǒng)實現(xiàn).pdf
- 基于J2EE的人力資源管理系統(tǒng)的研究與開發(fā).pdf
- 基于J2EE的人力資源管理系統(tǒng)的研究與實現(xiàn).pdf
- 基于J2EE的人力資源管理系統(tǒng)開發(fā)與設(shè)計.pdf
- 畢業(yè)論文---人力資源管理系統(tǒng)
- 畢業(yè)論文---人力資源管理系統(tǒng)
- 人力資源管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---人力資源管理系統(tǒng)
- 人力資源管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——人力資源管理系統(tǒng)
- 非人力資源經(jīng)理的人力資源管理(人力資源管理)
- 畢業(yè)論文-人力資源管理系統(tǒng)
- 人力資源管理系統(tǒng)畢業(yè)論文
- 基于J2EE架構(gòu)的人力資源管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 海爾的人力資源管理(人力資源管理)
- 基于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
提交評論