java家政服務管理系統(tǒng)畢業(yè)設計_第1頁
已閱讀1頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  XXXXXXXX </b></p><p>  2011 屆畢業(yè)設計說明書</p><p>  xx家政服務管理系統(tǒng) </p><p>  系 、 部: XXXXXXXXXXXX </p><p>  學生姓名: XXX </p>

2、;<p>  指導教師: XXX 職稱 XXXX </p><p>  專 業(yè): XXXXXXXXXX </p><p>  班 級: XXXXXX </p><p>  完成時間: 2011-04-15 </p><p&g

3、t;<b>  摘要</b></p><p>  家政服務管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面.對于前者要求建立數(shù)據(jù)一致性和完整性強,數(shù)據(jù)安全性好的數(shù)據(jù)庫.而對于后者則要求應用程序功能完備,易使用等特點。隨著計算機技術的高速發(fā)展,人們對計算機的依賴性越來越強,特別是用計算機開發(fā)的數(shù)據(jù)庫以及數(shù)據(jù)管理系統(tǒng)在生活應用中表現(xiàn)得更為

4、突出,為此開發(fā)此系統(tǒng)。通過使用家政服務管理系統(tǒng),使家政服務店的管理工作系統(tǒng)化、規(guī)范化、自動化、簡易化、智能化,從而達到提高家政服務管理效率的目的。系統(tǒng)開發(fā)采用Sun公司的Java,利用其強大的可視化界面功能及對數(shù)據(jù)庫的支持,先構造一個原型,逐步增加功能,最終滿足需求。 </p><p>  關鍵詞:家政服務、 管理系統(tǒng)、數(shù)據(jù)庫、瀏覽器/服務器體系結構 </p><p><b> 

5、 目錄</b></p><p><b>  摘要2</b></p><p><b>  目錄3</b></p><p>  第一章 緒 論4</p><p>  1.1 系統(tǒng)開發(fā)背景4</p><p>  第二章 開發(fā)工具簡介6</p>

6、<p>  2.1 SQL Server簡介6</p><p>  2.2 Myeclipse7.5簡介7</p><p>  2.3 Tomcat簡介7</p><p>  第三章 系統(tǒng)需求分析7</p><p>  3.1 需求分析8</p><p>  3.2 可行性分析8</

7、p><p>  3.3 系統(tǒng)分析8</p><p>  3.3.1 系統(tǒng)目標8</p><p>  3.3.2 系統(tǒng)模塊結構9</p><p>  3.3.3 業(yè)務流程圖9</p><p>  第四章 系統(tǒng)總體設計10</p><p>  4.1 系統(tǒng)設計的內容10</p>

8、<p>  4.2 數(shù)據(jù)庫設計11</p><p>  4.2.1 數(shù)據(jù)庫分析11</p><p>  4.2.2 數(shù)據(jù)庫概念設計11</p><p>  4.2.3 數(shù)據(jù)庫邏輯設計12</p><p>  4.2.4 創(chuàng)建數(shù)據(jù)庫及表15</p><p>  第五章 系統(tǒng)詳細設計16<

9、/p><p>  5.1 注冊和登錄界面設計16</p><p>  5.2 主界面設計19</p><p>  5.3 公共類設計20</p><p>  5.4 服務預約模塊23</p><p>  5.5 查詢設計26</p><p>  5.6 客戶發(fā)布需求信息模塊28</

10、p><p>  5.7 雇員管理模塊30</p><p>  5.8 會員管理模塊設計33</p><p>  5.9 其他管理模塊設計35</p><p>  第六章 系統(tǒng)測試與運行38</p><p>  6.1 系統(tǒng)測試測試策略說明38</p><p>  6.1.1整個系統(tǒng)界面窗口

11、的測試38</p><p>  6.1.2 數(shù)據(jù)測試項目38</p><p>  6.2 測試報告39</p><p>  6.3 系統(tǒng)運行39</p><p>  第七章 結束語39</p><p><b>  致謝41</b></p><p><b&

12、gt;  參考文獻42</b></p><p><b>  第一章 緒 論</b></p><p>  1.1 系統(tǒng)開發(fā)背景</p><p>  近年來,隨著家政服務行業(yè)在國內的普及,越來越多的家政服務機構在中國大地上生根發(fā)芽。這么多的機構和公司給需求者帶來了很大的便利,同時也給更多的需求者帶來了很大的困惑。如,我該選擇哪家機

