版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 設(shè)計(jì)題目:基于J2EE的簡(jiǎn)歷投遞管理系統(tǒng)的</p><p> 設(shè)計(jì)與實(shí)現(xiàn) </p><p> 學(xué) 院:_計(jì)算機(jī)與信息學(xué)院 _</p><p> 專業(yè)年級(jí):_ _</p><p> 學(xué) 號(hào):_
2、 _</p><p> 學(xué)生姓名:_ ____ __ _ _____</p><p> 指導(dǎo)教師、職稱:__xx 副教授 __</p><p><b> 2012年5月</b></p><p> Resume delivery&mana
3、gement system</p><p> based on J2EE</p><p> College: Fujian Agriculture and Forestry University </p><p> Specialty and Grade:Software Engineering 2008
4、</p><p> Number: </p><p> Name: </p><p> Advisor: </p><p> S
5、ubmitted time: 2012.4.23 </p><p><b> 目 錄</b></p><p><b> 摘要1</b></p><p> Abstract2</p><p><b> 第一章 引
6、言3</b></p><p> 1.1 開發(fā)背景3</p><p> 1.11電子簡(jiǎn)歷系統(tǒng)的發(fā)展歷史3</p><p> 1.2 課題研究的目的與意義4</p><p> 第二章:系統(tǒng)需求分析4</p><p> 2.1 需求概述4</p><p> 2.1.
7、1 系統(tǒng)設(shè)計(jì)目標(biāo)4</p><p> 2.2 需求描述5</p><p> 2.2.1 系統(tǒng)的總需求目標(biāo)5</p><p> 2.2.2 數(shù)據(jù)需求5</p><p> 2.2.3 功能性需求概述6</p><p> 2.2.4 約束6</p><p> 2.2.5 系統(tǒng)模
8、型6</p><p> 第三章:系統(tǒng)設(shè)計(jì)9</p><p> 3.1 概要設(shè)計(jì)9</p><p> 3.1.1 頁(yè)面遷移圖9</p><p> 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)10</p><p> 3.2.1 數(shù)據(jù)流程10</p><p> 3.2.2 數(shù)據(jù)表說明11</p&
9、gt;<p> 3.3 詳細(xì)設(shè)計(jì)11</p><p> 3.3.1 單一的Servlet編寫11</p><p> 3.3.2 系統(tǒng)詳細(xì)設(shè)計(jì)14</p><p> (1) 需求概述14</p><p> (2) 程序設(shè)計(jì)15</p><p> (3) 頁(yè)面控制模塊設(shè)計(jì)思路16<
10、;/p><p> (4) 數(shù)據(jù)訪問模塊設(shè)計(jì)思路17</p><p> (5) 輔助用戶輸入:自動(dòng)格式化日期功能的實(shí)現(xiàn)17</p><p><b> 第四章 結(jié)論18</b></p><p> 致謝、參考文獻(xiàn)18</p><p><b> 摘要</b></p
11、><p> 本系統(tǒng)試圖建立一種電子簡(jiǎn)歷的收集、處理和查詢的方式,用數(shù)據(jù)庫(kù)的方式代替?zhèn)鹘y(tǒng)的文本方式。為簡(jiǎn)歷投遞者提供了在線填寫簡(jiǎn)歷的機(jī)會(huì),更重要的是它為人力資源工作者提供了對(duì)簡(jiǎn)歷的操作平臺(tái),他們可以查看已經(jīng)登陸的簡(jiǎn)歷,處理或者刪除簡(jiǎn)歷,并且設(shè)置簡(jiǎn)歷的過期時(shí)間等。采用JSP+SERVLET開發(fā)。</p><p> 為了區(qū)分普通用戶和后臺(tái)管理員,首先要做一個(gè)首頁(yè),包含兩個(gè)鏈接,一個(gè)是求職者登錄簡(jiǎn)
12、歷的鏈接,另一個(gè)是工作人員登陸系統(tǒng)的鏈接。對(duì)于工作人員來說,進(jìn)入系統(tǒng)進(jìn)行操作之前,必須首先登陸。登陸頁(yè)面包括一個(gè)用戶名和一個(gè)密碼的輸入框。一旦登陸成功,進(jìn)入系統(tǒng),則應(yīng)該看到一個(gè)有頁(yè)面導(dǎo)航系統(tǒng)的頁(yè)面。</p><p> 擬解決的關(guān)鍵問題: </p><p> 在不使用現(xiàn)成框架的情況下,嘗試用一個(gè)統(tǒng)一的Servlet來處理頁(yè)面的請(qǐng)求,然后根據(jù)頁(yè)面提交數(shù)據(jù)的不同來決定調(diào)用哪些業(yè)務(wù)模塊;<
13、;/p><p> 如何根據(jù)頁(yè)面提交表單中的數(shù)據(jù),將其轉(zhuǎn)接到對(duì)應(yīng)的業(yè)務(wù)處理模塊;</p><p> 嘗試通過JavaScript自動(dòng)轉(zhuǎn)換日期格式。</p><p> 關(guān)鍵詞:電子簡(jiǎn)歷;JSP;SERVLET</p><p><b> Abstract</b></p><p> The syst
14、em attempts to establish an online resume collection, processing and query system, database way to replace the traditional text. To resume delivery to provide online resume writing opportunities, it is more important for
15、 human resource professionals to resume operation platform, they can view a entered resume, or delete a resume, resume and set expiration time. Using the JSP+SERVLET technic.</p><p> In order to distinguish
16、 between ordinary users and administrators, first of all to make a home page, contains two links, a job seekers log CV link, another is the work of personnel landing system link. For the staff, to enter the system operat
17、ion before, must first landing. Landing page includes a username and a password input box. Once logged in, enter the system, should see a page of page navigation system.</p><p> The key problems to solve:&l
18、t;/p><p> Without the use of readily available case frame, try to use a unified Servlet to handle the page request, then according to the page to submit data to the different decides to call what business modu
19、le;</p><p> According to the page to submit the data in the form, its transfer to the corresponding service processing module;</p><p> Using JavaScript automatic conversion to format date.<
20、/p><p> Key words: online resume system; JSP; SERVLET</p><p><b> 1 引言</b></p><p><b> 1.1 開發(fā)背景</b></p><p> 在求職和招聘的過程中,唯一的交流工具就是簡(jiǎn)歷。求職者拿著打印好的簡(jiǎn)歷,滿懷
21、期待的在一家家公司之間來回奔波,而招聘方則面對(duì)著一堆堆的簡(jiǎn)歷發(fā)愁不知道如何從堆積如山的簡(jiǎn)歷中找到適合的簡(jiǎn)歷,而且在瀏覽簡(jiǎn)歷的過程中,往往因?yàn)楹?jiǎn)歷的數(shù)量、簡(jiǎn)歷的格式導(dǎo)致耗費(fèi)了大量時(shí)間或者錯(cuò)過了合適的簡(jiǎn)歷,這對(duì)于求職者和招聘方來說都是一種損失。</p><p> 正是基于這種需求,我們可以建立一種電子簡(jiǎn)歷的收集、處理和查詢方式,用數(shù)據(jù)庫(kù)的方式代替?zhèn)鹘y(tǒng)的文本方式。主要面向企業(yè)的人力資源部,它為簡(jiǎn)歷投遞者提供了在線填寫
22、簡(jiǎn)歷的機(jī)會(huì),更重要的是它為人力資源工作者提供了對(duì)簡(jiǎn)歷的操作平臺(tái),他們可以查看已經(jīng)登陸的簡(jiǎn)歷,處理或者刪除簡(jiǎn)歷,并且設(shè)置簡(jiǎn)歷的過期時(shí)間等。</p><p> 1.11電子簡(jiǎn)歷系統(tǒng)的發(fā)展歷史</p><p> 信息作為生產(chǎn)力中最活躍的因素,很早就在人類經(jīng)濟(jì)生活中發(fā)揮著不可替代的作用,但把信息納入企業(yè)經(jīng)營(yíng)管理系統(tǒng)中高效處理和應(yīng)用是在計(jì)算機(jī)發(fā)明以后的50年代末。</p><
23、p> 目前人們所提到的信息管理系統(tǒng),通常是指以計(jì)算機(jī)為工具,對(duì)管理信息進(jìn)行收集、存貯、檢索、加工和傳遞,使其應(yīng)用于組織機(jī)構(gòu)及企業(yè)管理領(lǐng)域的“人-機(jī)系統(tǒng)”,該系統(tǒng)是70年代初“后工業(yè)經(jīng)濟(jì)”時(shí)代的產(chǎn)物,在企業(yè)管理信息系統(tǒng)在其發(fā)展的初期,是單一的人—機(jī)系統(tǒng),系統(tǒng)功能簡(jiǎn)單,效率低,對(duì)管理的作用有限。</p><p> 進(jìn)入20世紀(jì)80年代末,隨著計(jì)算機(jī)網(wǎng)絡(luò)和通信技術(shù)的大力發(fā)展,企業(yè)進(jìn)入網(wǎng)絡(luò)化、信息化的高速發(fā)展時(shí)
24、期。世界發(fā)達(dá)國(guó)家已建立起了完善的先進(jìn)的管理信息系統(tǒng)體系,在其社會(huì)經(jīng)濟(jì)發(fā)展領(lǐng)域中發(fā)揮著巨大的作用。</p><p> 90年代初期,簡(jiǎn)歷信息主要還是以紙質(zhì)簡(jiǎn)歷的方式進(jìn)行投遞。紙質(zhì)簡(jiǎn)歷雖說是一種傳統(tǒng)的方式,比較直接了當(dāng),然而有其三大弱點(diǎn)。其一,不易保存,紙質(zhì)簡(jiǎn)歷容易丟失,而且紙質(zhì)不一,有大有小,對(duì)其進(jìn)行歸檔、統(tǒng)一儲(chǔ)存很不方便;其二,信息雜亂,不同人所寫簡(jiǎn)歷包含字段不一致,字段先后順序也不一致,沒有統(tǒng)一的規(guī)格,給閱讀
25、者帶來不必要的困擾;其三,投遞效率低,傳遞紙質(zhì)簡(jiǎn)歷所耗費(fèi)的人力物力,有時(shí)候甚至要當(dāng)成機(jī)會(huì)成本來考慮:投個(gè)簡(jiǎn)歷這么麻煩,還不一定有面試機(jī)會(huì),投還是不投呢?</p><p> 到21世紀(jì)初,逐漸出現(xiàn)了線上投遞簡(jiǎn)歷系統(tǒng),主要是一些企業(yè)的網(wǎng)站上出現(xiàn)了人才招聘的欄目,其中包含簡(jiǎn)歷編纂,在線投遞等功能。給求職者帶來了極大的便利,同時(shí)也使企業(yè)招聘體系的運(yùn)作效率得到極大的提升。電子簡(jiǎn)歷框架統(tǒng)一,求職者往往可以按照頁(yè)面的提示,往
26、空白處填入簡(jiǎn)歷內(nèi)容即可,因此電子簡(jiǎn)歷系統(tǒng)受到很好的評(píng)價(jià)。從那時(shí)起,電子簡(jiǎn)歷系統(tǒng)成為很多企業(yè)選擇的一種工具。也開始成為應(yīng)聘者與企業(yè)傳遞信息的首要選擇。</p><p> 1.2 課題研究的目的與意義</p><p> 信息社會(huì)的高科技,商品經(jīng)濟(jì)化的高效益,使計(jì)算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。計(jì)算機(jī)雖然與人類的關(guān)系愈來愈密切,還有人由于計(jì)算機(jī)操作不方便繼續(xù)用手工勞動(dòng)。為了適應(yīng)現(xiàn)
27、代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,傳統(tǒng)管理系統(tǒng)軟件為管理人員帶來了極大的方便。</p><p> 本文基于mysql數(shù)據(jù)庫(kù)和JAVA語(yǔ)言,開發(fā)了企業(yè)簡(jiǎn)歷管理系統(tǒng),該系統(tǒng)界面簡(jiǎn)潔友好,操作簡(jiǎn)單,可以大大的提高人事管理的效率,減少企業(yè)在簡(jiǎn)歷整理和管理上花費(fèi)的人力和財(cái)力。本系統(tǒng)可供企業(yè)管理人員查詢,修改企業(yè)的人才庫(kù)信息。企業(yè)新聘人員,搜索人才庫(kù)信息,只需及時(shí)登陸系統(tǒng)進(jìn)行查看、審批,即可以達(dá)到企業(yè)的目的。</p>
28、;<p> 同時(shí),本文使用Myeclipse9.0開發(fā)此簡(jiǎn)歷投遞管理系統(tǒng)系統(tǒng),使得企業(yè)的簡(jiǎn)歷管理工作更加系統(tǒng)化、規(guī)范化、自動(dòng)化,從而達(dá)到提高企業(yè)簡(jiǎn)歷管理的效率。企業(yè)簡(jiǎn)歷管理系統(tǒng)能夠?qū)ζ胀ㄓ脩艉?jiǎn)歷登陸、工作人員登陸、后臺(tái)簡(jiǎn)歷登陸、簡(jiǎn)歷整理、過期簡(jiǎn)歷、簡(jiǎn)歷查詢、系統(tǒng)設(shè)置、幫助等功能。人事及簡(jiǎn)歷信息的變更,必須需要管理人員已管理員身份登錄,保證了系統(tǒng)的安全性。系統(tǒng)的總體任務(wù)是使企業(yè)管理人員可以輕松快捷地完成對(duì)企業(yè)簡(jiǎn)歷審閱和管理
29、的任務(wù)。</p><p> 初步實(shí)驗(yàn)表明,本系統(tǒng)可基本滿足小中型企業(yè)的部分需求,并切實(shí)提高企業(yè)的人才簡(jiǎn)歷庫(kù)管理效率,節(jié)省了企業(yè)的管理支出,從而具有一定的經(jīng)濟(jì)效益。</p><p><b> 2 系統(tǒng)需求分析</b></p><p><b> 2.1 需求概述</b></p><p> 2.1
30、.1 系統(tǒng)設(shè)計(jì)目標(biāo)</p><p><b> 人事管理系統(tǒng)</b></p><p> 表 21 需求列表</p><p> 綜上所述,本系統(tǒng)試圖建立一種電子簡(jiǎn)歷的收集、處理和查詢的方式,用數(shù)據(jù)庫(kù)的方式代替?zhèn)鹘y(tǒng)的文本方式。為簡(jiǎn)歷投遞者提供了在線填寫簡(jiǎn)歷的機(jī)會(huì),更重要的是它為人力資源工作者提供了對(duì)簡(jiǎn)歷的操作平臺(tái),他們可以查看已經(jīng)登陸的簡(jiǎn)歷,
31、處理或者刪除簡(jiǎn)歷,并且設(shè)置簡(jiǎn)歷的過期時(shí)間等。采用JSP+SERVLET的MVC模式開發(fā)。</p><p> 通過以上分析,可以看出,從功能上來說,簡(jiǎn)歷資源中心系統(tǒng)大概分成如下幾個(gè)模塊。</p><p><b> 普通用戶簡(jiǎn)歷登陸;</b></p><p><b> 工作人員登陸;</b></p><
32、;p><b> 后臺(tái)簡(jiǎn)歷登陸;</b></p><p><b> 簡(jiǎn)歷整理;</b></p><p><b> 過期簡(jiǎn)歷;</b></p><p><b> 簡(jiǎn)歷查詢;</b></p><p><b> 系統(tǒng)設(shè)置;</b&g
33、t;</p><p><b> 退出、幫助。</b></p><p><b> 2.2 需求描述</b></p><p> 2.2.1 系統(tǒng)的總需求目標(biāo)</p><p> 在計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫(kù)和先進(jìn)的開發(fā)平臺(tái)上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個(gè)具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、
34、具有良好人機(jī)交互界面的管理系統(tǒng),實(shí)現(xiàn)高效的計(jì)算機(jī)信息管理系統(tǒng)。</p><p> 2.2.2 數(shù)據(jù)需求</p><p> (1) 數(shù)據(jù)錄入和處理的準(zhǔn)確性和實(shí)時(shí)性</p><p> 數(shù)據(jù)的輸入是否準(zhǔn)確,是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)異常甚至崩潰,從而使系統(tǒng)失去工作的意義。數(shù)據(jù)的輸入來源是手工輸入。手工輸入要通過系統(tǒng)界面上的安排系統(tǒng)具有容錯(cuò)性,并且對(duì)操作人
35、員要進(jìn)行系統(tǒng)的培訓(xùn)。在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)。</p><p> (2) 數(shù)據(jù)的安全性</p><p> 本系統(tǒng)為企業(yè)人力資源部門設(shè)計(jì),是企業(yè)收集來的人力資源信息,因此只有特定的管理者才能進(jìn)入后臺(tái)管理從而對(duì)數(shù)據(jù)實(shí)現(xiàn)增、刪、改、查等操作。未獲授權(quán)人員不能進(jìn)入該系統(tǒng)。而匿名用戶只能夠登陸簡(jiǎn)歷,功能有限。</p><
36、;p><b> (3) 數(shù)據(jù)的備份</b></p><p> 投入使用后,本系統(tǒng)需要定期對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù),進(jìn)行全部或新增部分的備份工作,以保證在硬件出現(xiàn)故障,或人為原因?qū)е聼o(wú)法運(yùn)行時(shí)是可以快速及時(shí)的還原到原來的正常狀態(tài)。</p><p> 2.2.3 功能性需求概述</p><p> (1)普通用戶簡(jiǎn)歷登陸</p>
37、<p><b> (2)工作人員登陸</b></p><p><b> (3)后臺(tái)簡(jiǎn)歷登陸</b></p><p> (4)簡(jiǎn)歷整理以及過期簡(jiǎn)歷設(shè)置</p><p><b> (5)簡(jiǎn)歷查詢</b></p><p><b> (6)系統(tǒng)設(shè)置<
38、/b></p><p><b> (7)退出、幫助</b></p><p><b> 2.2.4 約束</b></p><p> 操作系統(tǒng): Windows xp/windows 7/Linux </p><p> 數(shù)據(jù)庫(kù)系統(tǒng): MySql Server 5.5</p
39、><p> 2.2.5 系統(tǒng)模型</p><p><b> (1) 用例模型</b></p><p><b> (2) 參與者匯總</b></p><p> 求職者;人力資源工作人員</p><p><b> (3) 用例匯總</b></p&
40、gt;<p> 登陸;簡(jiǎn)歷登錄;簡(jiǎn)歷整理;過期簡(jiǎn)歷;簡(jiǎn)歷查詢;系統(tǒng)設(shè)置</p><p><b> (4) 頂層用例圖</b></p><p> 圖 2-1 頂層用例圖</p><p><b> (5) 用例描述</b></p><p> 表 22 用例列表1</p&g
41、t;<p> 表 23 用例列表2</p><p> 表 24 用例列表3</p><p> 表 25 用例列表4</p><p> 表 26 用例列表5</p><p> 表 27 用例列表6</p><p><b> 3 系統(tǒng)設(shè)計(jì)</b></p>
42、<p><b> 3.1 概要設(shè)計(jì)</b></p><p> 3.1.1 頁(yè)面遷移圖</p><p> 根據(jù)用例圖,本系統(tǒng)具有兩種用戶,一個(gè)是應(yīng)聘者,另一個(gè)是人力資源工作人員,下面針對(duì)這兩種用戶設(shè)想一下使用這個(gè)系統(tǒng)的過程。</p><p> 應(yīng)聘者進(jìn)入首頁(yè),單擊“簡(jiǎn)歷登錄”鏈接,進(jìn)入用戶登錄頁(yè)面,輸入用戶名和密碼,進(jìn)入系統(tǒng)
43、。</p><p> 工作人員進(jìn)入首頁(yè),單擊“管理入口”鏈接,進(jìn)入用戶登錄頁(yè)面,輸入用戶名和密碼,進(jìn)入系統(tǒng)。</p><p> 工作人員進(jìn)入系統(tǒng)后將面對(duì)5個(gè)功能模塊,不過這5個(gè)模塊之間沒有直接聯(lián)系。</p><p> 單擊“簡(jiǎn)歷登錄”導(dǎo)航,進(jìn)入簡(jiǎn)歷登錄模塊。輸入簡(jiǎn)歷信息,單擊“登錄”按鈕,簡(jiǎn)歷輸入數(shù)據(jù)庫(kù)。</p><p> 單擊“簡(jiǎn)歷
44、整理”導(dǎo)航,進(jìn)入簡(jiǎn)歷整理模塊。頁(yè)面顯示出所有需要整理的簡(jiǎn)歷,用戶單擊頁(yè)面跳轉(zhuǎn)按鈕可以在一覽頁(yè)面之間的多頁(yè)之間跳轉(zhuǎn),在一覽表格中單擊對(duì)應(yīng)簡(jiǎn)歷,頁(yè)面遷移到簡(jiǎn)歷詳細(xì)頁(yè)面,可以對(duì)該簡(jiǎn)歷進(jìn)行相關(guān)操作。</p><p> 單擊“過期簡(jiǎn)歷”導(dǎo)航,進(jìn)入過期簡(jiǎn)歷模塊。頁(yè)面顯示出所有過期的簡(jiǎn)歷,用戶同樣可以在一覽頁(yè)面的多頁(yè)之間跳轉(zhuǎn),在一覽表格中單擊對(duì)應(yīng)簡(jiǎn)歷,頁(yè)面遷移到過期簡(jiǎn)歷的詳細(xì)信息頁(yè)面,可以進(jìn)行相關(guān)操作。</p>
45、<p> 單擊“簡(jiǎn)歷查詢”導(dǎo)航,進(jìn)入簡(jiǎn)歷查詢模塊。首先是查詢條件輸入頁(yè)面,輸入查詢條件以后單擊“查詢”按鈕,可以進(jìn)入查詢結(jié)果一覽頁(yè)面,在查詢結(jié)果一覽頁(yè)面同樣可以在多頁(yè)之間跳轉(zhuǎn),在一覽表格中單擊對(duì)應(yīng)簡(jiǎn)歷,頁(yè)面遷移到對(duì)應(yīng)的簡(jiǎn)歷詳細(xì)信息頁(yè)面。</p><p> 單擊“系統(tǒng)設(shè)置”導(dǎo)航,進(jìn)入系統(tǒng)設(shè)置模塊。在這個(gè)模塊中只有一個(gè)頁(yè)面,可以進(jìn)行相關(guān)設(shè)置的查看和修改。</p><p> 由
46、此,可以畫出對(duì)應(yīng)的頁(yè)面遷移圖,如圖3-1所示:</p><p> 圖3-1 頁(yè)面遷移圖</p><p><b> 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 3.2.1 數(shù)據(jù)流程</p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)是應(yīng)用系統(tǒng)開發(fā)的一個(gè)重要環(huán)節(jié),數(shù)據(jù)庫(kù)結(jié)構(gòu)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率及實(shí)現(xiàn)結(jié)果產(chǎn)生重要影響。在數(shù)據(jù)庫(kù)設(shè)計(jì)
47、的開始階段應(yīng)盡量全面考慮用戶的各種需求,收集基礎(chǔ)數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理流程。根據(jù)需求分析,簡(jiǎn)歷管理系統(tǒng)的數(shù)據(jù)流程圖如圖3-2所示: 圖3-2 數(shù)據(jù)流圖 </p><p> 3.2.2 數(shù)據(jù)表說明</p><p> 表3.3 用戶表結(jié)構(gòu)(USER表)</p><p> 表3.4 簡(jiǎn)歷表結(jié)構(gòu)(RESUME表)</p><p&g
48、t; 表3.5 用戶系統(tǒng)設(shè)置表(SETTING表)</p><p><b> 3.3 詳細(xì)設(shè)計(jì)</b></p><p> 3.3.1 單一的Servlet編寫</p><p> 如果采用單一的共同Servlet,最重要的一點(diǎn)就是如何根據(jù)頁(yè)面提交表單中的數(shù)據(jù),將其轉(zhuǎn)接到對(duì)應(yīng)的業(yè)務(wù)處理模塊。</p><p> 考慮
49、到系統(tǒng)有許多頁(yè)面,而每個(gè)頁(yè)面都可能有多種操作,例如在一覽頁(yè)面單擊翻頁(yè)的時(shí)候和單擊一覽眾對(duì)應(yīng)的簡(jiǎn)歷的時(shí)候的動(dòng)作應(yīng)該是不一樣的,所以為了區(qū)分不同的動(dòng)作,每個(gè)頁(yè)面和表單在提交時(shí)候,必須說明是在什么頁(yè)面,提交了什么動(dòng)作。在這里用兩個(gè)表單變量來表示這部分信息,其中pageId標(biāo)識(shí)當(dāng)前是哪個(gè)頁(yè)面,actionId標(biāo)識(shí)當(dāng)前執(zhí)行的是哪個(gè)動(dòng)作。</p><p> 有了用戶動(dòng)作信息,在Servlet中需要將對(duì)應(yīng)的表單信息傳遞給對(duì)應(yīng)
50、的處理模塊??紤]到每個(gè)頁(yè)面?zhèn)鬟f的變量不同,為了統(tǒng)一處理,Servlet將HttpServletRequest和HttpServletResponse的doGet或者doPost方法中,根據(jù)傳遞過來的pageId和actionId獲得類名和方法名,然后實(shí)例化對(duì)應(yīng)的類,并調(diào)用對(duì)應(yīng)方法。這些操作可以不通過實(shí)例化具體類的方式進(jìn)行,極大的提高了代碼的靈活性。在這里實(shí)例化類是通過如下的語(yǔ)句進(jìn)行的。</p><p> Cla
51、ss invokeClass = Class.forName( sClassName ); </p><p> Object invokeObject = invokeClass.newInstance(); </p><p> 通過這種方式,類名是通過字符串的方式進(jìn)行處理的,避免了在代碼中直接書寫“obj=new ***.****.*****”的形式,提高
52、了代碼的靈活性。</p><p> 共通Servlet作為控制器,不僅需要轉(zhuǎn)達(dá)用戶提交的數(shù)據(jù),還需要作出頁(yè)面遷移的動(dòng)作處理,所以需要在Controller層對(duì)應(yīng)接口返回下一個(gè)要去的頁(yè)面,由共通Servlet進(jìn)行遷移處理。</p><p> 這個(gè)共通Servlet命名為CommonServlet,初步完整的代碼如下:</p><p> Ch06.servlet.
53、CommonServlet.java</p><p> public class CommonServlet extends HttpServlet {</p><p> // 保存各頁(yè)面Id對(duì)應(yīng)的Controller類</p><p> public Hashtable hPageHandler = null;</p><p> /
54、/ 保存各頁(yè)actionId對(duì)應(yīng)的Controller類的方法名</p><p> public Hashtable hActionHandler = null;</p><p> public void init() {</p><p> // 各頁(yè)面對(duì)應(yīng)的類名</p><p> hPageHandler = new Hashtab
55、le();</p><p> hPageHandler.put("S000", "ch06.controller.CGuestRegister");</p><p> hPageHandler.put("S001", "ch06.controller.CLogin");</p><p&g
56、t; hPageHandler.put("S002", "ch06.controller.CMenu");</p><p> hPageHandler.put("S011", "ch06.controller.CRegister");</p><p> hPageHandler.put("S02
57、1", "ch06.controller.CProcessList");</p><p> hPageHandler.put("S022", "ch06.controller.CProcessDetail");</p><p> hPageHandler.put("S031", "ch0
58、6.controller.CExpireList");</p><p> hPageHandler.put("S032", "ch06.controller.CExpireDetail");</p><p> hPageHandler.put("S041", "ch06.controller.CViewSe
59、arch");</p><p> hPageHandler.put("S042", "ch06.controller.CViewList");</p><p> hPageHandler.put("S043", "ch06.controller.CViewDetail");</p>
60、<p> hPageHandler.put("S051", "ch06.controller.CSetting");</p><p> // 各頁(yè)面對(duì)應(yīng)動(dòng)作的方法名</p><p> hActionHandler = new Hashtable();</p><p> hActionHandler.put(&
61、quot;S000register", "registerResume");</p><p> hActionHandler.put("S001login", "login");</p><p> hActionHandler.put("S002register", "registerR
62、esume");</p><p> hActionHandler.put("S002process", "processResume");</p><p> hActionHandler.put("S002expire", "expireResume");</p><p>
63、 hActionHandler.put("S002view", "viewResume");</p><p> hActionHandler.put("S002setting", "setting");</p><p> hActionHandler.put("S011register"
64、;, "registerResume");</p><p> hActionHandler.put("S021goto", "gotoPage");</p><p> hActionHandler.put("S021resume", "viewResume");</p>&
65、lt;p> hActionHandler.put("S022process", "processResume");</p><p> hActionHandler.put("S022delete", "deleteResume");</p><p> hActionHandler.put("
66、;S031goto", "gotoPage");</p><p> hActionHandler.put("S031resume", "viewResume");</p><p> hActionHandler.put("S032expire", "expireResume")
67、;</p><p> hActionHandler.put("S032delete", "deleteResume");</p><p> hActionHandler.put("S041search", "searchResume");</p><p> hActionHandl
68、er.put("S042goto", "gotoPage");</p><p> hActionHandler.put("S042resume", "viewResume");</p><p> hActionHandler.put("S043delete", "deleteR
69、esume");</p><p> hActionHandler.put("S043return", "returnList");</p><p> hActionHandler.put("S051register", "setting");</p><p><b&g
70、t; }</b></p><p> public void doGet(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> // 設(shè)置提交表單的中文編碼</p>
71、;<p> request.setCharacterEncoding("GBK");</p><p> HttpSession mySession = request.getSession(true);</p><p><b> // 清空錯(cuò)誤消息</b></p><p> mySession.setA
72、ttribute("errMsg", "");</p><p> // 得到用戶輸入信息</p><p> String sPageId = request.getParameter("pageId");</p><p> String sActionId = request.getParameter
73、("actionId");</p><p> if (sPageId == null || sPageId.equals("") || sActionId == null</p><p> || sActionId.equals("")) {</p><p> // 非法進(jìn)入頁(yè)面,跳轉(zhuǎn)到首頁(yè)</
74、p><p> mySession.invalidate();</p><p> response.sendRedirect("../index.htm");</p><p><b> return;</b></p><p><b> }</b></p><
75、p> // 如果非法進(jìn)入頁(yè)面</p><p> if (!sPageId.equals("S000") && !sPageId.equals("S001")</p><p> && mySession.getAttribute("username") == null) {</p&g
76、t;<p> // 非法進(jìn)入頁(yè)面,跳轉(zhuǎn)到首頁(yè)</p><p> mySession.invalidate();</p><p> response.sendRedirect("../index.htm");</p><p><b> return;</b></p><p><
77、;b> }</b></p><p> // 根據(jù)pageId和actionId獲得要調(diào)用的方法</p><p> String sClassName = (String) hPageHandler.get(sPageId);</p><p> String sMethodName = (String) hActionHandler.get(
78、sPageId + sActionId);</p><p> if (sClassName == null || sClassName.equals("") || sMethodName == null</p><p> || sMethodName.equals("")) {</p><p> // 頁(yè)面?zhèn)鬟f的page
79、Id等不對(duì),跳轉(zhuǎn)到首頁(yè)</p><p> mySession.invalidate();</p><p> response.sendRedirect("../index.htm");</p><p><b> return;</b></p><p><b> }</b>
80、</p><p><b> try {</b></p><p> // 利用反射調(diào)用對(duì)應(yīng)的方法</p><p> Class invokeClass = Class.forName(sClassName);</p><p> Object invokeObject = invokeClass.newInstanc
81、e();</p><p> Class[] paraType = {</p><p> Class.forName("javax.servlet.http.HttpServletRequest"),</p><p> Class.forName("javax.servlet.http.HttpServletResponse&quo
82、t;) };</p><p> Object[] paraObj = { request, response };</p><p> Method invokeMethod = invokeClass.getMethod(sMethodName, paraType);</p><p> String sNextPage = (String) invokeMet
83、hod.invoke(invokeObject,</p><p><b> paraObj);</b></p><p> if (sNextPage != null && !sNextPage.equals("")) {</p><p> response.sendRedirect("../&
84、quot; + sNextPage);</p><p><b> return;</b></p><p><b> }</b></p><p> } catch (Exception e) {</p><p> // 頁(yè)面處理出錯(cuò),跳轉(zhuǎn)到首頁(yè)</p><p> my
85、Session.invalidate();</p><p> response.sendRedirect("../index.htm");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }<
86、;/b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> doGet(request, response);</
87、p><p><b> }</b></p><p><b> }</b></p><p> 3.3.2 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p><b> (1) 需求概述</b></p><p> 從功能上來說,簡(jiǎn)歷資源中心系統(tǒng)大概分成如下幾個(gè)模塊。普通用戶簡(jiǎn)
88、歷登陸;工作人員登陸;后臺(tái)簡(jiǎn)歷登陸;簡(jiǎn)歷整理;過期簡(jiǎn)歷;簡(jiǎn)歷查詢;系統(tǒng)設(shè)置;退出、幫助。</p><p> 為了區(qū)分普通用戶和后臺(tái)管理員,首先要做一個(gè)首頁(yè),包含兩個(gè)鏈接,一個(gè)是求職者登錄簡(jiǎn)歷的鏈接,另一個(gè)是工作人員登陸系統(tǒng)的鏈接。對(duì)于工作人員來說,進(jìn)入系統(tǒng)進(jìn)行操作之前,必須首先登陸。登陸頁(yè)面包括一個(gè)用戶名和一個(gè)密碼的輸入框。一旦登陸成功,進(jìn)入系統(tǒng),則應(yīng)該看到一個(gè)有頁(yè)面導(dǎo)航系統(tǒng)的頁(yè)面。</p>&l
89、t;p><b> (2) 程序設(shè)計(jì)</b></p><p> 表 312 項(xiàng)目主要資源名定義表</p><p> (3) 頁(yè)面控制模塊設(shè)計(jì)思路</p><p> 頁(yè)面控制模塊主要的功能是接受客戶端提交的表單,從中提取出有用的信息,然后調(diào)用業(yè)務(wù)邏輯模塊進(jìn)行處理,并根據(jù)業(yè)務(wù)模塊的處理結(jié)果決定接下來的遷移頁(yè)面,并返回給共同Servle
90、t進(jìn)行頁(yè)面跳轉(zhuǎn)。</p><p> 頁(yè)面控制模塊的類文件應(yīng)該由一系列的方法組成,為了讓共同Servlet能夠順利使用反射機(jī)制調(diào)用,需要給這些方法添加如下限制:</p><p> 所有方法的參數(shù)必須有且只有兩個(gè)參數(shù),第一個(gè)參數(shù)類型是HttpServletRequest,第二個(gè)參數(shù)類型是HttpServletResponse;</p><p> 所有方法的返回值都
91、是String類型,表示下一個(gè)要去的頁(yè)面。</p><p><b> 示例代碼如下:</b></p><p> public class CLogin</p><p><b> {</b></p><p> public String login ( HttpServletRequest r
92、equest, </p><p> HttpServletResponse response )</p><p> throws Exception</p><p><b> {</b></p><p> //獲得session對(duì)象</p><p> HttpSession mySess
93、ion = request.getSession(true);</p><p> //設(shè)置session中的頁(yè)面值域</p><p> mySession.setAttribute(CommonConst.VIEWID_LOGIN, new Hashtable() );</p><p> String sUsername = request.getParame
94、ter("username");</p><p> String sPassword = request.getParameter("password");</p><p> //校驗(yàn)用戶輸入信息</p><p> MLogin mLogin = new MLogin();</p><p> b
95、oolean bCheckResult = mLogin.getUserInfo( mySession, sUsername, sPassword );</p><p> if ( bCheckResult )</p><p><b> {</b></p><p> return "menu.jsp";</p&g
96、t;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> return "login.jsp";</p><p><b> }</b>&
97、lt;/p><p><b> }</b></p><p><b> }</b></p><p> (4) 數(shù)據(jù)訪問模塊設(shè)計(jì)思路</p><p> 在業(yè)務(wù)模塊中,最主要的功能是和數(shù)據(jù)庫(kù)打交道,所以也可以成為數(shù)據(jù)訪問模塊。在一般的Module層中,為每一個(gè)頁(yè)面都分配了一個(gè)Module進(jìn)行處理,這樣實(shí)
98、際上就有點(diǎn)浪費(fèi)。所以有一種設(shè)想,是否可以按照數(shù)據(jù)對(duì)象來設(shè)計(jì)數(shù)據(jù)訪問模塊呢?對(duì)于一個(gè)數(shù)據(jù)對(duì)象來講,原始操作不外乎增、刪、改、查。一個(gè)Module類對(duì)一個(gè)數(shù)據(jù)庫(kù)表應(yīng)該能夠完成基本的功能,如果處于業(yè)務(wù)邏輯的需要,在適當(dāng)添加一些邏輯。這樣設(shè)計(jì)能夠使得數(shù)據(jù)操作更加集中。</p><p> 基于這種考慮,決定為所有的數(shù)據(jù)訪問模塊類設(shè)置一個(gè)弗雷,所有的Module類都從一個(gè)叫做MCommon的類繼承,在MCommon的類中,
99、實(shí)現(xiàn)了一個(gè)獲取數(shù)據(jù)庫(kù)連接的方法,這樣所有的子類都可以調(diào)用這個(gè)方法來獲得數(shù)據(jù)庫(kù)連接。</p><p><b> 示例代碼如下:</b></p><p> public class MCommon</p><p><b> {</b></p><p> public Connection get
100、DBConnection( HttpSession mySession )</p><p><b> {</b></p><p><b> //嘗試連接數(shù)據(jù)庫(kù)</b></p><p><b> try</b></p><p><b> {</b>&
101、lt;/p><p> //載入MySQL的JDBC驅(qū)動(dòng)類</p><p> Class.forName(CommonConst.DB_DRIVER_CLASSNAME);</p><p><b> //獲得數(shù)據(jù)庫(kù)連接</b></p><p> Connection conn = DriverManager.getCo
102、nnection( CommonConst.DB_CONN_STRING );</p><p> return conn;</p><p><b> }</b></p><p> catch(Exception ex)</p><p><b> {</b></p><p&
103、gt; ex.printStackTrace();</p><p> mySession.setAttribute("errMsg","獲得數(shù)據(jù)庫(kù)連接時(shí)出現(xiàn)錯(cuò)誤!請(qǐng)聯(lián)系技術(shù)人員。");</p><p> return null;</p><p><b> }</b></p><
104、p><b> }</b></p><p><b> }</b></p><p> (5) 輔助用戶輸入:自動(dòng)格式化日期功能的實(shí)現(xiàn)</p><p> 本系統(tǒng)中,工作人員需要頻繁輸入日期,不管是在簡(jiǎn)歷錄入、整理建立還是在過期簡(jiǎn)歷處理中,都需要頻繁輸入日期。本章一開始的設(shè)計(jì)中,日期的格式是9999/99/99的形式
105、,但是對(duì)于一個(gè)錄入人員來說,手指在鍵盤上的數(shù)字和“/”之間的切換是不方便的而且是令人厭煩的,尤其在和中文錄入一起進(jìn)行的時(shí)候,所以要找到一種方法能夠節(jié)省用戶的時(shí)間,允許用戶直接錄入8位日期,然后自動(dòng)轉(zhuǎn)換為9999/99/99的格式。</p><p> 我考慮調(diào)用JavaScript腳本的方式完成日期格式的自動(dòng)轉(zhuǎn)換。同時(shí),考慮到日期輸入域分布在各個(gè)頁(yè)面,所以這個(gè)日期處理方法就不應(yīng)該放在各自的.js文件中實(shí)現(xiàn),而是應(yīng)
106、該放在共同的cmnScript.js文件中實(shí)現(xiàn),因?yàn)槊總€(gè)頁(yè)面都引用了這個(gè)共同.js文件,所以可以很方便地調(diào)用該方法。</p><p><b> 代碼如下:</b></p><p><b> //自動(dòng)轉(zhuǎn)換日期</b></p><p> function dateFormat( inputObj )</p>
107、<p><b> {</b></p><p> var inputDate = inputObj.value;</p><p> var outputDate = "";</p><p> if ( inputDate.length == 8 )</p><p><b>
108、 {</b></p><p> outputDate = inputDate.substring(0,4) + "/" +inputDate.substring(4,6) + "/" + inputDate.substring(6,8);</p><p> inputObj.value = outputDate;</p>
109、<p><b> }</b></p><p><b> }</b></p><p><b> 第四章 結(jié)論</b></p><p> 在本次畢業(yè)論文設(shè)計(jì)初期,我尋找了相關(guān)資料,閱讀了相關(guān)專業(yè)書籍,但由于實(shí)踐經(jīng)驗(yàn)不夠,還不熟悉一些開發(fā)工具,編程能力有限,前期上手十分緩慢。經(jīng)過一段時(shí)
110、間的請(qǐng)教老師,同學(xué),熟悉開發(fā)工具和進(jìn)行實(shí)踐以后,終于找到了切入點(diǎn)。</p><p> 中期,因?yàn)榫幊棠芰Σ粔蛞渤霈F(xiàn)了一些困難,后來在老師和同學(xué)的幫助下,論文才能得以進(jìn)行。通過完成這次畢業(yè)設(shè)計(jì),使我逐步加深了對(duì)數(shù)據(jù)庫(kù)知識(shí)的了解,清楚一個(gè)管理軟件的設(shè)計(jì)過程,進(jìn)一步全面認(rèn)識(shí)和深刻體會(huì)了數(shù)據(jù)庫(kù)技術(shù)的發(fā)展過程以及數(shù)據(jù)庫(kù)技術(shù)在實(shí)際工作中的應(yīng)用。同時(shí)編程能力也得到了一定的提高。為了完成設(shè)計(jì)任務(wù),我們深入調(diào)查,掌握畢業(yè)設(shè)計(jì)課程
111、的具體流程、方法以及有關(guān)實(shí)例的原始數(shù)據(jù)資料,更加熟練掌握MyEclipse,tomcat等軟件的使用,從理論到實(shí)踐,又從實(shí)踐回到理論,進(jìn)一步加深了對(duì)計(jì)算機(jī)開發(fā)技術(shù)和數(shù)據(jù)庫(kù)技術(shù)的理解,為我們今后更進(jìn)一步的掌握與運(yùn)用數(shù)據(jù)庫(kù)技術(shù)打下堅(jiān)實(shí)的基礎(chǔ),同時(shí)也認(rèn)識(shí)到自己所學(xué)的不足,有待今后的進(jìn)一步努力,不斷提高。</p><p><b> 致謝</b></p><p> 在論文完
112、成之際,首先我要感謝一直指導(dǎo)我直至論文完成的指導(dǎo)老師,在老師細(xì)致的指導(dǎo)下,這篇論文才得以完成!</p><p> 我還要感謝學(xué)院的所有老師。作為一名學(xué)生,我有機(jī)會(huì)得到老師們的教導(dǎo),學(xué)習(xí)軟件工程知識(shí),這是我大學(xué)階段一段難忘的經(jīng)歷。學(xué)院老師們淵博的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度給我留下了深刻的影響。</p><p> 同時(shí)也要感謝我的同學(xué),在這次論文完成中,他們給予了我極大的幫助和鼓勵(lì),在開始寫
113、論文時(shí),我曾因?yàn)閷?duì)一些開發(fā)工具不熟而一度上手緩慢,他們給予了我鼓勵(lì)并幫助我快速熟悉開發(fā)工具,這次論文才得以順利完成。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 薩師煊、 王珊 數(shù)據(jù)庫(kù)系統(tǒng)概論 2000年 第三版 高等教育出版社</p><p> [2] 張海藩 軟件工程導(dǎo)論 人民郵電出版社 2002年3月&l
114、t;/p><p> [3] Watts S.Humphrey 著 韓丹等譯 小組軟件開發(fā)過程 人民郵電出版社 2001年10月</p><p> [4] Mary Campione,Kathy Walrath,Alison Huml著 馬朝暉,陳美紅譯 Java語(yǔ)言學(xué)導(dǎo)論第三版 機(jī)械工業(yè)出版社 2003年1月</p><p> [5] Thomas M.Co
115、nnolly,Carolyn E.Begg著 何玉潔 梁琦 等譯 數(shù)據(jù)庫(kù)設(shè)計(jì)教程 機(jī)械工業(yè)出版社 2003年8月</p><p> [6] J.弗林,B.克拉克 著 希望圖書創(chuàng)作室譯 Visual J++ Java Programming程序設(shè)計(jì) 宇航出版社 1998年7月</p><p> [7] Abraham Silberschatz, Henry F.Korth, S.Sud
116、arshan DATEBASE SYSTEM CONCEPTS McGraw-Hill</p><p> [8][美]Rogers Cadenhead. Java編程入門經(jīng)典.梅興文譯.第4版.北京:人民郵電出版社,2007</p><p> [9][美]Bruce Eckel. Thinking In Java.英文第4版.北京:機(jī)械工業(yè)出版社,2007</p>&l
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--基于j2ee的在線簡(jiǎn)歷投遞系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于j2ee的家庭財(cái)務(wù)系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于j2ee的網(wǎng)絡(luò)物流系統(tǒng)畢業(yè)設(shè)計(jì)
- 物流倉(cāng)儲(chǔ)管理系統(tǒng)畢業(yè)設(shè)計(jì)----基于j2ee的網(wǎng)絡(luò)物流系統(tǒng)
- 基于j2ee的企業(yè)人事信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于j2ee框架的元器件管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于j2ee的問卷調(diào)查系統(tǒng)的畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---j2ee的教學(xué)評(píng)估系統(tǒng)
- 畢業(yè)設(shè)計(jì)論文 基于j2ee的網(wǎng)絡(luò)在線考試系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于j2ee的博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)基于j2ee的博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于j2ee框架的個(gè)人博客系統(tǒng)項(xiàng)目畢業(yè)設(shè)計(jì)
- 基于j2ee的停車場(chǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文---基于j2ee架構(gòu)的在線招聘系統(tǒng)
- 基于j2ee架構(gòu)的電子商務(wù)系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于j2ee框架的個(gè)人博客系統(tǒng)項(xiàng)目畢業(yè)設(shè)計(jì)論文 (2)
- 基于j2ee酒店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于J2EE的畢業(yè)設(shè)計(jì)指導(dǎo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于J2EE的IT培訓(xùn)管理系統(tǒng).pdf
- 基于j2ee框架的個(gè)人博客系統(tǒng)項(xiàng)目畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論