畢業(yè)設計--- 考勤管理系統(tǒng)設計與實現(xiàn)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題目: 考勤管理系統(tǒng)設計與實現(xiàn) </p><p>  院 (系): 建筑與信息工程學院 </p><p>  專 業(yè): </p><p>  姓 名:

2、 </p><p>  學 號: </p><p>  指導教師: </p><p>  二〇 年 月 日</p><p>  畢業(yè)設計(論文)任務書</p><p>  畢業(yè)設計(論文)進度計劃表</p>

3、;<p>  本表作評定學生平時成績的依據(jù)之一</p><p><b>  摘 要</b></p><p>  當今社會,資金是企業(yè)生存的主要元素,資金的流動影響到企業(yè)的整體運作,企業(yè)員工的工資是企業(yè)資金管理的一個重要的組成部分。而隨著企業(yè)人員數(shù)量的增加,企業(yè)的工資管理也變得越來越復雜。企業(yè)員工的人數(shù)越多,工資的統(tǒng)計工作就越多,工資的發(fā)放困難就越大。&l

4、t;/p><p>  因此,開發(fā)一個界面友好,易于操作的員工信息管理軟件進行自動化處理具有較大的社會現(xiàn)實意義。同時,人事考勤管理系統(tǒng)是一切應用系統(tǒng)的典范,它具有一切應用系統(tǒng)的特征,系統(tǒng)結構與現(xiàn)實生活緊密結合,具體直觀,開發(fā)應用簡單,不失一般性。</p><p>  本論文主要介紹了系統(tǒng)的分析,設計和開發(fā)的全部過程。運用數(shù)據(jù)流圖,ER圖,程序流程圖等對系統(tǒng)的設計過程進行詳細的說明。全文共分為前言

5、、需求分析、系統(tǒng)設計、開發(fā)技術、關鍵技術解決,結論六部分。系統(tǒng)采用B/S開發(fā)模式,開發(fā)工具選擇JAVA、JSP、JavaScript、Html語言,采用Tomcat服務器技術,后臺數(shù)據(jù)庫選用SQL Server 2000。</p><p>  關鍵詞: JSP,JAVA,SQL Server 2000數(shù)據(jù)庫,B/S模式</p><p><b>  Abstract</b&g

6、t;</p><p>  In today's society, money is the main element of the enterprise survival, capital flows affect the overall operation of the enterprise, an important part of enterprise financial management is

7、 the enterprise staff's wages. With the increasing number of business people, wage management of enterprises has become more and more complex. The more the number of employees, the statistical work pay more wages, pa

8、yment of the greater difficulty.</p><p>  Therefore, development of a friendly interface, the staff information management software is easy to operate with the social significance in automatic processing. At

9、 the same time, personnel attendance management system is a model for all applications, it has the characteristics of every application system, the system structure and real life closely, concrete intuitive, development

10、and application of simple, without loss of generality.</p><p>  This paper mainly introduced the system analysis, design and development of the whole process. Using data flow diagram, ER diagram, a detailed

11、description of the procedure flow chart of the system design process. The full text is divided into preface, solve the demand analysis, system design, development technology, key technology, the conclusion of six parts.

12、The system uses the B/S mode, selection of development tools JAVA, JSP, JavaScript, Html language, using Tomcat server technology, backgr</p><p>  KEY WORD :JSP JAVA SQL Server 2000 database B/S model&

13、lt;/p><p><b>  目錄</b></p><p><b>  第一章 緒言1</b></p><p>  第一節(jié) SQL server 2000簡介1</p><p>  第二節(jié) B/S模式及其優(yōu)勢2</p><p>  第三節(jié) Java簡介4</p&g

14、t;<p>  第二章 考勤管理系統(tǒng)概念結構設計5</p><p>  第一節(jié) 需求分析5</p><p>  第二節(jié) 系統(tǒng)分析5</p><p>  第三章 考勤管理系統(tǒng)結構的設計8</p><p>  第一節(jié) 業(yè)務流程分析8</p><p>  第二節(jié) 功能模塊設計9</p>

15、<p>  第三節(jié) 數(shù)據(jù)庫設計10</p><p>  第四節(jié) 管理系統(tǒng)流程設計11</p><p>  第五節(jié) 數(shù)據(jù)庫的邏輯設計12</p><p>  第四章 考勤管理系統(tǒng)的實現(xiàn)14</p><p>  第一節(jié) 數(shù)據(jù)庫的連接14</p><p>  第二節(jié) 系統(tǒng)實現(xiàn)14</p>

16、<p><b>  結論28</b></p><p><b>  致謝29</b></p><p><b>  參考文獻30</b></p><p><b>  第一章 緒言</b></p><p>  第一節(jié) SQL server 20

