基于jsp技術(shù)的獵頭公司管理軟件的設(shè)計(jì)和實(shí)現(xiàn) ——內(nèi)部事務(wù)部分_第1頁(yè)
已閱讀1頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  成都信息工程學(xué)院</b></p><p><b>  學(xué)位論文</b></p><p>  基于JSP技術(shù)的獵頭公司管理軟件的設(shè)計(jì)和實(shí)現(xiàn)</p><p><b>  ——內(nèi)部事務(wù)部分</b></p><p>  基于JSP技術(shù)的獵頭公司管理軟件的

2、設(shè)計(jì)和實(shí)現(xiàn)</p><p><b>  ——內(nèi)部事務(wù)部分</b></p><p><b>  摘 要</b></p><p>  隨著信息科學(xué)技術(shù)的飛速發(fā)展,人們逐漸意識(shí)到對(duì)信息管理軟件的運(yùn)用可以使日常工作更加方便、快捷和高效。論文詳細(xì)論述了獵頭公司管理軟件內(nèi)部事務(wù)部分的開發(fā)設(shè)計(jì)過程。軟件采用JSP開發(fā)技術(shù),Tomcat

3、作容器, SQL Server 2000作數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)了公共模塊、用戶登錄模塊、系統(tǒng)主頁(yè)模塊、公司新聞模塊、公司通知模塊、用戶資料管理模塊、查詢模塊、員工管理模塊、工資管理模塊。軟件符合獵頭公司內(nèi)部管理的需求,能夠幫助公司切實(shí)提高工作效率。軟件的開發(fā)符合一般管理軟件的開發(fā)流程,對(duì)開發(fā)其他類似的管理軟件具有相當(dāng)?shù)膮⒖純r(jià)值。</p><p>  論文組織如下:首先闡述了該系統(tǒng)的開發(fā)背景、意義;其次介紹了相關(guān)的

4、理論基礎(chǔ);接著對(duì)系統(tǒng)的需求進(jìn)行了分析,并提出了具體的設(shè)計(jì)方案;然后展現(xiàn)了系統(tǒng)各功能模塊的實(shí)現(xiàn);最后對(duì)該軟件進(jìn)行了嚴(yán)格的測(cè)試。</p><p>  關(guān)鍵詞:管理軟件;JSP;Tomcat;SQL server 2000</p><p>  The Design and Implementation of Headhunter Company Management Software based

5、 on JSP</p><p>  ——the Part of the Internal Management</p><p><b>  Abstract</b></p><p>  Along with the rapid development of the information science technology, people g

6、radually realize that the utilization of information management software could make the routine more convenient, quickly and efficient. The paper discusses in detail the development and design process of the internal man

7、agement of headhunter company management software. It uses JSP as the development technology, Tomcat as the container, SQL Server 2000 as the database management system, and includes common modules, u</p><p>

8、;  The paper is organized as following: Firstly, analyzes the background and significance; Secondly, introduces the foundation of correlative theories; Thirdly, analyses the demand of the system, gives a specific design

9、project; Then shows the implementation of every module. Finally gives a test of the system.</p><p>  Key words: Management software; JSP; Tomcat; SQL server 2000</p><p><b>  目 錄</b>

10、</p><p><b>  論文總頁(yè)數(shù):25頁(yè)</b></p><p><b>  1 引言1</b></p><p><b>  1.1背景1</b></p><p><b>  1.2選題意義1</b></p><p>

11、<b>  2 理論基礎(chǔ)1</b></p><p>  3 需求分析及設(shè)計(jì)方案2</p><p>  3.1 需求分析2</p><p>  3.2 設(shè)計(jì)方案3</p><p>  3.2.1 模塊的劃分3</p><p>  3.2.2 詳細(xì)設(shè)計(jì)3</p><p&

12、gt;  4 具體流程及實(shí)現(xiàn)5</p><p>  4.1 具體流程5</p><p>  4.1.1 登錄5</p><p><b>  4.1.2主頁(yè)5</b></p><p>  4.1.3 各功能模塊頁(yè)面6</p><p><b>  4.2 實(shí)現(xiàn)7</b>

13、;</p><p>  4.2.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)7</p><p>  4.2.2 界面的設(shè)計(jì)12</p><p><b>  5 測(cè)試21</b></p><p>  5.1 測(cè)試環(huán)境21</p><p>  5.1.1 硬件環(huán)境21</p><p>  5.1

14、.2 軟件環(huán)境21</p><p>  5.2 主要模塊測(cè)試21</p><p><b>  結(jié) 論22</b></p><p><b>  參考文獻(xiàn)23</b></p><p><b>  致 謝24</b></p><p>&l

15、t;b>  聲 明25</b></p><p><b>  1 引言</b></p><p><b>  1.1背景</b></p><p>  獵頭公司在外國(guó)已有幾十年的歷史,而中國(guó)出現(xiàn)獵頭行業(yè)不過十來(lái)年的事。早期主要是為外企在中國(guó)的機(jī)構(gòu)尋找本土人才。近年來(lái),許多國(guó)企,特別是一些上市的股份公司、

16、民營(yíng)高科技企業(yè)也躋身于獵頭公司客戶的行列。</p><p>  改革開放后,企業(yè)走向市場(chǎng),人才走向市場(chǎng),當(dāng)企業(yè)向市場(chǎng)要效率的時(shí)候,對(duì)人才的需求日益迫切,這時(shí),作為搜尋人才的有效方式,獵頭公司就很自然地?fù)尀┲袊?guó)大地。</p><p>  國(guó)內(nèi)最早的獵頭公司是1992年成立的。到1995年北京就審批了3家以獵頭為主的有獨(dú)立法人資格的國(guó)內(nèi)獵頭公司和兩家兼做獵頭的報(bào)道越來(lái)越多;公司里,白領(lǐng)以接到獵

