畢業(yè)設(shè)計(jì)論文基于JSP的求職招聘網(wǎng)站系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
《畢業(yè)設(shè)計(jì)論文基于JSP的求職招聘網(wǎng)站系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)論文基于JSP的求職招聘網(wǎng)站系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(19頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、目 錄 緒論 (1) 1 課題概述 (1) 1.1 課題背景 (1) 1.2 課題主要研究意義 (1) 2 相關(guān)開發(fā)技術(shù)和工具綜述 (2) 2.1 B/S模式 (2) 2.2 JSP的優(yōu)點(diǎn)及其對象的簡介 (2) 2.2.1 JSP的優(yōu)點(diǎn) (2) 2.2.2 JSP的九大隱式對象簡介 (3) 2.3 Mysql (4) 2.3.1 Mysql的優(yōu)點(diǎn) (4) 2.3.2 Mysql的缺點(diǎn) (4) 2.4 MVC模式 (4) 3 求職招聘網(wǎng)站系統(tǒng)的需求分析 (5) 4 求職招聘網(wǎng)站的設(shè)計(jì)方案 (6) 4.1 求職招聘網(wǎng)站的系統(tǒng)流程 (6) 4.2 求職招聘網(wǎng)站的
2、數(shù)據(jù)庫的設(shè)計(jì) (6) 4.3 求職招聘網(wǎng)站的三層模式的設(shè)計(jì) (8) 4.3.1 求職招聘網(wǎng)站的數(shù)據(jù)層設(shè)計(jì) (8) 4.3.2 求職招聘網(wǎng)站的業(yè)務(wù)處理層設(shè)計(jì) (8) 4.3.3 求職招聘網(wǎng)站的表示層設(shè)計(jì) (10) 4.4 本系統(tǒng)MVC模式中三層之間的交互舉例 (11) 5 結(jié)束語 (12) 參考文獻(xiàn) (14) 基于JSP的求職招聘網(wǎng)站系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 摘 要 隨著現(xiàn)代社會的快速發(fā)展,各種崗位的人才需求也逐漸增多。傳統(tǒng)的求職招聘模式已經(jīng)不能滿足現(xiàn)代社會的需求,網(wǎng)上求職招聘方式不再拘泥于時(shí)間和空間的限制,為求職招聘雙方提供了便捷、實(shí)用的溝通手段。求職招
3、聘網(wǎng)站系統(tǒng)是利用互聯(lián)網(wǎng)提供的豐富的超媒體資源,依托現(xiàn)有的硬件設(shè)施和實(shí)施手段,運(yùn)用信息化服務(wù)方法為求職者和用人單位搭建一個(gè)開放、穩(wěn)定、公平的求職招聘平臺,同時(shí)解決企業(yè)、用人單位和求職者實(shí)時(shí)通話的渠道難題。 本系統(tǒng)采用的B/S模式的三層體系結(jié)構(gòu),利用JSP技術(shù),JDBC技術(shù),Mysql數(shù)據(jù)庫,Apache Tomcat服務(wù)器等技術(shù)實(shí)現(xiàn),充分實(shí)現(xiàn)信息共享與交流,利用互聯(lián)網(wǎng)的優(yōu)勢,安全、高效率、低成本的處理求職招聘工作。 【關(guān)鍵詞】Web技術(shù) JSP技術(shù) 數(shù)據(jù)庫設(shè)計(jì) MVC模式 Design and implementation of job recruitment webs
4、ite system based on JSP Abstract With the rapid development of modern society, various positions is gradually increasing demand for qualified personnel. The traditional recruitment and selection model has been unable to meet the needs of modern society, the online recruitment and selection system
5、 is no longer confined to time and space constraints, provides a convenient, practical means of communication. Job recruitment and selection website system uses the Internet to provide rich hypermedia resources, relying on the existing hardware facilities and means of implementation, the use of info
6、rmation service method for job seekers and employers to build an open, stable, fair employment platform, solving problems and channels with employers and job-seekers enterprises, real-time communication. Three layer system structure by using the B\S model of the system, and use JSP technology, JDBC
7、 technology, Mysql database, Apache Tomcat server technology, the full realization of information sharing and exchange, the advantage of the Internet, job security, high efficiency, low processing cost of recruitment. 【keyword】Web technology JSP Database design MVC model 緒論 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)
8、科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已經(jīng)進(jìn)入人類社會的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。Web技術(shù)作為一種網(wǎng)絡(luò)技術(shù),在此期間得到迅速發(fā)展。網(wǎng)絡(luò)給人們帶來了許多方便,可以足不出戶就了解到很多資訊,也可以通過網(wǎng)絡(luò)來管理很多東西。我們每天的工作與生活都和網(wǎng)絡(luò)息息相關(guān),面對面的交流已經(jīng)逐漸被網(wǎng)絡(luò)交流所取代,大家上網(wǎng)聊天,遠(yuǎn)程工作,網(wǎng)上購物等等,網(wǎng)絡(luò)上的活動越來越頻繁,再加上招聘會時(shí)間的固定性,越來越多的人選擇在招聘信息網(wǎng)站上申請賬號,更新自己的個(gè)人簡歷,尋找合適自己的工作崗位,而企業(yè)也經(jīng)常在一些主流招聘網(wǎng)站上發(fā)布自己公司需要的職位信息列表,不需要經(jīng)常開展大型的招聘會就可以找到適合的人才,這樣
9、既找到了合適的人才,又降低了成本縮短了時(shí)間,因此廣泛受到企業(yè)的喜愛。所以由此可見,招聘求職信息網(wǎng)站的建立是十分必要的,可以使求職與招聘變得非常方便。 1 課題概述 1.1 課題背景 找工作難是如今大學(xué)畢業(yè)生不得不面臨的困難,大學(xué)畢業(yè)生缺少經(jīng)驗(yàn),社會實(shí)踐少,迫切希望能找到一份適合自己的工作。盡管各地具有規(guī)模級的現(xiàn)場招聘幾乎每個(gè)星期都會舉行,這也吸引了大量的畢業(yè)生前去尋找合適自己的工作,這雖然解決大部分畢業(yè)生的就業(yè),但同時(shí)也消耗了許多人力以及物力,也浪費(fèi)了許多畢業(yè)生為了找工作而奔波忙碌所耗費(fèi)的時(shí)間和精力。隨著科學(xué)技術(shù)水平的不斷前進(jìn),尤其是近些年來由于世界各地大范圍的普及計(jì)算機(jī),計(jì)算機(jī)的應(yīng)用已
10、經(jīng)慢慢地不斷滲透到非數(shù)值化管理的很多部分,而不是原先最簡單的科學(xué)計(jì)算。目前,網(wǎng)絡(luò)已走進(jìn)千家萬戶,大多數(shù)人都知道通過網(wǎng)絡(luò)進(jìn)行求職和招聘[1]。利用現(xiàn)代化的網(wǎng)絡(luò)技術(shù)管理人才求職、企業(yè)招聘信息,突破了時(shí)間和空間的限制,無論是對于個(gè)人求職、企業(yè)招聘都減少了人力、物力和財(cái)力的投入,提高了工作效率。在這種情形下,開發(fā)一套基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)求職招聘系統(tǒng)是十分必要而且有意義的事情 。 網(wǎng)絡(luò)招聘成為目前深受求職招聘者喜愛的一種便捷式求職招聘形式,互聯(lián)網(wǎng)技術(shù)給求職招聘者提供豐富的網(wǎng)絡(luò)資源,為他們創(chuàng)造一種良好的求職招聘平臺,具備了人才中介機(jī)構(gòu)的普遍功能。對求職者而言,網(wǎng)站給他們提供了快捷、方便的尋找工作崗位平臺,
11、對招聘單位而言,求職招聘網(wǎng)站給他們提供了尋找人才信息的平臺。 1.2 課題主要研究意義 時(shí)代在發(fā)展,社會在不斷進(jìn)步,網(wǎng)絡(luò)已經(jīng)悄無聲息的走入了人們的生活,網(wǎng)絡(luò)生活給人們帶來了許多方便,人們可以不用出門就了解到很多有用的信息,也可以通過網(wǎng)絡(luò)來進(jìn)行各種各樣的日常工作和活動。 如今大家每天都要登陸網(wǎng)絡(luò),瀏覽各種網(wǎng)站,獲取許多有用的信息。而招聘會的展開,需要準(zhǔn)備很多東西,費(fèi)時(shí)費(fèi)力。因此開展一次招聘會是很不容易的,而且時(shí)間間隔也會很長通常只有在春季和秋季開展招聘會,而且耗時(shí)耗力,很不方便,而且有些求職者可能會因?yàn)楦鞣N因素導(dǎo)致他趕不上招聘會而導(dǎo)致招聘失敗,這樣對應(yīng)聘者很不公平,沒有機(jī)會施展自己的才能
12、,在這樣的因素下,導(dǎo)致了招聘求職信息網(wǎng)站如雨后春筍般出現(xiàn)在網(wǎng)絡(luò)上,而且應(yīng)用率極高,求職者可以放下時(shí)間地點(diǎn)等不可抗拒因素的限制,輕松自由的瀏覽各種自己感興趣的職位,申請?jiān)撀毼坏拿嬖嚈C(jī)會,而招聘求職信息網(wǎng)站也方便了企業(yè)進(jìn)行招聘活動,補(bǔ)充了新鮮血液,更有利與企業(yè)用戶更快的找到適合自己公司職位的人才,節(jié)省了許多人力物力,招聘求職信息網(wǎng)站的建立,使公司的招聘變得簡單,為公司發(fā)展帶來了有利的意義。 2 相關(guān)開發(fā)技術(shù)和工具綜述 2.1 B/S模式 B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是WEB興起后的又一種網(wǎng)絡(luò)結(jié)構(gòu)模式,在本機(jī)這邊只需要有一個(gè)瀏覽器即可。這樣客戶端的模式就得到
13、了統(tǒng)一,服務(wù)器解決系統(tǒng)功能實(shí)現(xiàn)的核心部分,這樣就把客戶端和服務(wù)器完全的分離開來??蛻魴C(jī)上只要安裝一個(gè)瀏覽器(Browser),如Internet Explorer或Netscape Navigator,服務(wù)器安裝Sybase、或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web 服務(wù)器同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。常用的web服務(wù)器有tomcat、JBOSS等。 相對與C/S結(jié)構(gòu),B/S最大的優(yōu)點(diǎn)就是只要有一臺能上網(wǎng)的電腦就能使用,這樣就大大減少了時(shí)間和空間的使用??蛻舳瞬恍枰S護(hù)和安全,與傳統(tǒng)的C/S結(jié)構(gòu)相比在時(shí)間成本和空間成本都得到大大的降低。在服務(wù)器端的更新和功能擴(kuò)展,客戶端訪問服務(wù)器即可。B/
14、S結(jié)構(gòu)得到廣泛的使用,同時(shí)在B/S結(jié)構(gòu)上可以使用AJAX技術(shù)(一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的 Web 應(yīng)用程序的技術(shù)),因此AJAX技術(shù)也得到了進(jìn)一步的發(fā)展,可以實(shí)現(xiàn)異步加載,客戶端的部分處理功能是其的最大特點(diǎn),服務(wù)器端和客戶端實(shí)現(xiàn)同步,交互性得到提高。 2.2 JSP的優(yōu)點(diǎn)及其對象的簡介 2.2.1 JSP的優(yōu)點(diǎn) 在Web應(yīng)用開發(fā)中,可提供選擇的動態(tài)頁面語言技術(shù)有很多,如PHP、ASP、JSP等,在這些動態(tài)頁面語言中,JSP憑借其自身的優(yōu)點(diǎn)成為開發(fā)人員最喜歡的語言之一。JSP程序容易上手,如果有HTML和Java的基本知識,那么學(xué)習(xí)JSP程序就沒有任何難度。在Java領(lǐng)域,開源的
15、項(xiàng)目越來越多,這些開源項(xiàng)目是全世界Java愛好者心血的結(jié)晶,在JSP程序中可以非常方便地使用這些開源工具。在開源項(xiàng)目的支持下,JSP更是其他動態(tài)語言不能相比的。開發(fā)者從對Java的熱愛延伸到對JSP的熱愛,同時(shí)JSP也是J2EE體系中最重要,而且又是最基礎(chǔ)的一個(gè)組成部分,如果要體驗(yàn)J2EE帶了的開發(fā)效率和優(yōu)勢,JSP會是非常有效的入門方式。 JSP編譯器指引與指令元件有五種型態(tài).在JSP1.0之后,大部分的JSP是包含在以作為結(jié)束的單一標(biāo)簽里.新的JSP1.1規(guī)格已經(jīng)發(fā)表了,它同時(shí)也與XML相容。 五種JSP的編譯器指引如下所示:1.編譯器指引2.預(yù)定義3.運(yùn)算式4.程序代碼5.注解 J
16、SP頁面除了比普通HTML頁面多一些Java代碼外,兩者具有基本相同的結(jié)構(gòu)。Java代碼是通過符號加入到HTML代碼中間的,在這個(gè)字符串的前面和后面都是一些通過HTML代碼輸出的文本。 首先是JSP指令,標(biāo)簽為<% JAVA代碼%>。它描述的是頁面的基本信息,如所使用的語言、是否維持會話狀態(tài)、是否使用緩沖等。JSP指令由結(jié)束。JSP頁面中JAVA語言是唯一被支持的語言。 接下來的是JSP聲明,標(biāo)簽為<%!JSP表達(dá)式%>。JSP聲明可以看成是定義類這一層次的變量和方法的地方。JSP聲明由結(jié)束。位于之間的代碼塊是描述JSP頁面處理邏輯的Java代碼。最后,位于之間的代碼稱為JSP表達(dá)式,JS
17、P表達(dá)式提供了一種將JSP生成的數(shù)值嵌入HTML頁面的簡單方法。 JSP程序要能正常執(zhí)行,除了必須安裝支撐JSP解釋引擎的服務(wù)器軟件外,還需要JDK來做最后程序編譯的操作。當(dāng)一個(gè)JSP程序在客戶端被請求執(zhí)行時(shí),服務(wù)器端會將JSP程序通過JSP引擎自動轉(zhuǎn)化為相對應(yīng)的servlet,這servlet程序會被JDK的JAVA虛擬機(jī)編譯成可執(zhí)行文件,在服務(wù)器端執(zhí)行,并將執(zhí)行結(jié)果通過servlet返回給客戶端。JSP程序的編譯操作只會被執(zhí)行一次,客戶端訪問相同的JSP,之前被編譯好的servlet再次被服務(wù)器端使用,這樣JSP程序的執(zhí)行效率變的更高。如圖1.1所示,可以更清楚的了解JSP的執(zhí)行與編譯方
18、式: 圖2.1 JSP編譯與執(zhí)行方式 2.2.2 JSP的九大隱式對象簡介 JSP的9大隱式對象,為我們操縱數(shù)據(jù)提供了極大的方便。在同一頁面之間的數(shù)據(jù)訪問,不同頁面之間的數(shù)據(jù)共享。 (1) request對象:通過對用戶提交的信息進(jìn)行封裝,封裝的信息可以通過該對象的相應(yīng)方法進(jìn)行訪問和獲取,該對象實(shí)現(xiàn)HttpServletRequest的接口。 (2) response對象:當(dāng)服務(wù)器端收到客戶端的請求信息,該對象對請求信息進(jìn)行動態(tài)響應(yīng),并客戶端發(fā)送響應(yīng)數(shù)據(jù),該對象實(shí)現(xiàn)HttpServletResponse的接口。 (3) session對象:session對象在第一個(gè)JSP頁
19、面被訪問時(shí)由服務(wù)器自動創(chuàng)建,完成會話期管理。客戶訪問頁面,開啟連接服務(wù)器,客戶關(guān)閉頁面,斷開服務(wù)器連接,這個(gè)過程稱為會話??蛻粼L問一個(gè)服務(wù)器時(shí),服務(wù)器端必須知道這個(gè)用戶是否是同一用戶,這時(shí)就必須用到session對象。這樣可以避免服務(wù)器向同一用戶不停的發(fā)送信息,減輕服務(wù)器壓力。當(dāng)用戶斷開連接,重新連接服務(wù)器時(shí),產(chǎn)生一個(gè)新的session對象。 (4) application對象:application對象相當(dāng)于服務(wù)器中的一個(gè)全局變量,在同一個(gè)網(wǎng)站不同的頁面之前的訪問時(shí),application對象所存取的信息都是相同的。在服務(wù)器關(guān)閉之前,所有的用戶都共享這個(gè)application對象。 (5
20、) out對象:out對象用于在JSP頁面輸出,客戶端獲取服顯示務(wù)器端返回的信息。 (6) Page對象:Page對象只存在于當(dāng)前頁面,在頁面的關(guān)閉時(shí),Page對象死亡。在當(dāng)前頁面可以調(diào)用關(guān)鍵字this,實(shí)際上Page對象是當(dāng)前頁面轉(zhuǎn)換后的Servlet類實(shí)例。 (7) Config對象:實(shí)現(xiàn)ServletConfig 的接口,該對象主要是對當(dāng)前JSP頁面信息進(jìn)行配置。常用的方法有g(shù)etInitParameter(String paramNarne) 及getInitParameternarnes() 等方法。在程序開發(fā)當(dāng)中,JSP頁面信息是默認(rèn)的,一般不需要配置。 (8) Except
21、ion對象:實(shí)現(xiàn)java.lang.Throwable的接口,只有當(dāng)頁面是錯(cuò)誤處理頁面,Exception對象存儲頁面的錯(cuò)誤和異常信息。當(dāng)page的isErrorPage屬性為true時(shí),該對象才可以使用。常用的方法有g(shù)etMessage()獲取信息和printStackTrace()打印信息等。 (9) pageContext對象:javax.servlet.jsp.PageContext的實(shí)例,該對象代表該JSP頁面上下文,使用該對象可以訪問頁面中的共享數(shù)據(jù)。常用的方法有g(shù)etServletContext()和getServletConfig()等。 2.3 Mysql 2.3.1
22、Mysql的優(yōu)點(diǎn) MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購.Mysql已停止更新和維護(hù),前景不是很好.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。Mysql體積小,運(yùn)行的速度很快,占用的資源小,維護(hù)的成本也很低。作為一個(gè)開源的數(shù)據(jù)庫,Mysql還是很有市場地位。 2.3.2 Mysql的缺點(diǎn) 與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL還是存在著不足,在百萬級訪問上面還是能力稍弱,功能也不完善。但是作為一款開源的數(shù)據(jù)庫
23、,其在市場上還是很受歡迎。對于中小規(guī)模的數(shù)據(jù)處理,MySQL還是能夠滿足一定的市場需求。 2.4 MVC模式 MVC是Model View Controller的縮寫,分別代表程序中的業(yè)務(wù)邏輯、視圖顯示、控制器。一種軟件設(shè)計(jì)典范,用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法,這個(gè)方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個(gè)部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個(gè)性化定制而不需要重新編寫業(yè)務(wù)邏輯MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。 VC開始是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器,MVC模式
24、的使用主要是使數(shù)據(jù)層和用戶界面相分開??刂破魇怯脕砜刂茢?shù)據(jù)層和用戶界面層的同步。 模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。JavaBean則負(fù)責(zé)數(shù)據(jù)的處理,也就是模型(Model即M)的角色。 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請求,然后用確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。Servlet用來處理請求的事務(wù),充當(dāng)控制器(Cont
25、roller即C)的角色,Servlet負(fù)責(zé)響應(yīng)用戶對業(yè)務(wù)邏輯的請求并根據(jù)用戶的請求行為,決定將哪個(gè)JSP頁面發(fā)送給客戶。 初始的請求由Servlet來處理,Servlet調(diào)用商業(yè)邏輯和數(shù)據(jù)處理代碼,并創(chuàng)建Bean來表示相應(yīng)的結(jié)果(模型)。然后Servlet確定哪個(gè)頁面適合于表達(dá)這些特定的結(jié)果,并將請求轉(zhuǎn)發(fā)到相應(yīng)的頁面(JSP頁面即為視圖),由Servlet確定哪個(gè)業(yè)務(wù)邏輯適用,應(yīng)該用哪個(gè)JSP頁面相應(yīng)結(jié)果(Servlet就是控制器)。 3 求職招聘系統(tǒng)的需求分析 本招聘求職信息網(wǎng)站分為個(gè)人用戶、企業(yè)用兩個(gè)角色,個(gè)人用戶和企業(yè)用戶之間的關(guān)系相當(dāng)密切,互相進(jìn)行信息查詢,層層遞進(jìn)的關(guān)系,下面
26、就分別闡述一下每個(gè)用戶的功能: (1) 個(gè)人用戶 1 注冊:注冊分為個(gè)人用戶注冊和企業(yè)用戶注冊,在用戶類型中選擇用戶類型,注冊的信息分別存入兩個(gè)數(shù)據(jù)表中,并且在注冊界面有相關(guān)聯(lián)的系統(tǒng)驗(yàn)證,其中包括用戶名、郵箱地址、密碼、重復(fù)密碼。 2 更新詳情模塊:本模塊用于顯示已經(jīng)登陸的用戶的詳細(xì)信息,用戶通過這個(gè)模塊可以了解到自己已經(jīng)上傳的個(gè)人基本信息,并且可以通過再次編輯進(jìn)行更新個(gè)人基本信息,這樣可以實(shí)時(shí)的修改自己的基本資料,方便快捷,靈活度很高。 3 更新簡歷模塊:本模塊是用來更新自己的個(gè)人簡歷信息,可以上傳自己的個(gè)人簡歷,而且沒有格式限制,任何格式皆可。 4 查看招聘信息模塊:本模塊是對招
27、聘信息進(jìn)行查詢。在本模塊你可以查看到最新的招聘信息,方便了用戶了解企業(yè)動態(tài),支持在線應(yīng)聘。 (2) 企業(yè)用戶 1 企業(yè)用戶是本系統(tǒng)中另一個(gè)比較重要的用戶,該用戶可以進(jìn)行一系列的招聘活動,主要的功能有注冊、新建招聘信息、使招聘信息過期、查看應(yīng)聘人員、下載應(yīng)聘人員簡歷等功能。 2 招聘信息模塊:本模塊用于新建招聘求職信息,通過此模塊可以將新的招聘信息添加到數(shù)據(jù)庫中。 3 招聘信息模塊:本模塊用于把已經(jīng)超出招聘時(shí)間的信息刪除,從而滿足企業(yè)對特定時(shí)間需要招聘的人員的需求。 4 應(yīng)聘人員模塊:本模塊用于把已經(jīng)申請了本職位的人員進(jìn)行整理,存入數(shù)據(jù)庫中。 5 應(yīng)聘者簡歷模塊:本模塊用于把申請本職
28、位的人員簡歷自動導(dǎo)入到系統(tǒng)中去,并實(shí)時(shí)進(jìn)行下載更新。 4 求職招聘系統(tǒng)的設(shè)計(jì)方案 根據(jù)上面所提出的需求分析,可以設(shè)計(jì)出相應(yīng)的幾個(gè)功能模塊。下面具體設(shè)計(jì)本系統(tǒng)的解決方案。 4.1 求職招聘系統(tǒng)的系統(tǒng)流程 圖4.1展示了該系統(tǒng)所有功能模塊之間的邏輯關(guān)系。本系統(tǒng)主要由個(gè)人用戶和企業(yè)用戶組成。個(gè)人用戶和企業(yè)用戶實(shí)現(xiàn)實(shí)時(shí)同步,個(gè)人用戶更新信息,企業(yè)用戶查看應(yīng)聘信息同步跟新,各個(gè)功能之間存在依賴關(guān)系。 圖4.1 系統(tǒng)功能模塊關(guān)系圖 4.2 求職招聘系統(tǒng)的數(shù)據(jù)庫的設(shè)計(jì) 前面已經(jīng)詳細(xì)分析了本系統(tǒng)所要的功能和系統(tǒng)流程,下面開始設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫。 本招聘網(wǎng)站系統(tǒng)使用MySQL開源數(shù)據(jù)庫進(jìn)行開
29、發(fā),通過對實(shí)際功能需求的詳細(xì)研究,對表字段、主鍵的設(shè)置、數(shù)據(jù)字段的類型做了嚴(yán)格細(xì)致的分析,決定將每個(gè)類別的信息均獨(dú)自建立一個(gè)表,這樣設(shè)計(jì)減少了數(shù)據(jù)庫中表由于字段過多而導(dǎo)致過于復(fù)雜,因而得出了這套數(shù)據(jù)庫建立方案[9]。 用戶的需求具體體現(xiàn)在簡歷的查詢、更新、保存和刪除,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足實(shí)際功能需求。收集基本數(shù)據(jù)、分析數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)設(shè)計(jì),為后面的具體軟件系統(tǒng)設(shè)計(jì)打下基礎(chǔ)。 在仔細(xì)分析求職招聘系統(tǒng)需要的基礎(chǔ)上,針對需求,設(shè)計(jì)如下所示的表: 表4.1數(shù)據(jù)表 表名 功能說明 business 保存行業(yè)信息。 company 記錄公司的信息
30、。 education 求職者受教育的信息。 jobexpe 記錄工作經(jīng)驗(yàn)信息。 jobhunter 記錄應(yīng)聘者信息。 Business表記錄行業(yè)信息,busId記錄行業(yè)的ID號,并且是唯一的。busName記錄行業(yè)名稱。busIntro記錄行業(yè)簡介。該表主要作用于用戶查詢工作信息時(shí),提供行業(yè)信息查詢。該表字段如表4.2: 表4.2 business信息表 表名 表—(business) 列名 數(shù)據(jù)類型(精度范圍) 空/非空 約束條件 busId int(11) 非空 PRIMARY KEY busName varchar(20) 非空 b
31、usIntro varchar(200) 非空 Company表記錄企業(yè)用戶注冊后,進(jìn)行公司信息的存儲。comId記錄公司的ID,由數(shù)據(jù)庫自動生成。comName記錄公司名稱,comProperty記錄地址,comGuimo 記錄規(guī)模,ccomFund注冊資金,comIntro公司簡介,comCity公司所在城市,在comRegist,jsp頁面獲取注冊信息。該表字段如表4.3: 表4.3company信息表 表名 表—(company) 列名 數(shù)據(jù)類型(精度范圍) 空/非空 約束條件 comId int(11) 非空 NOT NULL comName
32、varchar(200) 非空 comProperty varchar(200) 非空 comGuimo int(200) comFund double comIntro varchar(200) comCity varchar(20) Education表主要存儲用戶的學(xué)歷,畢業(yè)院校,教育經(jīng)歷。在數(shù)據(jù)庫中,eduId由數(shù)據(jù)庫自動生成,cjhName默認(rèn)有四條數(shù)據(jù):小學(xué),中學(xué),大專,本科。字段如下表4.4: 表4.4 education 信息表 表名 表—(education ) 列名 數(shù)據(jù)類型
33、(精度范圍) 空/非空 約束條件 eduId int(11) 非空 NOT NULL cjhName varchar(20) 非空 NOT NUL eduDescribe varchar(200) 非空 Jobexpe記錄工作信息。jhId記錄工作需求數(shù),jeId記錄工作ID,jhSex記錄工作需求者的性別,jhBirth記錄年齡限制,jobContent記錄工作介紹。在searchJob.jsp提交查詢信息后,顯示jobexpe表的信息。表字段如下表4.5: 表4.5 jobexpe信息表 表名 表—(jobexpe ) 列名 數(shù)據(jù)類型(精度范
34、圍) 空/非空 約束條件 jhId int(11) 非空 FOREIGN KEY jeId int(11) 非空 PRIMARY KEY jhSex varchar(20) 非空 jhBirth varchar(20) jobContent varchar(20) Jobhunter記錄的是用戶簡歷信息。manId是用戶ID,由數(shù)據(jù)庫自動生成。manName記錄用戶姓名,manSex用戶性別,manBirth用戶出生年月,manEmail用戶聯(lián)系郵箱。該表字段如下表4.6: 表4.6 jobhunter信息表 表名 表
35、—(jobhunter ) 列名 數(shù)據(jù)類型(精度范圍) 空/非空 約束條件 manId int(11) 非空 FOREIGN KEY manName int(11) 非空 PRIMARYKEY manSex varchar(20) 非空 manBirth varchar(20) manEmail varchar(20) 4.3 求職招聘系統(tǒng)的MVC模式的設(shè)計(jì) 前面已經(jīng)介紹過MVC模式的結(jié)構(gòu)和優(yōu)點(diǎn)了,下面開始設(shè)計(jì)本系統(tǒng)的三層架構(gòu),即數(shù)據(jù)層、業(yè)務(wù)邏輯層和表示層。 4.3.1 求職招聘系統(tǒng)的數(shù)據(jù)層設(shè)計(jì) 為了實(shí)現(xiàn)MVC模式
36、的設(shè)計(jì)思想,將數(shù)據(jù)層、業(yè)務(wù)邏輯層和表示層分離,將不同的數(shù)據(jù)庫查詢分開。連接數(shù)據(jù)庫的類為DBHelper: 連接數(shù)據(jù)庫: public static Connection getConnection(String driver, String url,String user, String password) throws Exception { // 加載驅(qū)動 Class.forName(driver); // 返回連接 return DriverManager.getConnection(url, user, password); } public stat
37、ic Connection getConn() throws Exception { String driver = readConfig("driver"); String url = readConfig("url"); String user = readConfig("user"); String password = readConfig("password"); return getConnection(driver, url, user, password); } 4.3.2 求職招聘系統(tǒng)的應(yīng)用層設(shè)計(jì) 對于管理數(shù)據(jù)庫來說數(shù)據(jù)層已經(jīng)足夠了,但是
38、要處理更復(fù)雜的商務(wù)規(guī)則,或者需要更加面向?qū)ο蟮姆椒▉碓L問數(shù)據(jù)庫,這時(shí)候,數(shù)據(jù)層只能提供基本功能,而不能提供描述對象與其他對象之間關(guān)系的屬性。因此,需要?jiǎng)?chuàng)建另一些類來提供這些功能,并且把商務(wù)邏輯層與數(shù)據(jù)層分開。應(yīng)用層是基于數(shù)據(jù)層之上的,并且有提供實(shí)體的完整的面向?qū)ο蟮拿枋龅念?,也有操作它們的方法。它能隱藏?cái)?shù)據(jù)層的詳細(xì)信息,并能防止直接訪問被保護(hù)的記錄。 本系統(tǒng)的應(yīng)用層可以分為實(shí)體類和Servlet類:實(shí)體類主要提供JAVABEAN,Servlet類提供業(yè)務(wù)邏輯,以下均為示例。 Business類,該類定義了與行業(yè)各種數(shù)據(jù),如行業(yè)名稱,行業(yè)介紹,行業(yè)編號。下面列出該類中的方法的定義和描述:
39、 public int getBusId() {return busId;},獲取行業(yè)編號 public void setBusId(int busId) {this.busId = busId;},設(shè)置行業(yè)編號 public String getBusName() {return busName;},獲取行業(yè)名稱 public void setBusName(String busName) {this.busName = busName;},設(shè)置行業(yè)名稱 public String getBusIntro() {return busIntro;},獲取行業(yè)介紹 pu
40、blic void setBusIntro(String busIntro){this.busIntro = busIntro;},設(shè)置行業(yè)介紹 Company類,該類定義了與招聘公司信息各種數(shù)據(jù)庫,例如公司名稱,編號等。下面列出該類中的部分方法的定義和描述: public String getComPost() {return comPost;} public void setComPost(String comPost) {Post = comPost;} public int getRoleid() {return roleid;} public void set
41、Roleid(int roleid) {this.roleid = roleid;} AddbusinessServlet類,定義與行業(yè)相關(guān)信息的數(shù)據(jù)庫操作,如添加,修改,刪除等。利用Servlet相關(guān)功能,post和get方法。 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String busName=request
42、.getParameter("text"); String busIntro=request.getParameter("textarea"); BusinessDaoImpl dao=new BusinessDaoImpl(); Business business=new Business(); business.setBusIntro(busIntro); business.setBusName(busName); Boolean flag=dao.addBusiness(business); String mes="添加成功!"; if(
43、flag==true){ request.getSession().setAttribute("mes", mes); request.getRequestDispatcher("admin/jsp/addbusinessAdmin.jsp").forward( request, response); } 4.3.3 網(wǎng)上書店系統(tǒng)的表示層設(shè)計(jì) 所謂的表示層,是指提供給用戶所使用的界面及各種功能函數(shù)。 Index.jsp:首頁面,首頁面實(shí)現(xiàn)企業(yè)注冊,個(gè)人注冊,用戶登陸等連接,如4.9圖所示 圖4.9 首頁面 addbusinessAdmin.jsp
44、:企業(yè)用戶注冊頁面,填寫企業(yè)注冊信息,如4.10圖所示 圖4.10 企業(yè)注冊頁面 indexAdmin.jsp:個(gè)人登陸界面,用戶名,密碼,如圖4.11所示 圖4.11 個(gè)人用戶登陸界面 4.4 本系統(tǒng)三層模式中三層之間的交互舉例 上面4.3節(jié)中闡述了本系統(tǒng)的三層模式中數(shù)據(jù)層、業(yè)務(wù)處理層和表示層的實(shí)現(xiàn),但只是列出了數(shù)據(jù)層和應(yīng)用層所涉及的類和類中的方法,并對它們進(jìn)行了簡單的描述,至于表示層也只是列出了它需要的一些頁面及這些頁面的描述。例如用戶修改密碼。 首先是表示層changePassword.jsp,代碼如下:
其次是業(yè)務(wù)處理層,修改密碼的Servlet為 changePasswordServlet,在表示層提交信息后交到Servlet中的doPost()方法執(zhí)行,代碼如下: protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String jhPho48、ne = request.getParameter("jhPhone"); String jhName = request.getParameter("jhName"); String jhPassword = request.getParameter("jhPassword"); JobHunterDao dao = new JobHunterDaoImpl(); dao.updatePwd(jhPassword, jhPhone, jhName); System.out.println("修改成功"); } 在應(yīng)用層中調(diào)用了JobHunterDaoImp
49、l類中updatePwd()方法的進(jìn)行數(shù)據(jù)層操作,數(shù)據(jù)層代碼如下: public boolean updatePwd(String jhPassword, String jhPhone, String jhName) { String sql = "update jobhunter jhPassword=? where jhPhone=? And jhName=?"; Object[] param = { jhPassword, jhPhone, jhName }; int i = DBHelper.update(s
50、ql, param); if (i > 0) return true; return false; } 上面這個(gè)例子,從表示層到應(yīng)用層,再到數(shù)據(jù)層,完全體現(xiàn)了MVC模式的設(shè)計(jì)思想,表示層包含表示代碼、數(shù)據(jù)驗(yàn)證、用戶交互圖形界面。該層提供用戶在客戶端輸入數(shù)據(jù),同過圖形界面自帶的數(shù)據(jù)檢驗(yàn)功能,如用戶輸入內(nèi)容的合法性等。業(yè)務(wù)邏輯層主要是實(shí)現(xiàn)數(shù)據(jù)之間的依賴關(guān)系,如專業(yè)算法、行業(yè)信息等等。該層用于指定數(shù)據(jù)之間的規(guī)則,溝通數(shù)據(jù)層和顯示層。通過業(yè)務(wù)邏輯層,從數(shù)據(jù)層獲取數(shù)據(jù)傳遞到表示層,或者是從表示層獲取用戶提交的信息存儲到數(shù)據(jù)層。為表示層提供服務(wù),為數(shù)據(jù)層提供鏈接。數(shù)據(jù)處理層主要包
51、括數(shù)據(jù)存儲代碼和數(shù)據(jù)讀取代碼。數(shù)據(jù)持久層主要包括數(shù)據(jù)存取服務(wù),負(fù)責(zé)與數(shù)據(jù)庫管理系統(tǒng)(如數(shù)據(jù)庫)進(jìn)行訪問,為數(shù)據(jù)訪問提供方法。 這樣做的好處是,只要下一層向上一層提供的接口不便,下一層具體的實(shí)現(xiàn)內(nèi)容的改變是不會影響到上一層的實(shí)現(xiàn)的,所以這樣便于代碼的維護(hù)和軟件功能的擴(kuò)展。 5 結(jié)束語 通過本次畢業(yè)設(shè)計(jì)的制作和開發(fā),通過所學(xué)知識的有機(jī)應(yīng)用,在有限的時(shí)間和更加有限的知識儲備前提下,通過對數(shù)據(jù)庫的簡單增刪改查實(shí)現(xiàn)了招聘網(wǎng)站最最基本的功能。但與大型商業(yè)招聘網(wǎng)站相比,本系統(tǒng)在實(shí)用性上存在著無法回避的問題。希望在今后當(dāng)中對本系統(tǒng)進(jìn)行完善和改進(jìn)。 總之,此次畢業(yè)設(shè)計(jì)對我可謂影響深遠(yuǎn)、意義重大,可以說在畢
52、業(yè)設(shè)計(jì)的過程中,是我整個(gè)大學(xué)生涯中過的最緊張的時(shí)期,但也是我自從上大學(xué)來感到最充實(shí)的時(shí)期,也是我學(xué)的知識和經(jīng)驗(yàn)最多的時(shí)期。在這個(gè)過程中我主要學(xué)會堅(jiān)持,還要有耐心和恒心。在這個(gè)行業(yè)中,不僅鍛煉人的思考方式,還鍛煉著人的性格。我相信在老師的嚴(yán)格要求下,在以后的社會實(shí)踐中定能不斷的提升自己。 參考文獻(xiàn) [1] 梁平,彭林園.我國人力資源網(wǎng)絡(luò)招聘的文獻(xiàn)述評[J].科技信息:2011年02期 [2] 熊軍.人才招聘網(wǎng)站的優(yōu)勢、不足及改進(jìn)措施[J].人才資源開發(fā).2006年05期 [3] Yuen J S P, Thng C H, Tan P H, et al. Endorectal magnet
53、ic resonance imaging and spectroscopy for the detection of tumor foci in men with prior negative transrectal ultrasound prostate biopsy[J]. The Journal of urology, 2004, 171(4): 1482-1486. [4] 薩師煊.?dāng)?shù)據(jù)庫系統(tǒng)概論[M].第三版 北京:高等教育出版社,2000.112 ~ 120 [5] 孫明星,張祖平.?dāng)?shù)據(jù)庫原理及應(yīng)用[M].湖南:中南大學(xué)出版社,2003.55 ~ 65 [6] 古樂聲,卜炟
54、.Java web 程序設(shè)計(jì)與項(xiàng)目實(shí)踐[M].北京:電子工業(yè)出版社,2011.225 ~270 [7] 劉京華.Java Web整合開發(fā)王者歸來[M].北京:清華大學(xué)出版社,2010.323 ~ 371 [8] 百度百科 mysql, [9] 黃杰湘制作,《mysql中文參考手冊》,網(wǎng)絡(luò)電子書, [10] Tomcat簡介, [11] 百度百科 B/S, [12] 百度百科 3-tier, [13] 張海潘.軟件工程導(dǎo)論[M] 第四版.清華大學(xué)出版社,2003.94 ~ 100 [14] Kumanduri, Romero. Number Theory With Compu
55、ter Applications. America : Prentice Hall, 1997. 21 ~ 28 [15] Oracle. Oracle 10g Release 2. 2013-4-19 [16] Konrad King著.杜大鵬等譯.SQL編程實(shí)用大全(精華版).北京:中國水利水電出版社,2005.104~106 [17] Thomas Kyte.Expert Oracle Database Architecture.2nd Edition.America:Apress,2010.421 [18] Grady Booch.Object-oriented analys
56、is and design with applications.第三版.北京:人民郵電出版社,2008.126~133 [19] Bruce Eckel.Java編程思想.陳昊鵬譯. FourthEdition. 北京: 機(jī)械工業(yè)出版社.2007. 356 ~ 421 致 謝 本系統(tǒng)是大四在培訓(xùn)中參與小組所編寫,論文從選題到最終完成都得到了余敦輝老師的熱心幫助和精心指導(dǎo),余敦輝老師的細(xì)心分析、精益求精的精神深深的感染了我,并對我的工作和學(xué)習(xí)產(chǎn)生了很大的促進(jìn)作用。 在此,還要特別感謝徐老師、黃老師、鄭巧仙、曾誠等任課老師,他們所教的LINUX、JAVA、數(shù)據(jù)庫技術(shù)、軟件工程等課程在思想和技術(shù)上給了我很大的啟迪。從他們所講授的課程中我學(xué)到了JAVA技術(shù)、數(shù)據(jù)庫相關(guān)知識、軟件開發(fā)方法,這些在我的研究過程中發(fā)揮了巨大的作用,使我能順利完成我的論文。同時(shí)還要感謝其他每一位任課老師,沒有他們的辛勤工作就沒有今天的這一切,在此表示深深的感激之情。 同時(shí)要感謝我的班主任徐婕老師以及系里的各位領(lǐng)導(dǎo),謝謝四年中對我在學(xué)習(xí)上和生活上的關(guān)心,還有我親愛的同學(xué)們、親人以及朋友們,無論是學(xué)習(xí)上還是生活上都給了我很大很大的幫助,我衷心的對每一個(gè)人說一聲:謝謝!
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案