17、00簡介</p><p>  Microsoft SQL Server2000是由 Microsoft公司開發(fā)的,簡稱SQL Server,由一系列相互協(xié)作的組件構成,能滿足最大的Web站點和企業(yè)數(shù)據(jù)處理系統(tǒng)存儲和分析數(shù)據(jù)的需求。</p><p>  Microsoft SQL Server 2000 的特性包括: </p><p>  一、Internet 集成

18、</p><p>  SQL Server 2000 數(shù)據(jù)庫引擎提供完整的 XML 支持。它還具有構成最大的 Web 站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能。SQL Server 2000 程序設計模型與 Windows DNA 構架集成,用以開發(fā) Web 應用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服務等功能,在 Web 應用程序中包

19、含了用戶友好的查詢和強大的搜索功能。</p><p>  二、可伸縮性和可用性</p><p>  同一個數(shù)據(jù)庫引擎可以在不同的平臺上使用,從運行 Microsoft Windows 98 的便攜式電腦,到運行 Microsoft Windows 2000 數(shù)據(jù)中心版的大型多處理器服務器。SQL Server 2000 企業(yè)版支持聯(lián)合服務器、索引視圖和大型內(nèi)存支持等功能,使其得以升級到最大

20、 Web 站點所需的性能級別。 </p><p>  三、企業(yè)級數(shù)據(jù)庫功能</p><p>  SQL Server 2000 關系數(shù)據(jù)庫引擎支持當今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護數(shù)據(jù)完整性,同時將管理上千個并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。SQL Server 2000 分布式查詢使您得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好象這些數(shù)據(jù)是 SQL Server 2000 數(shù)據(jù)

21、庫的一部分,同時分布式事務支持充分保護任何分布式數(shù)據(jù)更新的完整性。復制同樣使您得以維護多個數(shù)據(jù)復本,同時確保單獨的數(shù)據(jù)復本保持同步。可將一組數(shù)據(jù)復制到多個移動的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務器。 </p><p>  四、易于安裝、部署和使用</p><p>  SQL Server 2000 中包括一系列管理和開發(fā)工具,這些工具可改進在多個站點上安裝、

22、部署、管理和使用 SQL Server 的過程。SQL Server 2000 還支持基于標準的、與 Windows DNA 集成的程序設計模型,使 SQL Server 數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強大的可伸縮系統(tǒng)的無縫部分。這些功能使您得以快速交付 SQL Server 應用程序,使學生只需最少的安裝和管理開銷即可實現(xiàn)這些應用程序。 </p><p><b>  五、數(shù)據(jù)倉庫</b>&

23、lt;/p><p>  SQL Server 2000 中包括析取和分析匯總數(shù)據(jù)以進行聯(lián)機分析處理 (OLAP) 的工具。SQL Server 中還包括一些工具,可用來直觀地設計數(shù)據(jù)庫并通過 English Query 來分析數(shù)據(jù)。 </p><p>  第二節(jié) B/S模式及其優(yōu)勢</p><p>  一、C/S(Client/Server)模式</p>

24、<p>  過去,網(wǎng)絡軟件的開發(fā)都采用C/S(Client)模式,在這種模式下,主要的業(yè)務邏輯都集中于學生端程序,基于Client/Server(學生端/服務器)結構的考試系統(tǒng),利用計算機局域網(wǎng)絡,每臺計算機(學生端)通過安裝必要的軟件才能與服務器端相互通信。由于利用了計算機網(wǎng)絡,不再需要大量人力以實現(xiàn)考題的一致性和考試信息的收集,自動化程度和效率較高。但由于其結構特點,只適用于一定范圍的網(wǎng)絡內(nèi)部(局域網(wǎng)),范圍難以擴展,可以

25、通過改進通信協(xié)議,對該結構進行改造,使其適用于更廣的網(wǎng)絡范圍(廣域網(wǎng)),但由于需要安裝學生端程序,維護和升級同樣存在困難。</p><p>  這種結構也稱為MIS型架構,試題內(nèi)容放在遠程的服務器上,在考試機上安裝考試應用程序和數(shù)據(jù)庫學生機配置,因此每次考試時要對機器進行安裝、配置,這樣一來考試組織比較煩瑣;而且考試程序放在學生機上,安全性也受到一定程度的影響。</p><p>  二、B

26、/S(Browser/Server)模式</p><p>  B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層(3-tier)結構。一個三層架構的應用程序由三部分組成,

27、這三部分各自分布在網(wǎng)絡中的不同地方。這三個部分分別是:工作站或表示層接口、事務邏輯、數(shù)據(jù)庫以及與其相關的程序設計。在一個典型的三層架構應用程序中,應用程序的用戶工作站包括提供圖形用戶界面(GUI)的程序設計和具體的應用程序入口表格或交互式窗口。</p><p>  這種應用程序的設計使用學生/服務器模式,各層可以同時開發(fā),并且可以由不同的成員組用不同的語言來開發(fā)。因為各個層次的開發(fā)不會影響其他層次,所以這種模型對