17、頭電話為榮;越來(lái)越多的中介公司涉足獵頭業(yè)務(wù)。 從全國(guó)來(lái)看,以北京、上海、廣州、深圳為核心的獵頭公司為以百計(jì),并成倍遞增,而國(guó)外的獵頭公司也開始大量地進(jìn)駐中國(guó),幾乎國(guó)際著名的獵頭公司都在國(guó)內(nèi)設(shè)立了辦事處。</p><p>  獵頭市場(chǎng)在中國(guó)真的啟動(dòng)起來(lái)了。據(jù)不完全統(tǒng)計(jì),中國(guó)現(xiàn)在大大小小的獵頭公司上千家,主要集中在北京、上海、深圳、廣州、天津、南京等大城市。</p><p><b>

18、  1.2選題意義</b></p><p>  在背景里已經(jīng)獵頭行業(yè)的現(xiàn)狀,在這種大環(huán)境下,獵頭公司對(duì)各種員工內(nèi)部管理也變的十分重要了,怎么提高管理效率,實(shí)現(xiàn)員工的工作智能化,成為迫切需要解決的問題,而獵頭管理軟件正是為滿足獵頭公司的管理而出現(xiàn)的。</p><p>  雖然獵頭管理軟件這塊,中國(guó)遠(yuǎn)遠(yuǎn)比不上做了幾十年的歐美,但是歐美軟件的成本卻讓中國(guó)本土的獵頭公司望而卻步,這就對(duì)

19、國(guó)內(nèi)軟件行業(yè)提出了要求,誰(shuí)能占得先機(jī)就能擁有更多的市場(chǎng)競(jìng)爭(zhēng)力,誰(shuí)能針對(duì)獵頭行業(yè)開發(fā)出更適應(yīng)獵頭的軟件就擁有更多的技術(shù)競(jìng)爭(zhēng)里,所以,開發(fā)獵頭管理軟件不只能提高獵頭公司的管理和辦公的效率,更重要的是,中國(guó)本土開發(fā)的軟件,成本上就有競(jìng)爭(zhēng)力,對(duì)整個(gè)獵頭行業(yè)都有很大的貢獻(xiàn)。</p><p><b>  2 理論基礎(chǔ)</b></p><p>  在前面的引言里已經(jīng)說了獵頭行業(yè)的背

20、景,在這種大環(huán)境下,獵頭公司對(duì)各種員工內(nèi)部管理軟件的需求也變的迫切了,而在獵頭管理軟件這塊,中國(guó)遠(yuǎn)遠(yuǎn)比不上做了幾十年的歐美,但是歐美軟件的成本卻讓中國(guó)本土的獵頭公司望而卻步,這就對(duì)國(guó)內(nèi)軟件行業(yè)提出了需求,誰(shuí)能占的先機(jī)就能擁有更多的市場(chǎng)競(jìng)爭(zhēng)力,誰(shuí)能針對(duì)獵頭行業(yè)開發(fā)出更適應(yīng)獵頭的軟件就擁有更多的技術(shù)競(jìng)爭(zhēng)里,所以,搶先涉及獵頭領(lǐng)域是我們成功的前提,而怎樣開發(fā)好更好的軟件是我們成功的關(guān)鍵。</p><p>  目前國(guó)內(nèi)主

21、流的軟件開發(fā)基于兩種模式:客戶機(jī)/服務(wù)器(Client/Server,簡(jiǎn)稱C/S)模式和Web瀏覽器/服務(wù)器(Browser/Server,簡(jiǎn)稱B/S)模式。雖然出于安全性等方面的因素,C/S結(jié)構(gòu)的管理信息系統(tǒng)仍然占據(jù)企業(yè)管理信息系統(tǒng)的主流,但是,由于B/S系統(tǒng)更適合維護(hù),而且起安全性正在不斷完善,所以當(dāng)前企業(yè)信息管理系統(tǒng)正在從C/S結(jié)構(gòu)向B/S結(jié)構(gòu)轉(zhuǎn)移。而現(xiàn)在開發(fā)B/S系統(tǒng)的主流技術(shù)就是ASP.net和JSP,雖然ASP.net為新興

22、技術(shù)正不斷搶占JSP的市場(chǎng),但出于系統(tǒng)的移植性的考慮,本系統(tǒng)還是運(yùn)用JSP技術(shù)開發(fā),因?yàn)镴AVA的跨平臺(tái)性能給我們帶來(lái)更多的用戶。</p><p>  服務(wù)器上我們選擇Tomcat,是因?yàn)樗∏蓞s功能強(qiáng)大,更重要的是,它是開源的,如今,開源軟件越來(lái)越受到人們的重視,Linux就是一個(gè)成功的典型,雖然這對(duì)我們的開發(fā)沒有實(shí)際的用處,但是顧客會(huì)優(yōu)先選擇用流行工具開發(fā)的軟件,這也是我們選擇Tomcat的原因。</p

23、><p>  現(xiàn)在主流的數(shù)據(jù)庫(kù)就三種:Access, Oracle和SQL Server。Access短小精干,操作方便,是開發(fā)小型系統(tǒng)的首選;Oracle功能強(qiáng)大,適合開發(fā)大型系統(tǒng);但是我們選擇SQL Server,它兼?zhèn)銩ccess和Oracle優(yōu)點(diǎn),強(qiáng)大的可視化操作和不亞于Oracle的功能是我們選擇它的理由。</p><p>  3 需求分析及設(shè)計(jì)方案</p><p

24、><b>  3.1 需求分析</b></p><p>  根據(jù)客戶的需要,本軟件系統(tǒng)是獵頭公司內(nèi)部管理系統(tǒng),用戶僅限于公司內(nèi)部員工,需求功能主要是員工或者公司的管理層能通過軟件系統(tǒng),進(jìn)行一系列的操作,從而實(shí)現(xiàn)管理公司的目的,下面是具體的需求:</p><p> ?。?)既然軟件系統(tǒng)的用戶僅限于公司內(nèi)部的員工,所以就必須要有判斷是否內(nèi)部員工的功能。</p&