13、構,哪家機構的家政服務人員都是哪里的,哪家機構的家政服務人員的工作認真、態(tài)度好。</p><p>  此類問題的產生多數(shù)是由于家政服務機構對家政服務人員的信息的管理不當引起的。很多機構都采用記賬本的方式來記錄、管理員工的信息,這樣就可能會導致信息的丟失、被隨意串改等情況,對需求者的需求帶來很大的不安定因素。</p><p>  在采用計算機的管理技術后,在很大程度上將會減少這類事情的發(fā)生,

14、也提高了信息的可信度和安全性而且對于管理者來說這樣的管理方式可以提高自己的工作效率。</p><p>  其實在國外,家政服務行業(yè)早已是一個很繁榮的行業(yè),更有日本學者說他們有一個服務行業(yè)的時代。</p><p>  這正是因為國外的家政服務公司都有一個適合自己企業(yè)發(fā)展的管理系統(tǒng),將員工的信息進行系統(tǒng)的、安全的管理和讓需求者有適合自己需求選擇,這樣不僅減少了對管理者人力的要求,大大提高了公司

15、的口碑、信譽和發(fā)展速度。</p><p>  1.2 系統(tǒng)開發(fā)意義</p><p>  對于正在發(fā)展中的家政服務行業(yè),一個公司的家政服務人員的信息管理是一個很重要并且很繁瑣環(huán)節(jié),這樣就需要大量的人力去進行統(tǒng)計和管理。但xx家政服務管理系統(tǒng)通過使用數(shù)據(jù)庫這個平臺,可以將大量的數(shù)據(jù)進行統(tǒng)一管理并且可以很便捷的查找到所需要的信息。這樣可以大大減少管理者的工作時間并提高工作效率。</p>

16、;<p>  同時該系統(tǒng)支持需求者在網(wǎng)上進行對家政服務人員的信息查詢和雇傭操作,和傳統(tǒng)的打電話雇傭方式相比,大大減少了人工接聽和處理的操作,讓工作效率變得更高。</p><p>  安全、方便、快捷的管理系統(tǒng)可以給家政公司的發(fā)展帶來很大的效益。</p><p>  1.3 研究和設計目標:</p><p>  通過利用JSP技術利用網(wǎng)頁進行對服務人員的

17、信息錄入、修改、刪除等操作,同時也可以按照需求者的查詢條件從后臺的數(shù)據(jù)庫里進行查找適合的結果并通過網(wǎng)頁顯示來傳達給需求者。當最后確定需要雇傭該家政服務人員的時候就可以進行提交或者雇傭操作,其實這里是通過對數(shù)據(jù)庫中已有數(shù)據(jù)的更改以達到需求者雇傭的目的。</p><p>  第二章 開發(fā)工具簡介</p><p>  2.1 SQL Server簡介</p><p>  

18、SQL是英文(Structured Query Language)的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。SQL被作為關系型數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關系型數(shù)據(jù)庫管理系統(tǒng),如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL語言標準。

19、SQL語言有以下幾個優(yōu)點:</p><p><b> ?、俜沁^程化語言</b></p><p>  SQL是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導航。SQL允許用戶在高層的數(shù)據(jù)結構上工作,而不對單個記錄進行操作,可操作記錄集,所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。&

20、lt;/p><p>  SQL不要求用戶指定對數(shù)據(jù)的存放方法, 這種特性使用戶更易集中精力于要得到的結果;所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。</p><p><b>  ② 統(tǒng)一的語言</b></p>

21、<p>  SQL可用于所有用戶的DB活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶?;镜腟QL 命令只需很少時間就能學會,最高級的命令在幾天內便可掌握。</p><p> ?、?所有關系數(shù)據(jù)庫的公共語言</p><p>  由于所有主要的關系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS(關系數(shù)據(jù)庫管

22、理系統(tǒng))轉到另一個,所有用SQL編寫的程序都是可以移植的。</p><p>  2.2 Myeclipse7.5簡介</p><p>  MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它

23、是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。</p><p>  2.3 Tomcat簡介</p><p>  Tomcat 是一個輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP 程序的首選??梢赃@樣認為,

24、當在一臺機器上配置好Apache 服務器,可利用它響應對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。 </p><p>  第三章 系統(tǒng)需求分析</p><p><b>  3.1 需求分析</b></p><p