28、于進一步開發(fā)軟件是很方便的。這樣就大大簡化了學生端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術看,局域網(wǎng)建立B/S結構的網(wǎng)絡應用,并通過Internet/Intranet模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺

29、和管理訪問權限,服務器數(shù)據(jù)庫也很安全。特別是在Java這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、快捷、高效。</p><p>  這種B/S模式學生端只要安裝一個標準的Web瀏覽器,其它應用程序都存儲在Web服務器上。建立在B/S模式上的在線考試系統(tǒng),可建立大型、高效、共享的題庫,在服務器端對數(shù)據(jù)庫進行管理,學生端通過瀏覽器登錄考試系統(tǒng),打破了時空界限,可實現(xiàn)自動出卷、閱卷、評卷、簡化考試程序,且考試

30、結果更加公正、客觀。</p><p>  采用B/S(Browser/Server)模式的計算機在線考試和管理系統(tǒng)適用于一個考場或幾十個考場、幾十人甚至幾萬人同時通過網(wǎng)絡在線考試,解決了考試系統(tǒng)對學生機軟件過分依賴的問題,減輕了學生機軟件維護工作量,比以往的考試系統(tǒng)更具有實用性。采用這種結構,考試系統(tǒng)安裝和試題裝卸的程序簡易;進行不同類別試題的考試時僅需要在服務器上進行試題的更換處理,對考場的計算機配置應考專業(yè)的

31、相應軟件,考生就可以進行考試。</p><p>  此技術超越了傳統(tǒng)的“學生機/服務器”兩層結構,采用了三層體系結構:用戶界面層/事務層/數(shù)據(jù)庫層。因此Web結構有著更好的安全性。在用戶機上不需要安裝任何應用程序,應用程序可以安裝在事務層所在的計算機上,試題存放在數(shù)據(jù)庫服務器上(事務層和數(shù)據(jù)庫可以是同一臺機器)。</p><p>  第三節(jié) Java簡介</p><p&

32、gt;  簡言之,Java環(huán)境可用來開發(fā)能在任何計算平臺上運行的應用軟件。它實際上是一種非常基本且結構緊湊的技術,而它對World Wide Web以及商業(yè)的總體影響已可同電子表格對PC機的影響相比擬。</p><p>  Java已用動態(tài)的交互應用軟件使Web栩栩如生。它使開發(fā)人員具有“編寫一次到處運行TM”的巨大能力。而且,借助其Java API及其編程語言上的Java虛擬機,它已產(chǎn)生一種分布信息的嶄新模式。

33、這種模式叫做Java企業(yè)計算,正在幫助各企業(yè)以各種不同的方法取得競爭優(yōu)勢。網(wǎng)管和控制已大大簡化。軟件分配基本上是免費的,而且立即可實現(xiàn)。電子貿(mào)易已獲得。占有成本大幅度降低。信息和應用軟件到處可存取。</p><p>  Java建立在簡單的前提基礎上,即所有微處理器都應講同一種語言——所有內(nèi)部采用芯片的產(chǎn)品都應能一起工作,無縫而方便地共享信息。它已經(jīng)改變企業(yè)和個人同Internet大交道的方式。現(xiàn)在,它正在對消費

34、類產(chǎn)品產(chǎn)生明顯的影響,而且從總體上更加深刻地影響企業(yè)計算。</p><p>  借助Java,您可自由自在地使用您已擁有的硬件和軟件。這是因為Java是獨立于平臺的,它還可使您超越企業(yè)計算,使應用軟件在便攜式計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。</p><p>  全世界的公司都已發(fā)現(xiàn)Java數(shù)不勝數(shù)的應用。所有應用可從其無可比擬的能力,即提高可靠性、安全性和簡化各種不同計

35、算產(chǎn)品和環(huán)境的能力中受益匪淺,而且節(jié)省的時間和費用十分可觀。</p><p>  Java無處不在。它已擁有幾百萬個用戶,其發(fā)展速度要快于在它以前的其他任何一種計算機產(chǎn)品。它可位于任何地方,而且能到處運行。Java正在迅速被用做傳播信息的事實上標準,這是因為它既可給企業(yè),也可給最終用戶帶來似乎數(shù)不清的好處。</p><p>  第二章 考勤管理系統(tǒng)概念結構設計</p><

36、;p><b>  第一節(jié) 需求分析</b></p><p>  在當今社會,各種物資越來越豐富,而作為一個企業(yè),特別是一個商業(yè)企業(yè)來說,需要對這些物資進行管理。由于物質(zhì)繁雜,管理起來有一定的難度,可以用信息化的手段來處理這件原本十分復雜的事物,所以我們可以用VFP來設計一個考勤管理系統(tǒng)。</p><p><b>  第二節(jié) 系統(tǒng)分析</b>