25、gt;<p> ?。?)員工應(yīng)該能從軟件系統(tǒng)上了解到公司內(nèi)部的新聞和通知,并且公司的管理層應(yīng)該有發(fā)布和修改的功能。</p><p>  (3)有一些突發(fā)事件隨時(shí)有可能發(fā)生,如地址和聯(lián)系方式的變化,這就要求員工能通過系統(tǒng)對(duì)自己的一些資料進(jìn)行修改。</p><p>  (4)員工不可能記的住公司每個(gè)人的地址、聯(lián)系方式等,所以要有通過查詢得知其他員工一些資料的功能。</p&g

26、t;<p> ?。?)公司隨時(shí)都可能根據(jù)發(fā)展計(jì)劃進(jìn)行新員工的加入和老員工的退出,這就要公司的管理層能通過軟件系統(tǒng)隨時(shí)錄入和刪除員工的資料。</p><p> ?。?)既然是管理軟件,其主要功能還是公司的管理層能通過軟件系統(tǒng)對(duì)公司的管理,如財(cái)務(wù)部的能從系統(tǒng)的計(jì)算結(jié)果得知每個(gè)人的薪金,人事部能隨時(shí)通過系統(tǒng)調(diào)出員工的資料,每個(gè)部門的管理者都能對(duì)自己部門的員工的業(yè)績(jī)進(jìn)行操作等等。</p>&l

27、t;p><b>  3.2 設(shè)計(jì)方案</b></p><p>  3.2.1 模塊的劃分</p><p>  需求分析是從客戶的需求中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問題,而設(shè)計(jì)方案則是根據(jù)需求分析,規(guī)劃出系統(tǒng)的功能模塊,具體的劃分如下:</p><p><b>  1.公共模塊</b></p>&

28、lt;p><b>  2.用戶登錄模塊</b></p><p><b>  3.系統(tǒng)主頁(yè)模塊</b></p><p><b>  4.公司新聞模塊</b></p><p><b>  5.公司通知模塊</b></p><p>  6.用戶對(duì)自己資料的

29、操作模塊</p><p><b>  7.查詢模塊</b></p><p>  8.各部門高層對(duì)本部門員工的操作模塊</p><p><b>  9.工資計(jì)算模塊</b></p><p><b>  如圖1所示:</b></p><p><b>