25、>  xx家政服務管理系統(tǒng)主要實現(xiàn)的是管理者對家政服務人員信息的增加、刪除、更新等操作和需求者對家政服務人員的雇傭操作。該系統(tǒng)的開發(fā)采用MyEclipse8.5開發(fā)平臺、Tomcat6.0服務器和SQL Server 2000數(shù)據(jù)庫來實現(xiàn)。</p><p>  該系統(tǒng)有兩種登錄權限,一種是管理員身份,另一種是需求者身份。</p><p>  管理員身份是系統(tǒng)設定的,整個系統(tǒng)只有一個管

26、理員。在管理員登錄后進入系統(tǒng)主頁面管理員的操作權限有:查看整個系統(tǒng)的情況、對已有家政服務人員的信息進行增加信息、修改信息、刪除信息等操作。同時也可以增加新的家政服務人員的名單。</p><p>  需求者身份的人員個數(shù)沒有限制,只需要注冊后就可以登陸系統(tǒng)并進行操作。在登陸后進入系統(tǒng)主界面,需求者的操作權限有:查看公司的基本和概況、查看該公司家政服務人員的基本信息、雇傭家政服務人員等等操作。</p>

27、<p><b>  3.2 可行性分析</b></p><p>  該家政服務管理系統(tǒng)采用時下最流行的B/S(Brower/Server)網(wǎng)頁結構模式,這樣就將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上。</p><p>  而在系統(tǒng)中采用Servlet來實現(xiàn)控制器的功能,該Servlet是一個Struts API中提供的ActionServlet類型的實例,該類

28、的實例可以和普通的Servlet一樣工作。采用JavaBean以及EJB(即企業(yè)級JavaBean)來組成模型部分。最后使用JSP來實現(xiàn)視圖。這三個部分的結合就將會形成一個MVC的三層設計模式。</p><p>  在MVC模式中只需改變其中的一層就能滿足應用的改變。一個應用的業(yè)務流程或者業(yè)務規(guī)則的改變只需改動MVC的模型層.</p><p><b>  3.3 系統(tǒng)分析<

29、/b></p><p>  3.3.1 系統(tǒng)目標</p><p>  會員注冊,登錄(管理員和會員兩種權限登錄)</p><p>  雇員管理(曾、刪、改、查)</p><p>  會員管理(刪,改、查)</p><p>  搜索功能(會員,雇員,狀態(tài))</p><p><b>

30、  雇傭管理</b></p><p><b>  會員發(fā)布需求</b></p><p>  3.3.2 系統(tǒng)模塊結構</p><p>  系統(tǒng)模塊結構如圖所示:</p><p>  圖3.1 系統(tǒng)功能模塊圖</p><p>  3.3.3 業(yè)務流程圖</p><p&

31、gt;  系統(tǒng)的業(yè)務流程圖如圖3.2所示:</p><p>  圖3.2 系統(tǒng)的業(yè)務流程圖</p><p>  第四章 系統(tǒng)總體設計</p><p>  4.1 系統(tǒng)設計的內容</p><p>  通過利用JSP技術利用網(wǎng)頁進行對服務人員的信息錄入、修改、刪除等操作,同時也可以按照需求者的查詢條件從后臺的數(shù)據(jù)庫里進行查找適合的結果并通過網(wǎng)

32、頁顯示來傳達給需求者。當最后確定需要雇傭該家政服務人員的時候就可以進行提交或者雇傭操作,其實這里是通過對數(shù)據(jù)庫中已有數(shù)據(jù)的更改以達到需求者雇傭的目的。</p><p>  4.2 數(shù)據(jù)庫設計</p><p>  4.2.1 數(shù)據(jù)庫分析</p><p>  在xx家政服務管理系統(tǒng)中涉及到家政服務信息、會員信息,雇員信息,雇傭關系等數(shù)據(jù),為了更好的對其進行管理在設計該

33、系統(tǒng)的時候選擇Microsoft SQL Server 2005數(shù)據(jù)庫來滿足系統(tǒng)的要求,數(shù)據(jù)庫名稱為home,在數(shù)據(jù)庫中創(chuàng)建7張表用于存儲各種不同信息。如下圖:</p><p>  4.2.2 數(shù)據(jù)庫概念設計</p><p>  根據(jù)對系統(tǒng)的功能分析和功能設計,規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫實體。下面只介紹幾個關鍵實體的的E-R圖。</p><p>  圖4.1 會員