37、</p><p><b>  一、功能分析</b></p><p>  該系統(tǒng)要實現(xiàn)的功能如下:</p><p>  1.部門信息管理:包括一個企業(yè)的部門信息的添加、修改和刪除。</p><p>  2.員工信息管理:包括企業(yè)員工信息如員工編號、姓名、性別、婚姻、身份證、所在部門等信息的添加、修改、刪除、查詢和打印。&l

38、t;/p><p>  3.員工考勤操作:主要是針對某一個員工在其需要考勤的進段進行考勤,記錄其某一個時段(上午或下午)的考勤狀況。</p><p>  4.考勤記錄管理:包括對考勤操作留下來的記錄進行分條瀏覽、修改、刪除、查詢和打印。</p><p>  5.員工加班操作:主要是記錄某一個員工開始加班時間和結束加班時間,并根據(jù)這兩個時間數(shù)值計算出其加班時長。</p

39、><p>  6.加班記錄管理:包括對加班管理操作留下來的記錄進行修改、刪除、查詢和打印。</p><p>  7.日終處理操作:主要在每日下午將要下班時對今天應該考勤卻未考勤的人的考勤狀況進行調(diào)整,提供了兩種選擇:一種是將其作為休息,也就是放假;一種是將其作為曠勤。這樣就保證每個員工在其應該考勤的時候都有考勤記錄。</p><p>  8.記錄查詢:包括對考勤記錄、加

40、班記錄的按條件查詢,對一個月內(nèi)考勤記錄、加班記錄、日終處理記錄的統(tǒng)計查詢。</p><p>  9.信息記錄打?。喊▎T工信息、部門信息的報表打印以及一個月內(nèi)考勤記錄、加班記錄、日終處理記錄的統(tǒng)計報表打印。</p><p>  10.系統(tǒng)功能:包括系統(tǒng)登陸、系統(tǒng)退出以及關于本系統(tǒng);本系統(tǒng)使用內(nèi)置賬號,不提供添加或者修改賬號的功能。</p><p><b>

41、  二、模塊設計</b></p><p>  根據(jù)上面所要求的功能,可以對上面的功能進行模塊化,得出如下圖所示的系統(tǒng)功能模塊圖。</p><p>  圖2.1 系統(tǒng)功能模塊圖</p><p><b>  日常操作:</b></p><p>  對當天應該考勤的員工進行考勤;記錄員工加班的開始時間及結束時間并計

42、算出加班時長;對當天應該考勤而未考勤的職工進行強行考勤。</p><p><b>  信息管理:</b></p><p>  管理部門信息,添加、修改、刪除部門信息;員工信息管理,添加、修改、刪除員工信息,只有首先添加了部門信息才能添加員工信息,因為一個員工應該是屬于某一個具體部門的;對考勤操作留下的記錄進行修改、刪除和查詢;對加班操作留下來的記錄進行修改、刪除和查詢

43、。</p><p><b>  記錄查詢:</b></p><p>  按條件對考勤記錄、加班記錄進行查詢;查詢一個月內(nèi)的考勤記錄、加班記錄以及日終處理記錄。</p><p><b>  記錄打?。?lt;/b></p><p>  打印所有員工的信息報表及標簽;打印所有部門的標簽;按日期分組打印一個月內(nèi)

44、員工考勤記錄。</p><p><b>  系統(tǒng)功能:</b></p><p>  在使用系統(tǒng)前要求先登錄,只有合法的用戶才能登錄系統(tǒng);顯示系統(tǒng)的開發(fā)人等信息;退出系統(tǒng)。</p><p>  第三章 考勤管理系統(tǒng)結構的設計</p><p>  第一節(jié) 業(yè)務流程分析</p><p>  根據(jù)職工考勤

45、管理系統(tǒng)的設計要求可以畫出該系統(tǒng)的業(yè)務流程圖,如圖3.1所示。</p><p><b>  一、系統(tǒng)流程圖</b></p><p><b>  管理員(企業(yè)領導)</b></p><p>  圖3.1 系統(tǒng)流程圖</p><p><b>  二、數(shù)據(jù)流程圖</b></p&

46、gt;<p>  圖3.2 數(shù)據(jù)流程圖</p><p>  第二節(jié) 功能模塊設計</p><p>  企業(yè)考勤管理系統(tǒng)分為系統(tǒng)管理、部門管理、公告管理、員工管理、請假管理、個人考勤、考勤管理、留言管理、退出系統(tǒng)等九大模塊。各模塊的具體功能劃分如下:</p><p><b>  一、系統(tǒng)管理模塊</b></p><

47、;p>  圖3.3 系統(tǒng)管理模塊功能樹</p><p>  系統(tǒng)管理模塊包括更改密碼、高級管理(控制系統(tǒng))兩大子模塊。</p><p>  1、更改密碼:各級管理員登錄系統(tǒng)后,可自行重新設置登錄密碼;</p><p>  2、高級管理:控制系統(tǒng)的功能操作</p><p><b>  二、部門管理</b></p

