版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 成都信息工程學(xué)院</b></p><p><b> 學(xué)位論文</b></p><p> 基于JSP技術(shù)的獵頭公司管理軟件的設(shè)計和實現(xiàn)</p><p><b> ——內(nèi)部事務(wù)部分</b></p><p> 基于JSP技術(shù)的獵頭公司管理軟件的
2、設(shè)計和實現(xiàn)</p><p><b> ——內(nèi)部事務(wù)部分</b></p><p><b> 摘 要</b></p><p> 隨著信息科學(xué)技術(shù)的飛速發(fā)展,人們逐漸意識到對信息管理軟件的運(yùn)用可以使日常工作更加方便、快捷和高效。論文詳細(xì)論述了獵頭公司管理軟件內(nèi)部事務(wù)部分的開發(fā)設(shè)計過程。軟件采用JSP開發(fā)技術(shù),Tomcat
3、作容器, SQL Server 2000作數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了公共模塊、用戶登錄模塊、系統(tǒng)主頁模塊、公司新聞模塊、公司通知模塊、用戶資料管理模塊、查詢模塊、員工管理模塊、工資管理模塊。軟件符合獵頭公司內(nèi)部管理的需求,能夠幫助公司切實提高工作效率。軟件的開發(fā)符合一般管理軟件的開發(fā)流程,對開發(fā)其他類似的管理軟件具有相當(dāng)?shù)膮⒖純r值。</p><p> 論文組織如下:首先闡述了該系統(tǒng)的開發(fā)背景、意義;其次介紹了相關(guān)的
4、理論基礎(chǔ);接著對系統(tǒng)的需求進(jìn)行了分析,并提出了具體的設(shè)計方案;然后展現(xiàn)了系統(tǒng)各功能模塊的實現(xiàn);最后對該軟件進(jìn)行了嚴(yán)格的測試。</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> 論文總頁數(shù):25頁</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è)計方案2</p><p> 3.1 需求分析2</p><p> 3.2 設(shè)計方案3</p><p> 3.2.1 模塊的劃分3</p><p> 3.2.2 詳細(xì)設(shè)計3</p><p&
12、gt; 4 具體流程及實現(xiàn)5</p><p> 4.1 具體流程5</p><p> 4.1.1 登錄5</p><p><b> 4.1.2主頁5</b></p><p> 4.1.3 各功能模塊頁面6</p><p><b> 4.2 實現(xiàn)7</b>
13、;</p><p> 4.2.1 數(shù)據(jù)庫的設(shè)計7</p><p> 4.2.2 界面的設(shè)計12</p><p><b> 5 測試21</b></p><p> 5.1 測試環(huán)境21</p><p> 5.1.1 硬件環(huán)境21</p><p> 5.1
14、.2 軟件環(huán)境21</p><p> 5.2 主要模塊測試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> 獵頭公司在外國已有幾十年的歷史,而中國出現(xiàn)獵頭行業(yè)不過十來年的事。早期主要是為外企在中國的機(jī)構(gòu)尋找本土人才。近年來,許多國企,特別是一些上市的股份公司、
16、民營高科技企業(yè)也躋身于獵頭公司客戶的行列。</p><p> 改革開放后,企業(yè)走向市場,人才走向市場,當(dāng)企業(yè)向市場要效率的時候,對人才的需求日益迫切,這時,作為搜尋人才的有效方式,獵頭公司就很自然地?fù)尀┲袊蟮亍?lt;/p><p> 國內(nèi)最早的獵頭公司是1992年成立的。到1995年北京就審批了3家以獵頭為主的有獨立法人資格的國內(nèi)獵頭公司和兩家兼做獵頭的報道越來越多;公司里,白領(lǐng)以接到獵
17、頭電話為榮;越來越多的中介公司涉足獵頭業(yè)務(wù)。 從全國來看,以北京、上海、廣州、深圳為核心的獵頭公司為以百計,并成倍遞增,而國外的獵頭公司也開始大量地進(jìn)駐中國,幾乎國際著名的獵頭公司都在國內(nèi)設(shè)立了辦事處。</p><p> 獵頭市場在中國真的啟動起來了。據(jù)不完全統(tǒng)計,中國現(xiàn)在大大小小的獵頭公司上千家,主要集中在北京、上海、深圳、廣州、天津、南京等大城市。</p><p><b>
18、 1.2選題意義</b></p><p> 在背景里已經(jīng)獵頭行業(yè)的現(xiàn)狀,在這種大環(huán)境下,獵頭公司對各種員工內(nèi)部管理也變的十分重要了,怎么提高管理效率,實現(xiàn)員工的工作智能化,成為迫切需要解決的問題,而獵頭管理軟件正是為滿足獵頭公司的管理而出現(xiàn)的。</p><p> 雖然獵頭管理軟件這塊,中國遠(yuǎn)遠(yuǎn)比不上做了幾十年的歐美,但是歐美軟件的成本卻讓中國本土的獵頭公司望而卻步,這就對
19、國內(nèi)軟件行業(yè)提出了要求,誰能占得先機(jī)就能擁有更多的市場競爭力,誰能針對獵頭行業(yè)開發(fā)出更適應(yīng)獵頭的軟件就擁有更多的技術(shù)競爭里,所以,開發(fā)獵頭管理軟件不只能提高獵頭公司的管理和辦公的效率,更重要的是,中國本土開發(fā)的軟件,成本上就有競爭力,對整個獵頭行業(yè)都有很大的貢獻(xiàn)。</p><p><b> 2 理論基礎(chǔ)</b></p><p> 在前面的引言里已經(jīng)說了獵頭行業(yè)的背
20、景,在這種大環(huán)境下,獵頭公司對各種員工內(nèi)部管理軟件的需求也變的迫切了,而在獵頭管理軟件這塊,中國遠(yuǎn)遠(yuǎn)比不上做了幾十年的歐美,但是歐美軟件的成本卻讓中國本土的獵頭公司望而卻步,這就對國內(nèi)軟件行業(yè)提出了需求,誰能占的先機(jī)就能擁有更多的市場競爭力,誰能針對獵頭行業(yè)開發(fā)出更適應(yīng)獵頭的軟件就擁有更多的技術(shù)競爭里,所以,搶先涉及獵頭領(lǐng)域是我們成功的前提,而怎樣開發(fā)好更好的軟件是我們成功的關(guān)鍵。</p><p> 目前國內(nèi)主
21、流的軟件開發(fā)基于兩種模式:客戶機(jī)/服務(wù)器(Client/Server,簡稱C/S)模式和Web瀏覽器/服務(wù)器(Browser/Server,簡稱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的市場,但出于系統(tǒng)的移植性的考慮,本系統(tǒng)還是運(yùn)用JSP技術(shù)開發(fā),因為JAVA的跨平臺性能給我們帶來更多的用戶。</p><p> 服務(wù)器上我們選擇Tomcat,是因為它小巧卻功能強(qiáng)大,更重要的是,它是開源的,如今,開源軟件越來越受到人們的重視,Linux就是一個成功的典型,雖然這對我們的開發(fā)沒有實際的用處,但是顧客會優(yōu)先選擇用流行工具開發(fā)的軟件,這也是我們選擇Tomcat的原因。</p
23、><p> 現(xiàn)在主流的數(shù)據(jù)庫就三種:Access, Oracle和SQL Server。Access短小精干,操作方便,是開發(fā)小型系統(tǒng)的首選;Oracle功能強(qiáng)大,適合開發(fā)大型系統(tǒng);但是我們選擇SQL Server,它兼?zhèn)銩ccess和Oracle優(yōu)點,強(qiáng)大的可視化操作和不亞于Oracle的功能是我們選擇它的理由。</p><p> 3 需求分析及設(shè)計方案</p><p
24、><b> 3.1 需求分析</b></p><p> 根據(jù)客戶的需要,本軟件系統(tǒng)是獵頭公司內(nèi)部管理系統(tǒng),用戶僅限于公司內(nèi)部員工,需求功能主要是員工或者公司的管理層能通過軟件系統(tǒng),進(jìn)行一系列的操作,從而實現(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> ?。?)有一些突發(fā)事件隨時有可能發(fā)生,如地址和聯(lián)系方式的變化,這就要求員工能通過系統(tǒng)對自己的一些資料進(jìn)行修改。</p><p> ?。?)員工不可能記的住公司每個人的地址、聯(lián)系方式等,所以要有通過查詢得知其他員工一些資料的功能。</p&g
26、t;<p> (5)公司隨時都可能根據(jù)發(fā)展計劃進(jìn)行新員工的加入和老員工的退出,這就要公司的管理層能通過軟件系統(tǒng)隨時錄入和刪除員工的資料。</p><p> (6)既然是管理軟件,其主要功能還是公司的管理層能通過軟件系統(tǒng)對公司的管理,如財務(wù)部的能從系統(tǒng)的計算結(jié)果得知每個人的薪金,人事部能隨時通過系統(tǒng)調(diào)出員工的資料,每個部門的管理者都能對自己部門的員工的業(yè)績進(jìn)行操作等等。</p>&l
27、t;p><b> 3.2 設(shè)計方案</b></p><p> 3.2.1 模塊的劃分</p><p> 需求分析是從客戶的需求中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問題,而設(shè)計方案則是根據(jù)需求分析,規(guī)劃出系統(tǒng)的功能模塊,具體的劃分如下:</p><p><b> 1.公共模塊</b></p>&
28、lt;p><b> 2.用戶登錄模塊</b></p><p><b> 3.系統(tǒng)主頁模塊</b></p><p><b> 4.公司新聞模塊</b></p><p><b> 5.公司通知模塊</b></p><p> 6.用戶對自己資料的
29、操作模塊</p><p><b> 7.查詢模塊</b></p><p> 8.各部門高層對本部門員工的操作模塊</p><p><b> 9.工資計算模塊</b></p><p><b> 如圖1所示:</b></p><p><b>
30、; `</b></p><p> 圖1 獵頭管理軟件功能模塊示意圖</p><p> 3.2.2 詳細(xì)設(shè)計</p><p> 軟件系統(tǒng)主要是公司的管理層對公司的管理,但是也有一般員工通過系統(tǒng)獲取同事的資料和公司的通知,而且就算公司的管理層也有職位的不同,所以權(quán)限的設(shè)計就成為必然,然后就是數(shù)據(jù)的不同,有些數(shù)據(jù)只要是公司員工就能看到,而還有寫數(shù)據(jù)卻只
31、有管理層才能看到,所以數(shù)據(jù)要進(jìn)行數(shù)據(jù)的分類,而把兩者結(jié)合在一起就是通過權(quán)限的判斷,不同的權(quán)限看到的數(shù)據(jù)不一樣,不同的權(quán)限的對數(shù)據(jù)的操作也不一樣,這是本系統(tǒng)的核心。</p><p><b> 1.權(quán)限設(shè)計</b></p><p> 根據(jù)系統(tǒng)具體要實現(xiàn)的功能把所有員工分為三種權(quán)限,分別是一顆星,兩顆星和三顆星,映射著不同的職位,下面是詳細(xì)說明:</p>
32、<p><b> ?。?)一至三顆星</b></p><p> 部門經(jīng)理職位以下的員工都在此權(quán)限,在此權(quán)限的員工能看見和操作的數(shù)據(jù)包括:能獲取公司的新聞和通知;能看到自己的一些資料,并能查詢到自己的薪金;能修改自己的一些資料,如地址、聯(lián)系方式等;能通過一個搜索條,搜索到其他員工的公開資料。</p><p><b> ?。?)四顆星</b&g
33、t;</p><p> 各部門的部門經(jīng)理或其授權(quán)的系統(tǒng)管理員為四顆星權(quán)限,在此權(quán)限的員工能看見和操作的數(shù)據(jù)包括:所有一顆星權(quán)限的操作;能發(fā)布新聞和通知,并能對自己發(fā)布的進(jìn)行修改和刪除的操作;能查看所有員工的公開資料和保密資料;能對自己部門的員工資料進(jìn)行操作;并且四顆星權(quán)限內(nèi),只有財務(wù)部部門經(jīng)理或起授權(quán)的系統(tǒng)管理員,才能看到所有員工的薪金。</p><p><b> ?。?)五顆
34、星</b></p><p> 總經(jīng)理、懂事長等高于部門經(jīng)理職位的員工或其授權(quán)的系統(tǒng)管理員為五顆星權(quán)限,在此權(quán)限的員工能看見和操作的數(shù)據(jù)包括:所有兩顆星的操作;能對所有的新聞和通知進(jìn)行修改和刪除的操作;能對所有部門的員工資料進(jìn)行任何操作;能看到所有員工薪金。</p><p><b> 2.?dāng)?shù)據(jù)分類</b></p><p> 系統(tǒng)
35、數(shù)據(jù)主要分為兩類:員工資料和公司的新聞通知。以下是詳細(xì)的說明:</p><p><b> ?。?)員工資料</b></p><p> 系員工資料又分為兩類,公開資料和保密資料:</p><p> 公開資料是諸如姓名、性別、部門、職務(wù)、地址、聯(lián)系方式等一些所有員工都能看到的數(shù)據(jù)。</p><p> 保密資料包括公司管
36、理層對員工的評價、備注,員工的詳細(xì)簡歷等一些詳細(xì)的資料,還有就是員工的業(yè)績和薪金。這些資料都是公司的管理層才能看到,也只有公司的管理層才能對其操作。</p><p><b> (2)新聞通知</b></p><p> 新聞通知是公司的新聞和一些諸如開會、比賽等的通知。所有員工都能看到這些數(shù)據(jù),但只有公司的管理層才能對其操作。</p><p>
37、;<b> 4 具體流程及實現(xiàn)</b></p><p><b> 4.1 具體流程</b></p><p><b> 4.1.1 登錄</b></p><p> 用戶登錄通過后根據(jù)登錄ID查詢數(shù)據(jù)庫并返回用戶權(quán)限,根據(jù)用戶的權(quán)限顯示主頁,不同的權(quán)限做看到的主頁不同。</p>&l
38、t;p><b> 4.1.2主頁</b></p><p> 1.四顆星以下權(quán)限員工所看到的頁面</p><p> 最上面有一個退出登錄的鏈接,點擊回到“登錄”頁面</p><p> 能看到一個搜索條,通過搜索鏈接到“個人詳細(xì)資料” 頁面,查看被搜索員工的公開資料。</p><p> 可以看到一些自己的資料
39、,并在下面有二個鏈接:查看詳細(xì)資料和修改個人資料,點擊分別進(jìn)入“個人詳細(xì)資料”和“修改個人資料”的頁面,查看自己的詳細(xì)資料、工資,修改自己的聯(lián)系方式等。</p><p> 能看到公司最新的通知,下面有一個查看以往通知的鏈接,點擊進(jìn)入“所有通知”頁面查看所有通知。</p><p> 能看到公司最新的10條新聞的標(biāo)題,點擊標(biāo)題就能進(jìn)入“新聞內(nèi)容”的頁面,下面有一個所有新聞的鏈接,點擊進(jìn)入“
40、所有新聞”頁面查看所有新聞。</p><p> 2.四顆星以上權(quán)限員工所看到的頁面</p><p> 所有一顆星權(quán)限員工能看到的數(shù)據(jù)。</p><p> 能在最上面的標(biāo)題圖片下面看到一個各部門的菜單,列出了所有部門的鏈接,無論點擊哪個都會進(jìn)入“部門員工清單”頁面。</p><p> 也能通過搜索條搜索員工,但是鏈接到“員工詳細(xì)資料”頁
41、面。</p><p> 有一個添加員工和員工業(yè)績的鏈接,點擊進(jìn)入“添加員工”頁面和“員工業(yè)績”頁面。</p><p> 能看到發(fā)布通知和添加新聞的鏈接,點擊進(jìn)入“發(fā)布通知”和“添加新聞”頁面。</p><p> 只有財務(wù)部的四顆星員工和五顆星員工才能看到員工薪金的鏈接,點擊進(jìn)入“員工薪金清單”頁面。</p><p> 4.1.3 各功
42、能模塊頁面</p><p> (1)“個人詳細(xì)資料”頁面</p><p> 顯示員工的公開資料。</p><p> ?。?)“修改個人資料”頁面</p><p> 修改自己的聯(lián)系方式和地址。</p><p> ?。?)“所有通知”頁面</p><p> 在頁面的左邊部分列出了所有通知的發(fā)
43、布時間,點擊時右面便顯示點擊消息的內(nèi)容。</p><p> ?。?)“新聞內(nèi)容”頁面</p><p> 顯示新聞的發(fā)布人,發(fā)布時間和內(nèi)容。</p><p> (5)“所有新聞”頁面</p><p> 在頁面左邊部分列出了所有新聞的標(biāo)題,點擊時右面變顯示點擊新聞的內(nèi)容。</p><p> ?。?)“部門員工清單”頁
44、面</p><p> 根據(jù)鏈接來是所傳來的部門的參數(shù)顯示部門所有員工的一個清單,每個員工僅顯示了編號、姓名、性別、部門四個資料,在每個員工后面還有一個詳細(xì)資料的鏈接,點擊進(jìn)入“員工詳細(xì)資料”頁面。如果登錄的是兩顆星權(quán)限,并且登錄者的部門和顯示頁面的部門一致的情況下或者登錄的是三顆星權(quán)限的情況下,那么便會在每個員工的最后面看到一個刪除的鏈接,點擊刪除此名員工的所有資料。</p><p>
45、?。?)“員工詳細(xì)資料”頁面</p><p> 顯示員工所有的資料,包括公開資料和保密資料。如果登錄的是兩顆星權(quán)限,并且登錄者的部門和所顯示員工的部門一致的情況下或者登錄的是三顆星權(quán)限的情況下,就會在下面看到一個修改的鏈接,點擊進(jìn)入“修改員工資料”頁面。</p><p> ?。?)“修改員工資料”頁面</p><p><b> 修改員工的資料。<
46、/b></p><p> ?。?)“添加員工”頁面</p><p> 當(dāng)新員工加入的時候添加員工。</p><p> (10)“發(fā)布通知”頁面</p><p><b> 發(fā)布通知。</b></p><p> ?。?1)“添加新聞”頁面</p><p><b
47、> 添加新聞。</b></p><p> (12)“員工業(yè)績新聞”頁面</p><p> 各部門的部門經(jīng)理,對所屬員工的業(yè)績進(jìn)行加減。</p><p> ?。?3)“員工業(yè)績新聞”頁面</p><p> 財務(wù)部的部門經(jīng)理和公司部門經(jīng)理以上職位的能人看到公司所有人當(dāng)月薪金。</p><p>&l
48、t;b> 如圖2所示:</b></p><p> 圖2 獵頭管理軟件流程圖</p><p><b> 4.2 實現(xiàn)</b></p><p> 4.2.1 數(shù)據(jù)庫的設(shè)計</p><p><b> 1.創(chuàng)建數(shù)據(jù)庫</b></p><p> 首先在 S
49、QL Server 2000 的企業(yè)管理器中創(chuàng)建一個名為 manager 的數(shù)據(jù)庫。</p><p><b> 2.創(chuàng)建表</b></p><p> 數(shù)據(jù)庫 manager 包含 7 個表:員工權(quán)限表(userpassword)、員工公開資料表(public_userdata)、員工保密資料表(interior_userdata)、公司理念表(com_idea)、
50、新聞表(news)、通知表(notice)、員工業(yè)績表(contribution)。詳細(xì)如下:</p><p><b> ?。?)員工權(quán)限表</b></p><p> 員工權(quán)限表(userpassword)用來保存每個員工的登錄帳號、口令和登錄權(quán)限,結(jié)構(gòu)如表1:</p><p> 表1 員工權(quán)限表(userpassword)</p&g
51、t;<p> ?。?)員工公開資料表</p><p> 員工公開資料表(public_userdata)用來保存每個員工的公開資料,結(jié)構(gòu)如表2:</p><p> 表2 員工公開資料表(public_userdata)</p><p> ?。?)員工保密資料表</p><p> 員工保密資料表(interior_userd
52、ata)用來保存每個員工的保密資料,結(jié)構(gòu)如表3:</p><p> 表3 員工保密資料表(interior_userdata)</p><p><b> (4)公司理念表</b></p><p> 公司理念表(com_idea)用來保存公司的理念,結(jié)構(gòu)如表4:</p><p> 表4 公司理念表(com_idea
53、)</p><p><b> (5)新聞表</b></p><p> 新聞表(news)用來保存公司的新聞,結(jié)構(gòu)如表5:</p><p> 表5 新聞表(news)</p><p><b> (6)通知表</b></p><p> 通知表(notice)用來保存公司
54、的通知,結(jié)構(gòu)如表6:</p><p> 表6 通知表(notice)</p><p><b> (7)員工業(yè)績表</b></p><p> 員工業(yè)績表(contribution)用來保存員工每月的業(yè)績,結(jié)構(gòu)如表7:</p><p> 表7 員工業(yè)績表(contribution)</p><p&
55、gt;<b> 3.?dāng)?shù)據(jù)庫的連接</b></p><p> 在實現(xiàn)各個模塊之前,首先要建立與數(shù)據(jù)庫 manager 的連接,因為在系統(tǒng)中,這個操作非常頻繁,所以我把它寫成了兩個 javabean : DBConnection.class 和 DBSQL.class,下面是詳細(xì)的說明:</p><p> DBConnection.class 是用 JDBC 建立與
56、數(shù)據(jù)庫的連接,具體代碼如下:</p><p> public class DBConnection</p><p><b> {</b></p><p> private String driverName ="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //驅(qū)動名稱
57、</p><p> private String url ="jdbc:microsoft:sqlserver://localhost:1433;databaseName=manage"; //驅(qū)動路徑</p><p> private String user = "sa"; //數(shù)據(jù)庫用戶名</p><p> pr
58、ivate String password = "sa"; //數(shù)據(jù)庫密碼</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ū)動</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 的對象建立與數(shù)據(jù)庫的連接,然后執(zhí)行傳來的 SQL 語句,返回操作的結(jié)果集,代碼如下:</p><p> public class DBSQL</p><p>&
62、lt;b> {</b></p><p> protected Connection conn = null;//Connection對象</p><p> protected Statement stmt = null;//Statement對象</p><p> protected ResultSet rs = null;//記錄
63、結(jié)果集</p><p> protected String sqlStr;//SQL語句</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(); //實例 DBConnection 對象</p><p> conn = dcm.getConnection(); //獲得連接</p><p> stm
65、t = conn.createStatement(); //獲取執(zhí)行 SQL 語句命令對象</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語句</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 語句<
72、;/p><p><b> }</b></p><p> public void close() throws SQLException //關(guān)閉數(shù)據(jù)庫連接</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è)計</p><p> 獵頭公司管理軟件由9個模塊13個前臺顯示界面、14個后臺操作頁面和5個公共頁面組成,因受論文篇幅所限,僅給出部分模塊的設(shè)計和代碼。</p><p><
75、;b> 1.公共模塊</b></p><p> 公共模塊是各個模塊都可能用要的,在本系統(tǒng)中公共模塊主要包括整個系統(tǒng)都要用到的圖片和一些公共的調(diào)用,如對系統(tǒng)當(dāng)前時間的讀取,把它寫到公共頁面里,每次只要把公共頁面包括進(jìn)去,直接讀取時間變量就行,具體實現(xiàn)的代碼如下:</p><p> java.util.Date cur_time = new java.util.Date
76、();//讀取系統(tǒng)當(dāng)前時間</p><p> SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定義讀取時間格式</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、密碼的時候,就會彈出錯誤對話框,在本系統(tǒng),將用戶和密碼的規(guī)則都設(shè)為七位,所以當(dāng)沒有輸入或者輸入錯誤的時候就會彈出提醒對話框,此功能的實現(xiàn)是在前臺登錄的jsp頁面嵌入一個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("請輸入正確的編號!");<
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("請輸入正確的密碼!");</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屬性來調(diào)用上面的javascript,具體代碼如下:</p><p> <input type="submit" name=&qu
83、ot;Submit" value="登錄" onClick="javascript:return(checkform());"></p><p> 當(dāng)用戶輸入完畢點擊登錄按鈕后,就會跳轉(zhuǎn)到后臺的檢查頁面,檢查頁面的功能是,通過用戶輸入的用戶名和密碼作為參數(shù),到數(shù)據(jù)庫里面去查找是否有匹配的項,如果有,則登錄成功,跳轉(zhuǎn)到系統(tǒng)主頁面;如果沒有,則返回登錄頁面,并
84、顯示用戶名或密碼錯誤。然后將登錄狀態(tài)設(shè)置為真,具體是通過給Session付值來實現(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表中尋找是否有匹配項</p><p> DBSQL dbsql = new DBSQL();//連接數(shù)據(jù)庫</p><p> dbsql.setSqlStr(sql); <
87、/p><p> dbsql.executeQuery();//執(zhí)行SQL語句</p><p> ResultSet rs = dbsql.getRs();//返回結(jié)果集</p><p> if (!rs.next()) //判斷登錄用戶和密碼在數(shù)據(jù)庫里是否存在</p><p><b> {</b><
88、/p><p> String errmsg="error1";</p><p> response.sendRedirect("login.jsp?errmsg="+errmsg);//不存在則返回登錄頁面,并提示錯誤</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)到主頁面</p><p><b> 3.系統(tǒng)主頁模塊</b></p><p> 系統(tǒng)主頁面(
91、index.jsp)是員工進(jìn)入系統(tǒng)后的一個操作索引,所有的操作都從這里開始,在此頁面中,對權(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)限員工看到的不同界面主要是部門菜單顯示和非顯示,具體的實現(xiàn)是用java代碼實現(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="財務(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%>">財務(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è)績</a></div></td></p><
106、;p><b> <%</b></p><p> if(userdepartment.equals("財務(wù)部")||jurisdiction.equals("*****"))//用一個嵌套if語句,判斷權(quán)限,只有財務(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è)計的,這也涉及到權(quán)限問題,一般員工的登錄
111、權(quán)限只能查詢其他員工的公開資料,而管理層的登錄權(quán)限不僅可以查詢到公開資料,也能查詢保密資料,這個功能是根據(jù)登錄者的權(quán)限點擊鏈接時,跳轉(zhuǎn)到不同的顯示頁面來實現(xiàn)的。</p><p> 一般員工查詢的跳轉(zhuǎn)頁面如圖6:</p><p> 圖6 員工公開資料界面圖</p><p> 公司管理層查詢的跳轉(zhuǎn)頁面如圖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ù)庫,得到登錄權(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ù)庫</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頁面查看被查詢者資料</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頁面查看被查詢者資料</p><p><b> }</b></p><p><b>
121、; }</b></p><p><b> 5.薪金計算模塊</b></p><p> 員工每月薪金的計算是和員工的職務(wù)與業(yè)績分不開的,而職務(wù)和員工的權(quán)限又是成正比的,所以和薪金相關(guān)的就是員工的權(quán)限與業(yè)績,員工的權(quán)限是固定的,而每個月的業(yè)績確實浮動的,所以具體的實現(xiàn)是:每個權(quán)限對應(yīng)不同的固定薪金,然后每個員工的業(yè)績通過一個算法,得到浮動薪金,把這兩部分
122、加起來就是員工的總薪金。這個算法我把它封裝到了一個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)限對應(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;//計算員工總薪金</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> 但需要計算某個員工薪金時,只需把這個員工的權(quán)限和業(yè)績作為參數(shù)實
131、例這個類的一個對象,然后調(diào)用getSalary()方法就能取的薪金,具體調(diào)用如下:</p><p> Salary sal = new Salary(jurisdiction,contribution);// jurisdiction和contribution為員工的權(quán)限和當(dāng)月業(yè)績</p><p> int salary = sal.getSalary();</p>&l
132、t;p><b> 5 測試</b></p><p><b> 5.1 測試環(huán)境</b></p><p> 5.1.1 硬件環(huán)境</p><p><b> 普通計算機(jī)配置。</b></p><p> 5.1.2 軟件環(huán)境</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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 獵頭公司管理規(guī)定
- r獵頭公司zz分公司獵頭崗位的招聘管理研究
- xxx獵頭公司薪酬管理案
- 基于可用性的獵頭公司管理系統(tǒng)設(shè)計研究.pdf
- A獵頭公司績效管理系統(tǒng)模型設(shè)計.pdf
- R獵頭公司ZZ分公司獵頭崗位的招聘管理研究.pdf
- 獵頭公司服務(wù)協(xié)議
- 睿緣獵頭公司業(yè)務(wù)管理系統(tǒng)設(shè)計與實現(xiàn).pdf
- 獵頭公司掃盲帖
- A獵頭公司獵頭顧問日常管理問題及改進(jìn)研究.pdf
- 0獵頭公司ppt模板
- 獵頭公司專業(yè)的背景調(diào)查解析
- 英才獵頭管理軟件定價研究.pdf
- 獵頭公司考核方案
- 獵頭公司招聘效率提升三維分析——以A獵頭公司為例.pdf
- 醫(yī)院部內(nèi)部事務(wù)管理制度
- 委托代理招聘合同(獵頭公司)
- 獵頭公司勞動合同資料
- 獵頭公司服務(wù)營銷研究.pdf
- 獵頭公司創(chuàng)業(yè)計劃書
評論
0/150
提交評論