34、實體</p><p>  圖4.2 雇傭關系信息實體</p><p>  4.2.3 數(shù)據(jù)庫邏輯設計</p><p>  根據(jù)上述實體E-R關系圖可以得出以下是數(shù)據(jù)庫中主要表的結構:</p><p> ?、?server(雇員信息表) 該表主要用于存儲所有雇員的基本信息,其結構如下表所示。</p><p>  表4

35、.1 server表</p><p> ?、?users(用戶信息表)</p><p>  表users用于存儲供應商信息,包括注冊用戶基本的信息。users表結構如表4.2所示.</p><p>  表4.2 users表</p><p> ?、?admin(管理員表) 表用于管理員信息等。表的結構如表4.3所示:</p>

36、<p>  表4.3 admin表</p><p> ?、?require(客戶需求表) 用于存儲xx家政服務的xx家政服務借閱信息等。表的結構如表4.4所示.</p><p>  表4.4 require</p><p> ?、?item(服務項目表) 用于存儲xx家政服務服務項目信息等。表的結構如表4.5所示.</p>&

37、lt;p>  表4.5 item表</p><p> ?、?employ(雇傭表) 表用于存儲xx家政服務雇傭的雇員和客戶的信息。表的結構如表4.6所示.</p><p>  表4.6 employ表</p><p>  4.2.4 創(chuàng)建數(shù)據(jù)庫及表</p><p><b> ?。?) 創(chuàng)建數(shù)據(jù)庫</b><

38、;/p><p>  創(chuàng)建SQL Server數(shù)據(jù)庫的步驟如下:</p><p>  選擇“開始”/“所有程序”/ Microsoft SQL Server 2000/企業(yè)管理器命令,打開企業(yè)管理器,展開服務器的節(jié)點。</p><p>  右擊“數(shù)據(jù)庫”節(jié)點,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫”命令,彈出“數(shù)據(jù)庫屬性”對話框。</p><p>  

39、在“名稱”編輯框中輸入數(shù)據(jù)庫的名稱;然后選擇“數(shù)據(jù)xx家政服務”選項卡,在該選項卡中設置數(shù)據(jù)庫xx家政服務的存儲位置及xx家政服務屬性;再選擇“事務日志”選項卡,在該選項卡中選擇日志xx家政服務的存儲位置及xx家政服務屬性;最后單擊“確定”按鈕完成數(shù)據(jù)庫的創(chuàng)建。</p><p><b> ?。?)創(chuàng)建數(shù)據(jù)表</b></p><p>  在新建的的home數(shù)據(jù)庫中創(chuàng)建數(shù)

40、據(jù)表,以users表的創(chuàng)建為例介紹數(shù)據(jù)表的創(chuàng)建過程。</p><p>  1 展開home節(jié)點,右擊“表”節(jié)點,在彈出的快捷菜單中選擇“新建表”命令, 彈出表設計器設置要創(chuàng)建表中所需要的字段,并設置主鍵.</p><p>  2 設置完字段后,關閉表設計器,在彈出的“選擇名稱”對話框中設置表名.</p><p>  3 單擊“確定”

41、按鈕完成表的創(chuàng)建。</p><p>  第五章 系統(tǒng)詳細設計</p><p>  5.1 注冊和登錄界面設計</p><p>  注冊界面和登錄界面提供用戶注冊和登錄。xx家政服務管理系統(tǒng)的注冊界面如圖5.1所示。</p><p>  圖5.1 會員注冊界面</p><p>  注冊界面的設計 必須注冊為會員后才能登陸