48、><p>  圖3.4 部門管理模塊</p><p><b>  第三節(jié) 數(shù)據(jù)庫設計</b></p><p>  表3.1 管理員信息表(administrators)</p><p>  表3.2 控制系統(tǒng)信息表(cust_sys)</p><p>  表3.3 留言表(liuyuan)</p

49、><p>  表3.4 公告表(news)</p><p>  表3.5 部門表(departmen)</p><p>  表3.6 考勤表(kq)</p><p>  表3.7 請假信息表(qj)</p><p>  第四節(jié) 管理系統(tǒng)流程設計</p><p>  管理員可通過登錄名與密碼進入考勤系

50、統(tǒng),可以通過職工編號來進行對各別員工的查詢,進行考勤,也可以查看全體員工的考勤情況,還可以進行添加,刪除等操作。根據(jù)系統(tǒng)功能,可以畫出如下流程圖:</p><p>  圖3.5 系統(tǒng)功能流程圖</p><p>  針對職工管理系統(tǒng)的流程圖,現(xiàn)具體描述其功能:</p><p>  1.管理員登陸:系統(tǒng)對其合法性進行檢查;</p><p>  2

51、.職工個人考勤:通過職工編號查詢其信息;</p><p>  3.添加操作:添加職工的各種基本信息;</p><p>  4.刪除操作:根據(jù)職工編號刪除某個職工的全部信息。</p><p>  第五節(jié) 數(shù)據(jù)庫的邏輯設計</p><p>  根據(jù)系統(tǒng)的功能可以設計有關的概念模型,該系統(tǒng)涉及一張職工考勤信息表,可以畫出如下E-R圖:</p&

52、gt;<p>  一、管理員實體E-R圖:</p><p>  圖3.6 管理員實體E-R圖</p><p>  二、職工實體E-R圖:</p><p>  圖3.7 職工實體E-R圖</p><p><b>  三、數(shù)據(jù)庫設計:</b></p><p>  1.啟動SQL Serv

53、er 2005</p><p>  2.建立數(shù)據(jù)庫打開企業(yè)管理器,新建數(shù)據(jù)庫Student</p><p>  3.創(chuàng)建表kaoqing, kaoqing表的字段的屬性為:</p><p>  表3.8 Kaoqing表</p><p>  第四章 考勤管理系統(tǒng)的實現(xiàn)</p><p>  第一節(jié) 數(shù)據(jù)庫的連接<

54、/p><p>  1.創(chuàng)建ODBC數(shù)據(jù)源:選擇“控制面板”——“管理工具”——“ODBC數(shù)據(jù)源”,在雙擊ODBC數(shù)據(jù)源后,選擇“用戶DSN”,添加新的數(shù)據(jù)源,單擊“配置”,選擇SQL Server,數(shù)據(jù)源名稱為mymoon,設置用戶名為sa,密碼為163123,選擇數(shù)據(jù)庫Student。</p><p>  2.建立JDBC-ODBC 橋接器:</p><p>  C

55、lass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);建立橋接器時可能發(fā)生異常,為捕獲這個異常,所以建立橋接器的標準為:</p><p>  Try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDrivder”);}</p><p>  Catch(ClassNotFoundException e){}</p>

56、<p>  3.與ODBC數(shù)據(jù)源指定的數(shù)據(jù)庫建立連接:</p><p>  使用java.sql包中的Connection類聲明一個對象,然后使用類DriverManager調(diào)用它的一個靜態(tài)方法getConnection創(chuàng)建這個連接對象,con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","1

57、63123");捕獲異常為</p><p>  try{ con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","163123");} catch(SQL Exception e){}</p><p><b>  第二節(jié) 系統(tǒng)實現(xiàn)</b>&l

58、t;/p><p><b>  一、用戶登錄</b></p><p>  當用戶登陸時,首先出現(xiàn)的是一個登陸頁面,只有輸入正確的管理員姓名與密碼時,才能進入考勤系統(tǒng)。關鍵代碼如下:</p><p><b>  <html></b></p><p><b>  <head>

59、</b></p><p>  <title>登陸頁面</title></p><p>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></p><p><b>  </hea

60、d></b></p><p>  <body background="ip.JPG"></p><p><b>  <center></b></p><p><b>  <h1></b></p><p>  歡迎進入職工考勤管

61、理系統(tǒng)!</p><p>  <form action="check.jsp" method="post">//轉(zhuǎn)頁到check.jsp</p><p><b>  頁面</b></p><p>  &nbsp;&nbsp;&nbsp;管理員:</p>&

62、lt;p>  <input type="text" name="name"></p><p><b>  密碼:</b></p><p>  <input type="text" name="number"></p><p>  <