30、;  `</b></p><p>  圖1 獵頭管理軟件功能模塊示意圖</p><p>  3.2.2 詳細(xì)設(shè)計(jì)</p><p>  軟件系統(tǒng)主要是公司的管理層對(duì)公司的管理,但是也有一般員工通過系統(tǒng)獲取同事的資料和公司的通知,而且就算公司的管理層也有職位的不同,所以權(quán)限的設(shè)計(jì)就成為必然,然后就是數(shù)據(jù)的不同,有些數(shù)據(jù)只要是公司員工就能看到,而還有寫數(shù)據(jù)卻只

31、有管理層才能看到,所以數(shù)據(jù)要進(jìn)行數(shù)據(jù)的分類,而把兩者結(jié)合在一起就是通過權(quán)限的判斷,不同的權(quán)限看到的數(shù)據(jù)不一樣,不同的權(quán)限的對(duì)數(shù)據(jù)的操作也不一樣,這是本系統(tǒng)的核心。</p><p><b>  1.權(quán)限設(shè)計(jì)</b></p><p>  根據(jù)系統(tǒng)具體要實(shí)現(xiàn)的功能把所有員工分為三種權(quán)限,分別是一顆星,兩顆星和三顆星,映射著不同的職位,下面是詳細(xì)說明:</p>

32、<p><b> ?。?)一至三顆星</b></p><p>  部門經(jīng)理職位以下的員工都在此權(quán)限,在此權(quán)限的員工能看見和操作的數(shù)據(jù)包括:能獲取公司的新聞和通知;能看到自己的一些資料,并能查詢到自己的薪金;能修改自己的一些資料,如地址、聯(lián)系方式等;能通過一個(gè)搜索條,搜索到其他員工的公開資料。</p><p><b>  (2)四顆星</b&g

33、t;</p><p>  各部門的部門經(jīng)理或其授權(quán)的系統(tǒng)管理員為四顆星權(quán)限,在此權(quán)限的員工能看見和操作的數(shù)據(jù)包括:所有一顆星權(quán)限的操作;能發(fā)布新聞和通知,并能對(duì)自己發(fā)布的進(jìn)行修改和刪除的操作;能查看所有員工的公開資料和保密資料;能對(duì)自己部門的員工資料進(jìn)行操作;并且四顆星權(quán)限內(nèi),只有財(cái)務(wù)部部門經(jīng)理或起授權(quán)的系統(tǒng)管理員,才能看到所有員工的薪金。</p><p><b> ?。?)五顆

34、星</b></p><p>  總經(jīng)理、懂事長(zhǎng)等高于部門經(jīng)理職位的員工或其授權(quán)的系統(tǒng)管理員為五顆星權(quán)限,在此權(quán)限的員工能看見和操作的數(shù)據(jù)包括:所有兩顆星的操作;能對(duì)所有的新聞和通知進(jìn)行修改和刪除的操作;能對(duì)所有部門的員工資料進(jìn)行任何操作;能看到所有員工薪金。</p><p><b>  2.?dāng)?shù)據(jù)分類</b></p><p>  系統(tǒng)

35、數(shù)據(jù)主要分為兩類:?jiǎn)T工資料和公司的新聞通知。以下是詳細(xì)的說明:</p><p><b> ?。?)員工資料</b></p><p>  系員工資料又分為兩類,公開資料和保密資料:</p><p>  公開資料是諸如姓名、性別、部門、職務(wù)、地址、聯(lián)系方式等一些所有員工都能看到的數(shù)據(jù)。</p><p>  保密資料包括公司管

36、理層對(duì)員工的評(píng)價(jià)、備注,員工的詳細(xì)簡(jiǎn)歷等一些詳細(xì)的資料,還有就是員工的業(yè)績(jī)和薪金。這些資料都是公司的管理層才能看到,也只有公司的管理層才能對(duì)其操作。</p><p><b> ?。?)新聞通知</b></p><p>  新聞通知是公司的新聞和一些諸如開會(huì)、比賽等的通知。所有員工都能看到這些數(shù)據(jù),但只有公司的管理層才能對(duì)其操作。</p><p>

37、;<b>  4 具體流程及實(shí)現(xiàn)</b></p><p><b>  4.1 具體流程</b></p><p><b>  4.1.1 登錄</b></p><p>  用戶登錄通過后根據(jù)登錄ID查詢數(shù)據(jù)庫(kù)并返回用戶權(quán)限,根據(jù)用戶的權(quán)限顯示主頁(yè),不同的權(quán)限做看到的主頁(yè)不同。</p>&l

38、t;p><b>  4.1.2主頁(yè)</b></p><p>  1.四顆星以下權(quán)限員工所看到的頁(yè)面</p><p>  最上面有一個(gè)退出登錄的鏈接,點(diǎn)擊回到“登錄”頁(yè)面</p><p>  能看到一個(gè)搜索條,通過搜索鏈接到“個(gè)人詳細(xì)資料” 頁(yè)面,查看被搜索員工的公開資料。</p><p>  可以看到一些自己的資料

39、,并在下面有二個(gè)鏈接:查看詳細(xì)資料和修改個(gè)人資料,點(diǎn)擊分別進(jìn)入“個(gè)人詳細(xì)資料”和“修改個(gè)人資料”的頁(yè)面,查看自己的詳細(xì)資料、工資,修改自己的聯(lián)系方式等。</p><p>  能看到公司最新的通知,下面有一個(gè)查看以往通知的鏈接,點(diǎn)擊進(jìn)入“所有通知”頁(yè)面查看所有通知。</p><p>  能看到公司最新的10條新聞的標(biāo)題,點(diǎn)擊標(biāo)題就能進(jìn)入“新聞內(nèi)容”的頁(yè)面,下面有一個(gè)所有新聞的鏈接,點(diǎn)擊進(jìn)入“

40、所有新聞”頁(yè)面查看所有新聞。</p><p>  2.四顆星以上權(quán)限員工所看到的頁(yè)面</p><p>  所有一顆星權(quán)限員工能看到的數(shù)據(jù)。</p><p>  能在最上面的標(biāo)題圖片下面看到一個(gè)各部門的菜單,列出了所有部門的鏈接,無(wú)論點(diǎn)擊哪個(gè)都會(huì)進(jìn)入“部門員工清單”頁(yè)面。</p><p>  也能通過搜索條搜索員工,但是鏈接到“員工詳細(xì)資料”頁(yè)

41、面。</p><p>  有一個(gè)添加員工和員工業(yè)績(jī)的鏈接,點(diǎn)擊進(jìn)入“添加員工”頁(yè)面和“員工業(yè)績(jī)”頁(yè)面。</p><p>  能看到發(fā)布通知和添加新聞的鏈接,點(diǎn)擊進(jìn)入“發(fā)布通知”和“添加新聞”頁(yè)面。</p><p>  只有財(cái)務(wù)部的四顆星員工和五顆星員工才能看到員工薪金的鏈接,點(diǎn)擊進(jìn)入“員工薪金清單”頁(yè)面。</p><p>  4.1.3 各功

42、能模塊頁(yè)面</p><p> ?。?)“個(gè)人詳細(xì)資料”頁(yè)面</p><p>  顯示員工的公開資料。</p><p> ?。?)“修改個(gè)人資料”頁(yè)面</p><p>  修改自己的聯(lián)系方式和地址。</p><p> ?。?)“所有通知”頁(yè)面</p><p>  在頁(yè)面的左邊部分列出了所有通知的發(fā)

43、布時(shí)間,點(diǎn)擊時(shí)右面便顯示點(diǎn)擊消息的內(nèi)容。</p><p> ?。?)“新聞內(nèi)容”頁(yè)面</p><p>  顯示新聞的發(fā)布人,發(fā)布時(shí)間和內(nèi)容。</p><p>  (5)“所有新聞”頁(yè)面</p><p>  在頁(yè)面左邊部分列出了所有新聞的標(biāo)題,點(diǎn)擊時(shí)右面變顯示點(diǎn)擊新聞的內(nèi)容。</p><p> ?。?)“部門員工清單”頁(yè)

44、面</p><p>  根據(jù)鏈接來(lái)是所傳來(lái)的部門的參數(shù)顯示部門所有員工的一個(gè)清單,每個(gè)員工僅顯示了編號(hào)、姓名、性別、部門四個(gè)資料,在每個(gè)員工后面還有一個(gè)詳細(xì)資料的鏈接,點(diǎn)擊進(jìn)入“員工詳細(xì)資料”頁(yè)面。如果登錄的是兩顆星權(quán)限,并且登錄者的部門和顯示頁(yè)面的部門一致的情況下或者登錄的是三顆星權(quán)限的情況下,那么便會(huì)在每個(gè)員工的最后面看到一個(gè)刪除的鏈接,點(diǎn)擊刪除此名員工的所有資料。</p><p> 

45、?。?)“員工詳細(xì)資料”頁(yè)面</p><p>  顯示員工所有的資料,包括公開資料和保密資料。如果登錄的是兩顆星權(quán)限,并且登錄者的部門和所顯示員工的部門一致的情況下或者登錄的是三顆星權(quán)限的情況下,就會(huì)在下面看到一個(gè)修改的鏈接,點(diǎn)擊進(jìn)入“修改員工資料”頁(yè)面。</p><p> ?。?)“修改員工資料”頁(yè)面</p><p><b>  修改員工的資料。<

46、/b></p><p> ?。?)“添加員工”頁(yè)面</p><p>  當(dāng)新員工加入的時(shí)候添加員工。</p><p> ?。?0)“發(fā)布通知”頁(yè)面</p><p><b>  發(fā)布通知。</b></p><p>  (11)“添加新聞”頁(yè)面</p><p><b

47、>  添加新聞。</b></p><p>  (12)“員工業(yè)績(jī)新聞”頁(yè)面</p><p>  各部門的部門經(jīng)理,對(duì)所屬員工的業(yè)績(jī)進(jìn)行加減。</p><p>  (13)“員工業(yè)績(jī)新聞”頁(yè)面</p><p>  財(cái)務(wù)部的部門經(jīng)理和公司部門經(jīng)理以上職位的能人看到公司所有人當(dāng)月薪金。</p><p>&l

48、t;b>  如圖2所示:</b></p><p>  圖2 獵頭管理軟件流程圖</p><p><b>  4.2 實(shí)現(xiàn)</b></p><p>  4.2.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p><b>  1.創(chuàng)建數(shù)據(jù)庫(kù)</b></p><p>  首先在 S

49、QL Server 2000 的企業(yè)管理器中創(chuàng)建一個(gè)名為 manager 的數(shù)據(jù)庫(kù)。</p><p><b>  2.創(chuàng)建表</b></p><p>  數(shù)據(jù)庫(kù) manager 包含 7 個(gè)表:?jiǎn)T工權(quán)限表(userpassword)、員工公開資料表(public_userdata)、員工保密資料表(interior_userdata)、公司理念表(com_idea)、

50、新聞表(news)、通知表(notice)、員工業(yè)績(jī)表(contribution)。詳細(xì)如下:</p><p><b>  (1)員工權(quán)限表</b></p><p>  員工權(quán)限表(userpassword)用來(lái)保存每個(gè)員工的登錄帳號(hào)、口令和登錄權(quán)限,結(jié)構(gòu)如表1:</p><p>  表1 員工權(quán)限表(userpassword)</p&g

51、t;<p>  (2)員工公開資料表</p><p>  員工公開資料表(public_userdata)用來(lái)保存每個(gè)員工的公開資料,結(jié)構(gòu)如表2:</p><p>  表2 員工公開資料表(public_userdata)</p><p>  (3)員工保密資料表</p><p>  員工保密資料表(interior_userd

52、ata)用來(lái)保存每個(gè)員工的保密資料,結(jié)構(gòu)如表3:</p><p>  表3 員工保密資料表(interior_userdata)</p><p><b> ?。?)公司理念表</b></p><p>  公司理念表(com_idea)用來(lái)保存公司的理念,結(jié)構(gòu)如表4:</p><p>  表4 公司理念表(com_idea

53、)</p><p><b>  (5)新聞表</b></p><p>  新聞表(news)用來(lái)保存公司的新聞,結(jié)構(gòu)如表5:</p><p>  表5 新聞表(news)</p><p><b> ?。?)通知表</b></p><p>  通知表(notice)用來(lái)保存公司

54、的通知,結(jié)構(gòu)如表6:</p><p>  表6 通知表(notice)</p><p><b>  (7)員工業(yè)績(jī)表</b></p><p>  員工業(yè)績(jī)表(contribution)用來(lái)保存員工每月的業(yè)績(jī),結(jié)構(gòu)如表7:</p><p>  表7 員工業(yè)績(jī)表(contribution)</p><p&

55、gt;<b>  3.?dāng)?shù)據(jù)庫(kù)的連接</b></p><p>  在實(shí)現(xiàn)各個(gè)模塊之前,首先要建立與數(shù)據(jù)庫(kù) manager 的連接,因?yàn)樵谙到y(tǒng)中,這個(gè)操作非常頻繁,所以我把它寫成了兩個(gè) javabean : DBConnection.class 和 DBSQL.class,下面是詳細(xì)的說明:</p><p>  DBConnection.class 是用 JDBC 建立與

56、數(shù)據(jù)庫(kù)的連接,具體代碼如下:</p><p>  public class DBConnection</p><p><b>  {</b></p><p>  private String driverName ="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //驅(qū)動(dòng)名稱

57、</p><p>  private String url ="jdbc:microsoft:sqlserver://localhost:1433;databaseName=manage"; //驅(qū)動(dòng)路徑</p><p>  private String user = "sa"; //數(shù)據(jù)庫(kù)用戶名</p><p>  pr

58、ivate String password = "sa"; //數(shù)據(jù)庫(kù)密碼</p><p>  public Connection getConnection() </p><p><b>  {</b></p><p><b>  try</b></p><p><b&

59、gt;  {</b></p><p>  Class.forName(driverName); //加載驅(qū)動(dòng)</p><p>  return DriverManager.getConnection(url, user, password); //建立連接</p><p><b>  }</b></p><p

60、>  catch (Exception e) </p><p><b>  {</b></p><p>  e.printStackTrace();</p><p>  return null;</p><p><b>  }</b></p><p><b>

61、  }</b></p><p><b>  }</b></p><p>  DBSQL.class 通過調(diào)用 DBConnection.class 的對(duì)象建立與數(shù)據(jù)庫(kù)的連接,然后執(zhí)行傳來(lái)的 SQL 語(yǔ)句,返回操作的結(jié)果集,代碼如下:</p><p>  public class DBSQL</p><p>&

62、lt;b>  {</b></p><p>  protected Connection conn = null;//Connection對(duì)象</p><p>  protected Statement stmt = null;//Statement對(duì)象</p><p>  protected ResultSet rs = null;//記錄

63、結(jié)果集</p><p>  protected String sqlStr;//SQL語(yǔ)句</p><p>  public DBSQL() </p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {&

64、lt;/b></p><p>  sqlStr = "";</p><p>  DBConnection dcm = new DBConnection(); //實(shí)例 DBConnection 對(duì)象</p><p>  conn = dcm.getConnection(); //獲得連接</p><p>  stm

65、t = conn.createStatement(); //獲取執(zhí)行 SQL 語(yǔ)句命令對(duì)象</p><p><b>  }</b></p><p>  catch (Exception e) </p><p><b>  {</b></p><p>  System.out.println(e);

66、</p><p><b>  }</b></p><p><b>  }</b></p><p>  public Statement getStmt() </p><p><b>  {</b></p><p>  return stmt;</p

67、><p><b>  }</b></p><p>  public Connection getConn() </p><p><b>  {</b></p><p>  return conn;</p><p><b>  }</b></p>

68、<p>  public ResultSet getRs() </p><p><b>  {</b></p><p>  return rs;</p><p><b>  }</b></p><p>  public void setSqlStr(String newSqlStr) /

69、/獲得SQL語(yǔ)句</p><p><b>  {</b></p><p>  this.sqlStr=newSqlStr;</p><p><b>  }</b></p><p>  public String getSqlStr() {</p><p>  return s

70、qlStr;</p><p><b>  }</b></p><p>  public void executeQuery() throws Exception</p><p><b>  {</b></p><p>  rs = stmt.executeQuery(sqlStr); //記錄結(jié)果

71、集</p><p><b>  }</b></p><p>  public void executeUpdate() throws Exception</p><p><b>  {</b></p><p>  stmt.executeUpdate(sqlStr); //執(zhí)行 SQL 語(yǔ)句<

72、;/p><p><b>  }</b></p><p>  public void close() throws SQLException //關(guān)閉數(shù)據(jù)庫(kù)連接</p><p><b>  {</b></p><p>  if ( stmt != null ) </p><p>

73、;<b>  {</b></p><p>  stmt.close();</p><p>  stmt = null;</p><p><b>  }</b></p><p>  conn.close();</p><p>  conn = null;</p>

74、<p><b>  }</b></p><p><b>  }</b></p><p>  4.2.2 界面的設(shè)計(jì)</p><p>  獵頭公司管理軟件由9個(gè)模塊13個(gè)前臺(tái)顯示界面、14個(gè)后臺(tái)操作頁(yè)面和5個(gè)公共頁(yè)面組成,因受論文篇幅所限,僅給出部分模塊的設(shè)計(jì)和代碼。</p><p><

75、;b>  1.公共模塊</b></p><p>  公共模塊是各個(gè)模塊都可能用要的,在本系統(tǒng)中公共模塊主要包括整個(gè)系統(tǒng)都要用到的圖片和一些公共的調(diào)用,如對(duì)系統(tǒng)當(dāng)前時(shí)間的讀取,把它寫到公共頁(yè)面里,每次只要把公共頁(yè)面包括進(jìn)去,直接讀取時(shí)間變量就行,具體實(shí)現(xiàn)的代碼如下:</p><p>  java.util.Date cur_time = new java.util.Date

76、();//讀取系統(tǒng)當(dāng)前時(shí)間</p><p>  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定義讀取時(shí)間格式</p><p>  String dateString = formatter.format(cur_time);//付值給變量</p><p>&l

77、t;b>  2.用戶登錄模塊</b></p><p>  用戶登錄界面(login.jsp)用于員工的登錄,主要功能用于判斷用戶輸入的登錄名和密碼是否合法。</p><p><b>  界面如圖3:</b></p><p>  圖3 獵頭管理軟件登錄界面圖</p><p>  當(dāng)用戶輸入不合法的用戶或者

78、密碼的時(shí)候,就會(huì)彈出錯(cuò)誤對(duì)話框,在本系統(tǒng),將用戶和密碼的規(guī)則都設(shè)為七位,所以當(dāng)沒有輸入或者輸入錯(cuò)誤的時(shí)候就會(huì)彈出提醒對(duì)話框,此功能的實(shí)現(xiàn)是在前臺(tái)登錄的jsp頁(yè)面嵌入一個(gè)javascript,具體的代碼如下:</p><p>  <script language="javascript"> //用javascript判斷用戶的輸入是否合法</p><p&g

79、t;  function checkform()</p><p><b>  {</b></p><p>  if (form.userid.value.length!=7)</p><p><b>  {</b></p><p>  alert("請(qǐng)輸入正確的編號(hào)!");<

80、;/p><p>  form.userid.focus();</p><p>  return false;</p><p><b>  }</b></p><p>  if (form.password.value.length!=7)</p><p><b>  {</b>&

81、lt;/p><p>  alert("請(qǐng)輸入正確的密碼!");</p><p>  form.password.focus();</p><p>  return false;</p><p><b>  }</b></p><p>  return true;</p>

82、<p><b>  }</b></p><p><b>  </script></b></p><p>  通過在登錄表單設(shè)置onClick屬性來(lái)調(diào)用上面的javascript,具體代碼如下:</p><p>  <input type="submit" name=&qu

83、ot;Submit" value="登錄" onClick="javascript:return(checkform());"></p><p>  當(dāng)用戶輸入完畢點(diǎn)擊登錄按鈕后,就會(huì)跳轉(zhuǎn)到后臺(tái)的檢查頁(yè)面,檢查頁(yè)面的功能是,通過用戶輸入的用戶名和密碼作為參數(shù),到數(shù)據(jù)庫(kù)里面去查找是否有匹配的項(xiàng),如果有,則登錄成功,跳轉(zhuǎn)到系統(tǒng)主頁(yè)面;如果沒有,則返回登錄頁(yè)面,并

84、顯示用戶名或密碼錯(cuò)誤。然后將登錄狀態(tài)設(shè)置為真,具體是通過給Session付值來(lái)實(shí)現(xiàn)具體代碼如下:</p><p>  String userid = new String(request.getParameter ("userid").trim().getBytes("ISO-8859-1"));</p><p>  String password

85、= new String(request.getParameter </p><p>  ("password").trim().getBytes("ISO-8859-1"));//接受從用戶輸入的用戶名和密碼</p><p>  String sql = "SELECT * FROM userpassword WHERE USERID=&

86、#39;"+userid+"' AND PASSWORD='"+password+"'";//通過用戶名和密碼在userpassword表中尋找是否有匹配項(xiàng)</p><p>  DBSQL dbsql = new DBSQL();//連接數(shù)據(jù)庫(kù)</p><p>  dbsql.setSqlStr(sql); <

87、/p><p>  dbsql.executeQuery();//執(zhí)行SQL語(yǔ)句</p><p>  ResultSet rs = dbsql.getRs();//返回結(jié)果集</p><p>  if (!rs.next()) //判斷登錄用戶和密碼在數(shù)據(jù)庫(kù)里是否存在</p><p><b>  {</b><

88、/p><p>  String errmsg="error1";</p><p>  response.sendRedirect("login.jsp?errmsg="+errmsg);//不存在則返回登錄頁(yè)面,并提示錯(cuò)誤</p><p><b>  return;</b></p><p&

89、gt;<b>  } </b></p><p>  request.getSession(true);//存在則設(shè)置登錄狀態(tài)為真</p><p>  String chk="true";</p><p>  session.putValue("Enter",chk);</p><p&g

90、t;  session.putValue("userid",userid);//記錄登錄用戶的用戶名</p><p>  response.sendRedirect("index.jsp");//登錄成功,跳轉(zhuǎn)到主頁(yè)面</p><p><b>  3.系統(tǒng)主頁(yè)模塊</b></p><p>  系統(tǒng)主頁(yè)面(

91、index.jsp)是員工進(jìn)入系統(tǒng)后的一個(gè)操作索引,所有的操作都從這里開始,在此頁(yè)面中,對(duì)權(quán)限的判斷十分重要,不同權(quán)限的員工所看到的界面是不一樣的,詳細(xì)如下:</p><p>  四顆星以下權(quán)限的員工登錄后所看到的界面如圖4:</p><p>  圖4 獵頭管理軟件主界面界面圖</p><p>  四顆星以上權(quán)限的員工登錄后所看到的界面如圖5:</p>

92、<p>  圖5 獵頭管理軟件主界面界面圖</p><p>  不同權(quán)限員工看到的不同界面主要是部門菜單顯示和非顯示,具體的實(shí)現(xiàn)是用java代碼實(shí)現(xiàn)的,具體如下:</p><p><b>  <%</b></p><p>  String userid=(String)session.getValue("userid

93、");//通過session獲取登錄用戶的用戶名</p><p>  String sql="SELECT * FROM userpassword WHERE USERID ='"+userid+"'";</p><p>  DBSQL dbsql = new DBSQL();</p><p>  d

94、bsql.setSqlStr(sql);</p><p>  dbsql.executeQuery();</p><p>  ResultSet rs=dbsql.getRs();</p><p>  rs.next();</p><p>  String jurisdiction=new String(rs.getString("

95、JURISDICTION"));//利用登錄用戶的用戶名,通過查詢員工權(quán)限表,得到登錄用戶的權(quán)限</p><p>  sql="SELECT * FROM public_userdata WHERE USERID ='"+userid+"'";</p><p>  dbsql.setSqlStr(sql);</p>

96、;<p>  dbsql.executeQuery();</p><p>  rs=dbsql.getRs();</p><p>  rs.next();</p><p>  String userdepartment = rs.getString("DEPARTMENT");//利用登錄用戶的用戶名,通過查詢員工公開資料表,得到登

97、錄用戶的所屬部門</p><p>  if(jurisdiction.equals("****")||jurisdiction.equals("*****"))//判斷登錄用戶權(quán)限決定是否顯示,只有四顆星和五顆星登錄權(quán)限才能顯示</p><p><b>  {</b></p><p>  String r

98、enshi_department="人事部";</p><p>  String houqin_department="后勤部";</p><p>  String caiwu_department="財(cái)務(wù)部";</p><p>  String yewu_department="業(yè)務(wù)部"

99、;;</p><p>  String jishu_department="技術(shù)部";</p><p><b>  %></b></p><p>  <table width="800" border="0" cellpadding="0" cellsp

100、acing="0" bgcolor="#66CCFF"></p><p><b>  <tr></b></p><p>  <td width="100"><div align="center"><a href="userlist

101、.jsp?department=<%=renshi_department%>">人事部</a></div></td></p><p>  <td width="100"><div align="center"><a href="userlist.jsp?departmen

102、t=<%=houqin_department%>">后勤部</a></div></td></p><p>  <td width="100"><div align="center"><a href="userlist.jsp?department=<%=caiwu_

103、department%>">財(cái)務(wù)部</a></div></td></p><p>  <td width="100"><div align="center"><a href="userlist.jsp?department=<%=yewu_department%>&

104、quot;>業(yè)務(wù)部</a></div></td></p><p>  <td width="100"><div align="center"><a href="userlist.jsp?department=<%=jishu_department%>">技術(shù)部<

105、;/a></div></td></p><p>  <td width="100"><div align="center"><a href="contributionlist.jsp">員工業(yè)績(jī)</a></div></td></p><

106、;p><b>  <%</b></p><p>  if(userdepartment.equals("財(cái)務(wù)部")||jurisdiction.equals("*****"))//用一個(gè)嵌套if語(yǔ)句,判斷權(quán)限,只有財(cái)務(wù)部的部門經(jīng)理和五顆星權(quán)限顯示員工薪金</p><p><b>  {</b>&

107、lt;/p><p><b>  %></b></p><p>  <td width="100"><div align="center"><a href="salarylist.jsp">員工薪金</a></div></td></

108、p><p><b>  <%</b></p><p><b>  }</b></p><p><b>  %></b></p><p>  <td width="100"><div align="center"

109、><a href="adduser.jsp">添加員工</a></div></td></p><p><b>  </tr></b></p><p><b>  </table></b></p><p><b>  

110、<%</b></p><p><b>  }</b></p><p><b>  %></b></p><p><b>  4.查詢模塊</b></p><p>  查詢模塊是方便公司員工查詢其他員工的一些資料而設(shè)計(jì)的,這也涉及到權(quán)限問題,一般員工的登錄

111、權(quán)限只能查詢其他員工的公開資料,而管理層的登錄權(quán)限不僅可以查詢到公開資料,也能查詢保密資料,這個(gè)功能是根據(jù)登錄者的權(quán)限點(diǎn)擊鏈接時(shí),跳轉(zhuǎn)到不同的顯示頁(yè)面來(lái)實(shí)現(xiàn)的。</p><p>  一般員工查詢的跳轉(zhuǎn)頁(yè)面如圖6:</p><p>  圖6 員工公開資料界面圖</p><p>  公司管理層查詢的跳轉(zhuǎn)頁(yè)面如圖7:</p><p>  圖7 員工

112、所有資料界面圖</p><p><b>  代碼如下:</b></p><p>  String userid=(String)session.getValue("userid");//獲取登錄者用戶名</p><p>  String sql="SELECT * FROM userpassword WHERE U

113、SERID ='"+userid+"'";</p><p>  DBSQL dbsql = new DBSQL();</p><p>  dbsql.setSqlStr(sql);</p><p>  dbsql.executeQuery();</p><p>  ResultSet rs=dbs

114、ql.getRs();</p><p>  rs.next();</p><p>  String jurisdiction=new String(rs.getString("JURISDICTION"));//根據(jù)用戶名查詢數(shù)據(jù)庫(kù),得到登錄權(quán)限</p><p>  String username = new String(request.get

115、Parameter("keyword").</p><p>  trim().getBytes("ISO-8859-1"));//獲取用戶輸入的查詢關(guān)鍵字</p><p>  sql = "SELECT * FROM public_userdata WHERE USERNAME='"+username+"'

116、;";</p><p>  dbsql.setSqlStr(sql);</p><p>  dbsql.executeQuery();</p><p>  rs=dbsql.getRs();//根據(jù)關(guān)鍵字查詢數(shù)據(jù)庫(kù)</p><p>  if (!rs.next())// 判斷是否有此人</p><p><

117、;b>  {</b></p><p>  out.println("沒有此人!");</p><p><b>  } </b></p><p><b>  else</b></p><p><b>  {</b></p>&l

118、t;p>  if(jurisdiction.equals("****")||jurisdiction.equals("*****"))//判斷登錄權(quán)限</p><p><b>  {</b></p><p>  response.sendRedirect("particularuser.jsp?userid=&q

119、uot;+rs.getString("USERID"));//四顆星以上登錄權(quán)限者跳轉(zhuǎn)到particularuser.jsp頁(yè)面查看被查詢者資料</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p

120、><p>  response.sendRedirect("usermessage.jsp?userid="+rs.getString("USERID"));//其他登錄權(quán)限的則跳轉(zhuǎn)到usermessage.jsp頁(yè)面查看被查詢者資料</p><p><b>  }</b></p><p><b>

121、;  }</b></p><p><b>  5.薪金計(jì)算模塊</b></p><p>  員工每月薪金的計(jì)算是和員工的職務(wù)與業(yè)績(jī)分不開的,而職務(wù)和員工的權(quán)限又是成正比的,所以和薪金相關(guān)的就是員工的權(quán)限與業(yè)績(jī),員工的權(quán)限是固定的,而每個(gè)月的業(yè)績(jī)確實(shí)浮動(dòng)的,所以具體的實(shí)現(xiàn)是:每個(gè)權(quán)限對(duì)應(yīng)不同的固定薪金,然后每個(gè)員工的業(yè)績(jī)通過一個(gè)算法,得到浮動(dòng)薪金,把這兩部分

122、加起來(lái)就是員工的總薪金。這個(gè)算法我把它封裝到了一個(gè)javabean里面,具體代碼如下:</p><p>  public class Salary</p><p><b>  {</b></p><p>  protected int salary;//員工總薪金</p><p>  public Salary(Str

123、ing jurisdiction,int contribution) </p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  int _salary = 0;</p><

124、;p>  //不同權(quán)限對(duì)應(yīng)不同的固定薪金</p><p>  if (jurisdiction.equals("*"))</p><p><b>  {</b></p><p>  _salary = 1500;</p><p><b>  }</b></p>

125、<p>  if (jurisdiction.equals("**"))</p><p><b>  {</b></p><p>  _salary = 2000;</p><p><b>  }</b></p><p>  if (jurisdiction.equa

126、ls("***"))</p><p><b>  {</b></p><p>  _salary = 3000;</p><p><b>  }</b></p><p>  if (jurisdiction.equals("****"))</p>

127、<p><b>  {</b></p><p>  _salary = 5000;</p><p><b>  }</b></p><p>  if (jurisdiction.equals("*****"))</p><p><b>  {</b&g

128、t;</p><p>  _salary = 8000;</p><p><b>  }</b></p><p>  this.salary = _salary + contribution * 200;//計(jì)算員工總薪金</p><p><b>  }</b></p><p&g

129、t;  catch (Exception e) {</p><p>  System.out.println(e.toString());</p><p><b>  }</b></p><p><b>  }</b></p><p>  public int getSalary() //獲取薪金&

130、lt;/p><p><b>  {</b></p><p>  return salary;</p><p><b>  }</b></p><p><b>  };</b></p><p>  但需要計(jì)算某個(gè)員工薪金時(shí),只需把這個(gè)員工的權(quán)限和業(yè)績(jī)作為參數(shù)實(shí)

131、例這個(gè)類的一個(gè)對(duì)象,然后調(diào)用getSalary()方法就能取的薪金,具體調(diào)用如下:</p><p>  Salary sal = new Salary(jurisdiction,contribution);// jurisdiction和contribution為員工的權(quán)限和當(dāng)月業(yè)績(jī)</p><p>  int salary = sal.getSalary();</p>&l

132、t;p><b>  5 測(cè)試</b></p><p><b>  5.1 測(cè)試環(huán)境</b></p><p>  5.1.1 硬件環(huán)境</p><p><b>  普通計(jì)算機(jī)配置。</b></p><p>  5.1.2 軟件環(huán)境</p><p> 

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論