42、xx家政服務系統(tǒng),收集會員信息,注冊后進入登錄界面.部分實代碼如下:</p><p>  if(act.equals("reg")){</p><p>  String uname = request.getParameter("uname");</p><p>  String pwd = request.getParame

43、ter("pwd");</p><p>  String sex = request.getParameter("sex");</p><p>  String card = request.getParameter("card");</p><p>  String tel = request.getPa

44、rameter("tel");</p><p>  String bus = request.getParameter("bus");</p><p>  String addr = request.getParameter("addr");</p><p>  String family = reques

45、t.getParameter("family");</p><p>  user.setUname(uname);</p><p>  user.setPwd(pwd);</p><p>  user.setSex(sex);</p><p>  user.setCard(card);</p><p&g

46、t;  user.setTel(tel);</p><p>  user.setBus(bus);</p><p>  user.setAddr(addr);</p><p>  user.setFamily(family);</p><p>  flag=userDao.addUser(user);</p><p>

47、  if(flag>0){</p><p>  out.println("<script type='text/javascript'> alert('注冊成功!');location.href='login.jsp';</script>");</p><p><b>  }else

48、{</b></p><p>  out.println("<script type='text/javascript'> alert('注冊失?。?#39;);location.href='reg.jsp';</script>");</p><p><b>  }</b>&

49、lt;/p><p><b>  }</b></p><p>  (2)登錄界面的效果:</p><p>  登錄界面分為兩種權限登錄,一種是會員,一種是管理員登錄成功后記錄用戶的session值。后臺實現(xiàn)代碼如下:</p><p>  if(act.equals("login")){</p>

50、<p>  String uname = request.getParameter("uname");</p><p>  String pwd = request.getParameter("pwd");</p><p>  int method = Integer.parseInt(request.getParameter("

51、;method"));</p><p>  if(method==0){</p><p>  user = userDao.findUser(uname);</p><p>  if(user!=null && user.getPwd().equals(pwd)){</p><p>  session = reque

52、st.getSession();</p><p>  boolean isNew = session.isNew();</p><p>  if (!isNew){</p><p>  session.removeAttribute("users");</p><p>  session = request.getSess

53、ion(true);</p><p><b>  }</b></p><p>  session.setMaxInactiveInterval(600);</p><p>  session.setAttribute("users", user);</p><p>  response.sendRed

54、irect("index.jsp");</p><p><b>  }else{</b></p><p>  out.println("<script type='text/javascript'> alert('用戶名或密碼錯誤!');location.href='login.jsp&

55、#39;;</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(method==1){</p><p>  Admin admin = new Admin();</p><p>

56、;  AdminDAO adminDao = new AdminDaoImpl();</p><p>  admin = adminDao.findAdmin(uname);</p><p>  if (admin != null && admin.getPwd().equals(pwd)) {</p><p>  session = request

57、.getSession();</p><p>  boolean isNew = session.isNew();</p><p>  if (!isNew) {</p><p>  session.removeAttribute("admin");</p><p>  session = request.getSessi

58、on(true);</p><p><b>  }</b></p><p>  session.setMaxInactiveInterval(600);</p><p>  session.setAttribute("admin", admin);</p><p>  response.sendRed

59、irect("index.jsp");</p><p><b>  } else {</b></p><p>  out.println("<script type='text/javascript'> alert('用戶名或密碼錯誤!');location.href='login.js

60、p';</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.2 主界面設計</b></p><p>  主界面是程序操作過程中必不可少的,它是人機交互中的重要環(huán)節(jié)

61、。通過主界面,用戶可以調用系統(tǒng)相關的各子模塊,快速實現(xiàn)各個功能。xx家政服務管理系統(tǒng)中,主界面被分為3個部分:最上面是系統(tǒng)信息欄,左面的快速入口欄;界面中間的區(qū)域信息查看。主界面運行效果如圖5.2所示.</p><p>  圖5.2 主界面界面</p><p><b>  5.3 公共類設計</b></p><p>  在開發(fā)應用程序時,可以

62、將界面繪制的相關操作以及對一些控件的設置封裝在自定義類中,以便于在開發(fā)程序時調用,這樣可以提高代碼的重用性。本系統(tǒng)創(chuàng)建了ConnectDB類,用于數(shù)據(jù)庫的操作;用來簡化程序操作,提高代碼的重用性,文件夾結構如下:</p><p><b>  數(shù)據(jù)操作類:</b></p><p>  package com.qswl.home.base;</p><

63、p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.PreparedStatement;</p><p>  import java.sql.ResultSet;</p><p>  impo

64、rt java.sql.SQLException;</p><p>  public class ConnectDB {</p><p>  public final static String DRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver"; </p><p>  public fin

65、al static String URL="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=home";</p><p>  public final static String DBNAME="sa"; </p><p>  public final static String DHPA

66、SS="saadmin"; </p><p>  public Connection getConn(){ </p><p>  Connection conn=null;</p><p><b>  try {</b></p><p>  Class.forName(DRIVER);</p&

67、gt;<p>  } catch (ClassNotFoundException e) {</p><p>  // TODO Auto-generated catch block</p><p>  System.out.println("DRIVER is not find");</p><p>  e.printStackTr

68、ace();</p><p><b>  }</b></p><p><b>  try {</b></p><p>  conn = DriverManager.getConnection(URL,DBNAME,DHPASS);</p><p>  } catch (SQLException e)

69、 {</p><p>  // TODO Auto-generated catch block</p><p>  System.out.println("connect database error");</p><p>  e.printStackTrace();</p><p><b>  }</b&

70、gt;</p><p>  return conn;</p><p><b>  }</b></p><p>  public int executeSQL(String sql,String[] getValue){</p><p>  int result=0;</p><p>  Conne

71、ction conn=null;</p><p>  PreparedStatement pstmt=null;</p><p><b>  try {</b></p><p>  conn=getConn(); </p><p>  pstmt=conn.prepareStatement(sql);</p>

72、;<p>  if (getValue!=null) {</p><p>  for (int i = 0; i < getValue.length; i++) {</p><p>  pstmt.setString(i+1, getValue[i]);</p><p><b>  }</b></p><

73、p><b>  }</b></p><p>  result=pstmt.executeUpdate(); </p><p>  } catch (Exception e) {</p><p>  // TODO: handle exception</p><p>  System.out.println(&qu

74、ot;executeSQL error");</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  closeAll(conn,pstmt,null);</p><p><b>  }</b></p&

75、gt;<p>  return result;</p><p><b>  }</b></p><p>  public void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs){</p><p>  if (rs!=null) {</p>

76、<p><b>  try {</b></p><p>  rs.close();</p><p>  } catch (SQLException e) {</p><p>  System.out.println("close rs error");</p><p>  e.printS

77、tackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  if (pstmt!=null) {</p><p><b>  try {</b></p><p>  pstmt.close

78、();</p><p>  } catch (SQLException e) {</p><p>  System.out.println("close pstmt error");</p><p>  e.printStackTrace();</p><p><b>  }</b></p>

79、;<p><b>  }</b></p><p>  if (conn!=null) {</p><p><b>  try {</b></p><p>  conn.close();</p><p>  } catch (SQLException e) {</p>&l

80、t;p>  // TODO Auto-generated catch block</p><p>  System.out.println("close conn error");</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p&g

81、t;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.4服務預約模塊</b></p><p>  該界面主要用于顯示當所有的雇員列表,可以查看當前的雇員的信息和當前狀態(tài)和

82、執(zhí)行雇傭操作等信息,界面效果如下圖:</p><p><b>  界面部分實現(xiàn)代碼:</b></p><p>  <table width="98%" cellpadding="0" cellspacing="0" border="0" class="maillist&q

83、uot;></p><p>  <tr> </p><p>  <th width="7%">姓名</th></p><p>  <th width="6%">性別</th></p><p>  <th width=&q

84、uot;6%">籍貫</th></p><p>  <th width="9%">服務類別</th></p><p>  <th width="27%">描述</th></p><p>  <th width="20%">

85、;特長</th></p><p>  <th width="8%">工作經(jīng)歷</th></p><p>  <th width="6%">狀態(tài)</th></p><p>  <th width="7%">詳細資料</th>&

86、lt;/p><p>  <th width="4%">雇傭</th></p><p><b>  </tr></b></p><p><b>  <%</b></p><p>  if(allnum>0){</p><

87、;p>  for(int i=0;i<sevList.size();i++){</p><p>  Server sev = (Server)sevList.get(i);</p><p><b>  %></b></p><p>  <tr> </p><p>  <td

88、><a class='setblue'><%=sev.getSname() %></a></td></p><p>  <td><%=sev.getSex() %></td></p><p>  <td><%=sev.getPlace()%></td>

89、;</p><p>  <td><a class='setred'><%=sev.getType() %></a></td></p><p>  <td><%=sev.getAbout() %></td></p><p>  <td><%

90、=sev.getSpecial() %></td></p><p>  <td><%=sev.getWorkdate() %></td></p><p>  <td><a class='setblue'><% if(sev.getCurr()==0){ out.print("未雇傭

91、");} if(sev.getCurr()==1){ out.print("雇傭中");}%></a></td></p><p>  <td><a class="setblue" target="_blank" href="view.jsp?sid=<%=sev.getSid()

92、%>">查看</a></td></p><p>  <td><a class="setred" <% if(sev.getCurr()==0){%> target="_blank" href="view.jsp?sid=<%=sev.getSid() %>" <

93、%}%>>雇傭</a></td></p><p><b>  </tr></b></p><p>  <% }}else{ %></p><p>  <tr><td colspan="10" class="error">還

94、沒添服務人員!</td></tr></p><p><b>  <%} %></b></p><p><b>  </table></b></p><p>  查看和雇傭操作部分實現(xiàn)代碼:</p><p>  if(act.equals("a

95、dd")){</p><p>  ServerDAO servDao = new ServerDaoImpl();</p><p>  int sid = Integer.parseInt(request.getParameter("sid"));</p><p>  String sname = request.getParamete

96、r("sname");</p><p>  String type = request.getParameter("type");</p><p>  String etime = request.getParameter("etime");</p><p>  String note = request.

97、getParameter("notes");</p><p>  emp.setSname(sname);</p><p>  emp.setUname(uname);</p><p>  emp.setType(type);</p><p>  emp.setEtime(etime);</p><p&

98、gt;  emp.setNote(note);</p><p>  flag= empDao.addEmploy(emp);</p><p>  if(flag>0){</p><p>  servDao.modSevStatus(sid);</p><p><b>  }</b></p><p

99、>  if(flag>0){</p><p>  out.println("<script type='text/javascript'> alert('雇傭成功!');location.href='service.jsp';</script>");</p><p><b> 

100、 }else{</b></p><p>  out.println("<script type='text/javascript'> alert('雇傭失?。?#39;);location.href='service.jsp';</script>");</p><p><b>  }

101、</b></p><p><b>  }</b></p><p><b>  5.5查詢設計</b></p><p>  用于用戶查詢自己想要借閱的xx家政服務,主要采用3種查詢,一種是雇員查詢,一種是會員查詢,一種是雇員狀態(tài)查詢,雇員查詢可以通過雇員姓名,查詢服務類別進行查詢 查詢界面如下:</p>

102、;<p>  輸入數(shù)據(jù)提交查詢后處理代碼:</p><p><b>  <%</b></p><p>  if(method==0){</p><p><b>  int p=1;</b></p><p>  int pagesize = 9;</p><p&

103、gt;<b>  int down;</b></p><p><b>  int up;</b></p><p>  int allnum= sevDao.countServer(keyword);</p><p>  int count = (int)Math.ceil((double)allnum/(double)p

104、agesize);</p><p>  if(request.getParameter("page")!=null){</p><p>  p=Integer.parseInt(request.getParameter("page"));</p><p><b>  }</b></p>&l

105、t;p>  if(p>=count){</p><p>  down = count;</p><p><b>  }else{</b></p><p><b>  down=p+1;</b></p><p><b>  }</b></p><p

106、><b>  if(p>1){</b></p><p><b>  up=p-1;</b></p><p><b>  }else{</b></p><p><b>  up = 1;</b></p><p><b>  }</

107、b></p><p>  List sevList = sevDao.findServerList(keyword,p,pagesize);</p><p><b>  %></b></p><p>  <div class="tool ta1"><span>您查詢的內容是:<b&g

108、t;<%=keyword %></b> 共找到 <b><%=allnum %></b> 條記錄 &nbsp;&nbsp; <a href="result.jsp?action=serach&&method=0&&keyword=<%=keyword %>&&page=<%=up

109、%>">上一頁</a><a href="result.jsp?action=serach&&method=0&&keyword=<%=keyword %>&&page=<%=down %>">下一頁</a></span><a class="add1"&

110、gt;信息查詢列表</a></div></p><p>  <table width="98%" cellpadding="0" cellspacing="0" border="0" class="maillist"></p><p>  <tr&

111、gt; </p><p>  <th width="7%">姓名</th></p><p>  <th width="6%">性別</th></p><p>  <th width="6%">籍貫</th></p>

112、;<p>  <th width="9%">服務類別</th></p><p>  <th width="26%">描述</th></p><p>  <th width="21%">特長</th></p><p>  &

113、lt;th width="8%">工作經(jīng)歷</th></p><p>  <th width="6%">狀態(tài)</th></p><p>  <th width="7%">詳細資料</th></p><p>  <th width=&qu

114、ot;4%">雇傭</th></p><p><b>  </tr></b></p><p><b>  <%</b></p><p>  if(allnum>0){</p><p>  for(int i=0;i<sevList.size(

115、);i++){</p><p>  Server sev = (Server)sevList.get(i);</p><p><b>  %></b></p><p>  <tr> </p><p>  <td><a class='setblue'>&

116、lt;%=sev.getSname() %></a></td></p><p>  <td><%=sev.getSex() %></td></p><p>  <td><%=sev.getPlace()%></td></p><p>  <td><

117、a class='setred'><%=sev.getType() %></a></td></p><p>  <td><%=sev.getAbout() %></td></p><p>  <td><%=sev.getSpecial() %></td><

118、/p><p>  <td><%=sev.getWorkdate() %></td></p><p>  <td><a class='setblue'><% if(sev.getCurr()==0){ out.print("未雇傭");} if(sev.getCurr()==1){ out.pr

119、int("雇傭中");}%></a></td></p><p>  <td><a class="setblue" target="_blank" href="view.jsp?sid=<%=sev.getSid() %>">查看</a></td>

120、</p><p>  <td><a class="setred" <% if(sev.getCurr()==0){%> target="_blank" href="view.jsp?sid=<%=sev.getSid() %>" <%}%>>雇傭</a></td><

121、/p><p><b>  </tr></b></p><p>  <% }}else{ %></p><p>  <tr><td colspan="10" class="error">沒有找到相關信息!</td></tr></p&g

122、t;<p><b>  <%} %></b></p><p><b>  </table></b></p><p><b>  <%} %></b></p><p>  最終顯示界面效果如下:</p><p>  5.6 客戶發(fā)

123、布需求信息模塊</p><p>  如果用戶沒有找到自己想要的服務,客戶可以通過發(fā)布需求信息來獲取我們的幫助,界面效果如下:</p><p>  用戶輸入相關信息后提交處理代碼如下:</p><p>  int flag=0;</p><p>  String act= request.getParameter("action&qu

124、ot;);</p><p>  HttpSession session = null ;</p><p>  session = request.getSession();</p><p>  String uname="";</p><p>  Require req = new Require();</p>

125、<p>  ReqDAO reqDao = new ReqDaoImpl();</p><p>  if(session.getAttribute("users")!=null){</p><p>  User user = (User)session.getAttribute("users");</p><p>

126、;  uname = user.getUname();</p><p><b>  }else{</b></p><p>  out.println("<script type='text/javascript'> alert('管理員不能發(fā)布操作!');location.href='post.jsp

127、9;;</script>");</p><p><b>  }</b></p><p>  if(act.equals("add")){</p><p>  String type = request.getParameter("type");</p><p>

128、;  String time = request.getParameter("time");</p><p>  String notes = request.getParameter("notes");</p><p>  req.setNotes(notes);</p><p>  req.setTime(time);&l

129、t;/p><p>  req.setUname(uname);</p><p>  req.setType(type);</p><p>  flag= reqDao.addReq(req);</p><p>  if(flag>0){</p><p>  out.println("<script t

130、ype='text/javascript'> alert('發(fā)布成功!');location.href='newpost.jsp';</script>");</p><p><b>  }else{</b></p><p>  out.println("<script type

131、='text/javascript'> alert('發(fā)布失?。?#39;);location.href='newpost.jsp';</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p>

132、;  5.7 雇員管理模塊</p><p>  雇員管理是管理員添加雇員,修改雇員信息,刪除雇員,推薦雇員的操作,面效果如下:</p><p><b>  添加雇員操作:</b></p><p>  sev.setSname(sname);</p><p>  sev.setSex(sex);</p>&l

133、t;p>  sev.setImg(img);</p><p>  sev.setHeight(height);</p><p>  sev.setWeight(weight);</p><p>  sev.setPlace(place);</p><p>  sev.setEdu(edu);</p><p>  

134、sev.setMarray(marray);</p><p>  sev.setBirthday(birthday);</p><p>  sev.setTel(tel);</p><p>  sev.setAddr(addr);</p><p>  sev.setCard(card);</p><p>  sev.s

135、etType(type);</p><p>  sev.setWorktime(worktime);</p><p>  sev.setWorkdate(workdate);</p><p>  sev.setSpecial(special);</p><p>  sev.setAbout(about);</p><p&g

溫馨提示

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

評論

0/150

提交評論