63、;input type="submit"value="提交"></p><p><b>  </form></b></p><p><b>  </center></b></p><p><b>  </body></b>

64、;</p><p><b>  </html></b></p><p><b>  如下圖所示:</b></p><p>  圖4.1 用戶登陸界面圖</p><p><b>  二、用戶檢查</b></p><p>  對輸入的管理員姓名與

65、密碼進行檢查,如若正確,則轉(zhuǎn)到考勤頁面,若不正確,則返回到登陸頁面,再次輸入姓名與密碼,直至正確。代碼如下:</p><p>  <%@page contentType="text/html" pageEncoding="UTF-8"%></p><p><b>  <html></b></p>

66、;<p><b>  <head></b></p><p>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></p><p>  <title>JSP Page</title>&

67、lt;/p><p><b>  </head></b></p><p><b>  <body></b></p><p><b>  <%</b></p><p>  String name=request.getParameter("nam

68、e") ;</p><p>  String password=request.getParameter("number");</p><p>  if(name.equals("shenyan") || password.equals("08260021"))</p><p>  {

69、 //檢查管理員姓名與密碼是否正確</p><p><b>  %></b></p><p>  <jsp:forward page="sucess.jsp"/> //正確,跳轉(zhuǎn)到考勤頁面</p><p><b>  <%</b></p><p

70、><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  %></b></p><p>  <jsp:forward page="form.htm

71、l"/> //不正確,返回到登陸頁面</p><p><b>  <% }</b></p><p><b>  %></b></p><p><b>  </body></b></p><p><b>  </

72、html></b></p><p><b>  如下圖所示:</b></p><p>  圖4.2 用戶檢查圖</p><p>  三、按職工編號考勤:</p><p>  輸入職工編號,可以通過調(diào)用bean來取得數(shù)據(jù)庫中信息,并顯示出來。關鍵代碼如下:</p><p>  &l

73、t;%@page contentType="text/html" pageEncoding="UTF-8"%></p><p>  <%@page import="tom.jiafei.ConditionQuery"%></p><p>  <jsp:useBeanid="database&quo

74、t; class="tom.jiafei.ConditionQuery"scope="request"/></p><p>  <jsp:setProperty name="database" property="number"param="number"/></p><p&g

75、t;  根據(jù)職工編<jsp:getProperty name="database" property="number"/></p><p><b>  查詢到的考勤記錄</b></p><p>  <BR><jsp:getProperty name="database" prop

76、erty="queryResultByNumber"/></p><p>  <form method="get"action="sucess.jsp"></p><p>  <input type="submit"value="返回上一頁面"></p&g

77、t;<p><b>  </form></b></p><p>  <form method="get"action="form.html"></p><p>  <input type="submit"value="返回登錄頁面"><

78、;/p><p><b>  </form></b></p><p>  ConditonQuery.java的部分代碼如下:</p><p>  package tom.jiafei;</p><p>  import java.sql.*;</p><p>  public class

79、ConditionQuery {</p><p>  String number;//職工編號</p><p>  StringBuffer queryResultByNumber;</p><p>  public ConditionQuery(){</p><p>  queryResultByNumber=new StringBuffe

80、r();</p><p><b>  try{</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//建立一個jdbc-odbc橋接器</p><p>  }catch(ClassNotFoundException e){}//捕獲建立橋接器時的異常<

81、;/p><p><b>  }</b></p><p><b>  //</b></p><p>  private StringBuffer f(String condition){</p><p>  StringBuffer str=new StringBuffer();</p>&

82、lt;p>  Connection con;</p><p>  Statement sql;</p><p>  ResultSetrs; try{con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","163123");//連接數(shù)據(jù)庫</p>

83、<p>  sql=con.createStatement();</p><p>  rs=sql.executeQuery(condition);</p><p>  str.append("<table border=1>");</p><p>  str.append("<th width=100>

84、;"+"職工編號");</p><p>  str.append("<th width=100>"+"職工姓名");</p><p>  str.append("<th width=100>"+"所在部門");</p><p>  s

85、tr.append("<th width=100>"+"性別");</p><p>  str.append("<th width=100>"+"缺勤次數(shù)");</p><p>  str.append("<th width=100>"+"請假次

86、數(shù)");</p><p>  str.append("<th width=100>"+"出差次數(shù)");</p><p>  while(rs.next()){</p><p>  str.append("<tr>");</p><p>  str.a

87、ppend("<td>"+rs.getString(1)+"</td>");</p><p>  str.append("<td>"+rs.getString(2)+"</td>");</p><p>  str.append("<td>&q

88、uot;+rs.getString(3)+"</td>");</p><p>  str.append("<td>"+rs.getString(4)+"</td>");</p><p>  str.append("<td>"+rs.getString(5)+&qu

89、ot;</td>");</p><p>  str.append("<td>"+rs.getString(6)+"</td>");</p><p>  str.append("<td>"+rs.getString(7)+"</td>");&l

90、t;/p><p>  str.append("</tr>");</p><p><b>  }</b></p><p>  str.append("<table border=1>");</p><p>  con.close();</p><

91、;p>  }catch(SQLException e){str.append(e);}</p><p>  return str;</p><p><b>  }</b></p><p><b>  其結果如下圖所示:</b></p><p>  圖4.3 職工編號考勤圖</p>

92、<p>  四、查看全體職工考勤記錄</p><p><b>  關鍵代碼如下:</b></p><p>  <%@page contentType="text/html" pageEncoding="UTF-8"%></p><p>  <%@page import=&qu

93、ot;java.sql.*"%></p><p><b>  <%</b></p><p>  Connection con;</p><p>  Statement sql; </p><p>  ResultSet rs; </

94、p><p>  try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  } catch (ClassNotFoundException e) {out.print(e);</p><p>  }//捕獲建立橋接器時的異常</p><p>  try { con

95、 = DriverManager.getConnection("jdbc:odbc:mymoon", "sa", "163123");</p><p>  sql = con.createStatement();</p><p>  rs = sql.executeQuery("SELECT * FROM kaoqing

96、");</p><p>  out.print("<table border=2>");</p><p>  out.print("<th width=100>" + "職工編號");</p><p>  while (rs.next()) {</p><

97、;p>  out.print("<tr>");</p><p>  out.print("<td>" + rs.getString(1) + "</td>");</p><p>  out.print("</tr>");</p><p&g

98、t;<b>  }</b></p><p>  out.print("</table border=2>");</p><p>  con.close(); </p><p>  } catch (SQLException e1) {</p><p>  out.print(e1);}&l

99、t;/p><p><b>  %></b></p><p>  其查詢結果如下圖所示:</p><p>  圖4.4 職工考勤記錄圖</p><p>  五、添加職工信息操作</p><p>  此操作用到了addbean和querybean,其中querybean幫助其查詢kaoqing表中的

100、記錄;而addbean是add.jsp調(diào)用它把信息添加到kaoqingbiao中,關鍵代碼如下:</p><p>  add.jsp的部分代碼:</p><p>  <%@page import="tom.jiafei.QueryBean"%></p><p>  <%@page import="tom.jiafei.

101、addBean"%></p><p>  <jsp:useBean id="look" class="tom.jiafei.QueryBean" scope="request"/></p><p>  <jsp:useBean id="add" class="tom.

102、jiafei.addBean" scope="request"/></p><p>  <jsp:setProperty name="look" property="ODBCDataSource" value="mymoon"/></p><p>  <jsp:setPrope

103、rty name="look" property="tableName" value="kaoqing"/></p><p>  <jsp:setProperty name="look" property="user" value="sa"/></p><p

104、>  <jsp:setProperty name="look" property="secret" value="163123"/></p><p>  <form action="add.jsp" method="post"></p><p>  <br

105、>輸入職工編號:<input type="text" name="number" size="6"> </p><p>  <jsp:setProperty name="add" property="*"/> </p><p>  <br

106、>您的操作結果:</p><p>  <jsp:getProperty name="add" property="addMessage"/></p><p>  <p>數(shù)據(jù)庫當前的數(shù)據(jù)記錄是:</p><p>  <jsp:getProperty name="look"

107、 property="queryResult"/></p><p><b>  </form></b></p><p>  Addbean的關鍵代碼:</p><p>  public String getAddMessage(){</p><p>  String str = &q

108、uot;";</p><p>  Connection con;</p><p>  Statement sql;</p><p><b>  try {</b></p><p>  con = DriverManager.getConnection("jdbc:odbc:mymoon",

109、"sa", "163123"); </p><p>  String insertCondition = "insert into kaoqing(職工編號,職工姓名,所在部門,性別,缺勤次數(shù),請假次數(shù),出差次數(shù))" + "values('" + number + "','"

110、; + name + "','" + department+ "','" + sex + "','" + queq+ "','" + qingj + "','"+chuc+"')";</p><p>  sq

111、l = con.createStatement();</p><p>  if (number!=null) {</p><p>  int m = sql.executeUpdate(insertCondition);</p><p>  if (m != 0) {</p><p>  str = "對表中添加" + m

112、 + "條記錄成功";</p><p><b>  } else {</b></p><p>  str = "添加失敗";</p><p><b>  }</b></p><p><b>  } else {</b></p>

113、<p>  str = "必須要有員工號";</p><p><b>  }</b></p><p>  con.close();</p><p>  } catch (SQLException e) {</p><p>  str = "輸入的員工號不允許有重復"

114、+ e;</p><p><b>  }</b></p><p>  return str;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  添加結果如所示:</b><

115、;/p><p>  圖4.5 添加職工信息操作圖</p><p>  圖4.6添加職工信息操作圖</p><p><b>  六、刪除職工信息</b></p><p>  與添加操作基本相同,關鍵代碼如下:</p><p>  Delete.jsp 部分代碼:</p><p>

116、  <%@page import="tom.jiafei.QueryBean" %></p><p>  <%@page import="tom.jiafei.delBean"%></p><p>  <jsp:useBean id="look" class="tom.jiafei.Quer

117、yBean" scope="request"/></p><p>  <jsp:useBean id="del" class="tom.jiafei.delBean" scope="request"/></p><p>  <jsp:setPropertyname="

118、look" property="ODBCDataSource" value="mymoon"/></p><p>  <jsp:setProperty name="look" property="tableName" value="kaoqing"/></p><p&

119、gt;  <jsp:setProperty name="look" property="user" value="sa"/></p><p>  <jsp:setProperty name="look" property="secret" value="163123"/>

120、</p><p>  <br>輸入要刪除的員工號:<input type="text" name="number" size="6"></p><p>  <br><input type="submit" name="b" value="提

121、交刪除"></p><p>  <jsp:setProperty name="del" property="*"/></p><p><b>  <br></b></p><p>  <br>您的更新操作結果:</p><p> 

122、 <jsp:getProperty name="del" property="delMessage"/></p><p>  <p>數(shù)據(jù)庫當前的數(shù)據(jù)記錄是: </p><p>  <jsp:getProperty name="look" property="que

123、ryResult"/></p><p>  Deletebean的關鍵代碼如下:</p><p>  public String getDelMessage() {</p><p>  String str = "";</p><p>  Connection con;</p><p&g

124、t;  Statement sql;</p><p>  String delCondition = "delete from kaoqing where 職工編號='" + number + "'";</p><p><b>  try {</b></p><p>  con = Dr

125、iverManager.getConnection("jdbc:odbc:mymoon", "sa", "163123");</p><p>  sql = con.createStatement();</p><p>  if (number != null) {</p><p>  int m = sq

126、l.executeUpdate(delCondition);</p><p>  if (m != 0) {</p><p>  str = "對表中刪除" + m + "條記錄成功";</p><p><b>  } else {</b></p><p>  str = &quo

127、t;刪除失敗";</p><p><b>  }</b></p><p><b>  } else {</b></p><p>  str = "必須指定要刪除的員工號";} con.close();</p><p>  } catch (SQLException e)

128、 { str = "員工號不存在";} return str;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  操作結果如所示:</b></p><p>  圖4.7 刪除職工信息圖</p&

129、gt;<p>  圖4.8 刪除職工信息圖</p><p><b>  結論</b></p><p>  在這次課程設計中,雖然系統(tǒng)完成了,但還是有不足的地方。在寫程序時,有些地方應該用到的語句不懂,所以只能用自己會的來編寫,從而放棄了最適宜的語句,使得整個程序有了些瑕疵。這讓我明白了一門課程還是要完全掌握吃透了才行啊。 總的來說,這次職工考勤管理系

130、統(tǒng)的設計與實現(xiàn)完成了。</p><p>  這個系統(tǒng)是職工考勤管理系統(tǒng),要求對職工進行出勤,缺勤等的考查,另外還帶有添加,刪除等操作,所以一開始設計這個系統(tǒng)感到?jīng)]有頭緒,不得要領,并且沒有足夠的知識來運用,于是查找了很多的書籍,希望能有所幫助。隨著課程的進行,對JSP的了解也日益增加,能夠把系統(tǒng)的部分功能漸漸的寫出來了。在此過程中也出現(xiàn)了一些困難,比如連接數(shù)據(jù)庫,一開始的時候不會連接,后來參考了書籍,按照書上的方

131、法才連接成功,使得JSP程序與數(shù)據(jù)源取得了連系;還有就是在寫添加操作這個功能時,也遇到了一點麻煩,總是出現(xiàn)亂碼,后來在包里又新建了一個java類,寫了控制亂碼的語句才使添加功能正常運行了。</p><p>  本軟件由于實際的情況,只設置了單一的用戶管理功能,可根據(jù)需要采用多級用戶管理模式,不同的用戶權限不一樣,另外,考慮到安全性,還可以對密碼進行加密,這些是本軟件需要改進的地方。本軟件由于功能比較齊全,值得推廣

132、。</p><p><b>  致謝</b></p><p>  首先誠摯的感謝我的論文指導老師,從選題的確定、論文的寫作、修改到最后定稿過程中,自始至終都傾注著老師的心血。特別是他多次詢問寫作進程,并為我指點迷津,幫助我開拓思路,老師以嚴謹?shù)闹螌W之道、寬厚仁慈的胸懷、積極樂觀的生活態(tài)度,兢兢業(yè)業(yè)、孜孜以求的工作作風和大膽創(chuàng)新的進取精神為我樹立了一輩子學習的典范,他的

溫馨提示

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

評論

0/150

提交評論