在線人才招聘網(wǎng)站論文楊迎_第1頁
在線人才招聘網(wǎng)站論文楊迎_第2頁
在線人才招聘網(wǎng)站論文楊迎_第3頁
在線人才招聘網(wǎng)站論文楊迎_第4頁
在線人才招聘網(wǎng)站論文楊迎_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊長春大學(xué)畢業(yè)設(shè)計(jì)(論文)紙第頁1前言1.1課題來源隨著多媒體技術(shù)和因特網(wǎng)的日益普及,以計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)為特征的現(xiàn)代信息技術(shù)極大的促進(jìn)了社會經(jīng)濟(jì)的發(fā)展。由于網(wǎng)絡(luò)方便快捷的特點(diǎn),網(wǎng)絡(luò)逐漸成為人們生活中的一種工具。隨著經(jīng)濟(jì)的發(fā)展,城市化步伐的加快,求職者隊(duì)伍不斷壯大。傳統(tǒng)的人才招聘,對于求職者來說,費(fèi)時(shí)費(fèi)力;對招聘單位來說,舉辦招聘會需要花費(fèi)大量經(jīng)費(fèi)。所以在當(dāng)今互聯(lián)網(wǎng)已經(jīng)成為人們生活一部分的社會里,越來越多的個(gè)人選擇通過網(wǎng)絡(luò)輕點(diǎn)鼠標(biāo)尋求工作,越來越多的企業(yè)也開始選擇網(wǎng)絡(luò)進(jìn)行招聘。所以一個(gè)在線招聘網(wǎng)站的課題顯得很有意義和必要性。現(xiàn)今網(wǎng)絡(luò)招聘市場被前程無憂、中華英才網(wǎng)以及智聯(lián)招聘三分天下,還有其它國內(nèi)知名招聘網(wǎng)站及眾多區(qū)域性招聘網(wǎng)站緊隨其后,競爭日益激烈,市場風(fēng)云變幻。從香港上市招聘媒體才庫集團(tuán)投資的1010job精英招聘網(wǎng)07年撤離大陸市場,以及年后國內(nèi)網(wǎng)絡(luò)招聘市場三大巨頭其中的兩家均表示了07年的虧損狀況,可以看出,國內(nèi)招聘網(wǎng)站同質(zhì)化的產(chǎn)品與服務(wù)與用戶需求越來越背道而馳,流量不等于質(zhì)量,市場不等于收益,行業(yè)創(chuàng)新,迫在眉睫。行業(yè)細(xì)分必將是未來發(fā)展趨勢。企業(yè)對于高層的招聘采用網(wǎng)絡(luò)招聘效果不好,也是網(wǎng)絡(luò)招聘的弱勢,涌現(xiàn)除了一些獵頭公司來分網(wǎng)絡(luò)招聘的羹,目前做的好的獵頭公司大部分集中在上海、深圳、北京。山東這類二線城市,做的好的有烽火獵頭,精英獵頭,世紀(jì)人才獵頭。1.2研究意義該在線人才招聘系統(tǒng)是先進(jìn)的計(jì)算機(jī)科學(xué)技術(shù)和現(xiàn)代招聘理念相結(jié)合的產(chǎn)物,通過使用以計(jì)算機(jī)網(wǎng)絡(luò)為基礎(chǔ)的網(wǎng)上人才招聘系統(tǒng),滿足了求職者和招聘企業(yè)雙向的要求,網(wǎng)上人才招聘系統(tǒng)收集大量招聘單位的招聘信息,它使網(wǎng)上招聘從盲目的網(wǎng)絡(luò)職位搜索到有序大量的職位投遞,從混亂變?yōu)橐?guī)范,而且成功率較高。

在線人才招聘系統(tǒng)實(shí)現(xiàn)了人才招聘的一些主要功能,如用戶注冊功能,用戶需先進(jìn)行會員注冊,成功后進(jìn)行相關(guān)操作;檢索導(dǎo)航功能:用戶可以根據(jù)自己意愿搜尋相關(guān)的工作;在線求職招聘功能:用戶可以在搜索結(jié)果中尋找合適的單位投遞個(gè)人簡歷;人才信息管理功能:系統(tǒng)會對用戶的信息,包括個(gè)人信息,個(gè)人簡歷等進(jìn)行統(tǒng)一管理。

系統(tǒng)用戶包括普通用戶和管理員用戶。普通用戶可以完成人才招聘的相關(guān)過程,包括生成簡歷、投遞簡歷等;管理員用戶具有更高的權(quán)限,可以刪除違規(guī)的普通用戶的基本信息。整個(gè)系統(tǒng)外觀和諧,操作較為人性化。

1.3相關(guān)背景自80年代以來,隨著多媒體技術(shù)和因特網(wǎng)的日益普及,以計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)為特征的現(xiàn)代信息技術(shù)極大的促進(jìn)了社會經(jīng)濟(jì)的發(fā)展。由于網(wǎng)絡(luò)方便快捷的特點(diǎn),網(wǎng)絡(luò)逐漸成為人們生活中的一種工具。隨著經(jīng)濟(jì)的發(fā)展,城市化步伐的加快,求職者隊(duì)伍不斷壯大。傳統(tǒng)的人才招聘,對于求職者來說,費(fèi)時(shí)費(fèi)力;對招聘單位來說,舉辦招聘會需要花費(fèi)大量經(jīng)費(fèi)。所以在當(dāng)今互聯(lián)網(wǎng)已經(jīng)成為人們生活一部分的社會里,越來越多的個(gè)人選擇通過網(wǎng)絡(luò)輕點(diǎn)鼠標(biāo)尋求工作,越來越多的企業(yè)也開始選擇網(wǎng)絡(luò)進(jìn)行招聘。

網(wǎng)絡(luò)招聘的方式在美國等國家已經(jīng)深入人心,成為大學(xué)畢業(yè)生和職員求職的首選方式,在美國,上網(wǎng)找工作已經(jīng)成為家常便飯,反而很少還有人在翻報(bào)紙尋覓就業(yè)機(jī)會。微軟更是網(wǎng)絡(luò)化管理的領(lǐng)航者,他們在進(jìn)行網(wǎng)絡(luò)招聘時(shí),網(wǎng)上招聘信息不僅對外發(fā)布,同時(shí)也對內(nèi),微軟在全球各個(gè)國家的公司有什么職位空缺,都發(fā)布在網(wǎng)上,微軟的職員可以跨國申請。如果你對某個(gè)國家的空缺職位感興趣,并愿意長期移居過去,便可以發(fā)申請信,那個(gè)國家微軟公司人力資源部就會對你的技能、業(yè)績做一番調(diào)查,然后在網(wǎng)上進(jìn)行測評,認(rèn)為你可以勝任,那么你就很幸運(yùn)地成為那個(gè)國家微軟公司的員工了,你的一切關(guān)系(包括保險(xiǎn)、薪酬、福利等)都將轉(zhuǎn)過去。目前為止,微軟已有不少員工通過這種方式到自己向往的國家和職位去工作了。由于受網(wǎng)絡(luò)發(fā)展和普及程度的影響,國內(nèi)的網(wǎng)絡(luò)招聘還處于起步階段。北京人上網(wǎng)求職的比例全國最高,其次是上海,再次是深圳和廣州,而在更多的內(nèi)陸地區(qū),網(wǎng)絡(luò)求職的比例更低,更多的人還是認(rèn)可平面媒體發(fā)布的招聘廣告。然而.機(jī)遇與挑戰(zhàn)并存,網(wǎng)絡(luò)的高速度與巨大的信息量賦予了網(wǎng)絡(luò)招聘得天獨(dú)厚的優(yōu)勢。 2系統(tǒng)分析2.1需求分析的概念在軟件工程中,需求分析指的是在建立一個(gè)新的或改變一個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。需求分析是軟件工程中的一個(gè)關(guān)鍵過程。在這個(gè)過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。需求分析階段的任務(wù)是確定軟件系統(tǒng)功能。在軟件工程的歷史中,很長時(shí)間里人們一直認(rèn)為需求分析是整個(gè)軟件工程中最簡單的一個(gè)步驟,但在過去十年中越來越多的人認(rèn)識到它是整個(gè)過程中最關(guān)鍵的一個(gè)過程。假如在需求分析時(shí)分析者們未能正確地認(rèn)識到顧客的需要的話,那么最后的軟件實(shí)際上不可能達(dá)到顧客的需要,或者軟件無法在規(guī)定的時(shí)間里完工。2.2需求分析的任務(wù)需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象,充分了解原系統(tǒng)工作概況,明確用戶的各種需求然后在此基礎(chǔ)上確定新系統(tǒng)的功能。一、確定對系統(tǒng)的綜合要求雖然功能需求是對軟件系統(tǒng)的一項(xiàng)基本需求,但卻并不是唯一的需求,通常對軟件系統(tǒng)有下述幾方面的綜合要求。任何一個(gè)軟件本質(zhì)上都是一個(gè)信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息很大程度上決定了系統(tǒng)的面貌,對軟件設(shè)計(jì)有深遠(yuǎn)的影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件分析的一個(gè)重要任務(wù)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法。2.3系統(tǒng)功能需求該人才招聘網(wǎng)站前臺功能包括用戶注冊,用戶登錄,招聘信息查詢,人才簡歷查詢,簡歷注冊,簡歷投遞,簡歷管理,企業(yè)信息添加,招聘信息發(fā)布,招聘信息管理,查看投遞簡歷,最新信息顯示,意見中心和廣告模塊;后臺功能包括用戶登錄,個(gè)人用戶管理,企業(yè)用戶管理,管理員信息管理,留言管理等。2.3.1前臺功能簡介(1)用戶注冊:可以注冊成為網(wǎng)站用戶,網(wǎng)站用戶分為個(gè)人用戶和企業(yè)用戶兩種。(2)用戶登錄:成為網(wǎng)站用戶后,可以用賬號密碼登錄網(wǎng)站。(3)招聘信息查詢:該功能用戶不登錄也可以使用,用于用戶查詢網(wǎng)站上的招聘信息。(4)人才簡歷查詢:該功能為企業(yè)用戶才具有的功能,可以使企業(yè)用戶查詢網(wǎng)站上的人才簡歷,方便企業(yè)選擇優(yōu)秀的人才。(5)簡歷注冊:個(gè)人用戶注冊后,可以完成自己的簡歷,讓自己的信息更全面的展示在企業(yè)面前。(6)簡歷投遞:個(gè)人用戶看到合適自己的招聘信息后,可以網(wǎng)上投遞自己的簡歷。(7)簡歷管理:個(gè)人用戶可以對自己的簡歷進(jìn)行管理,包括更新、刪除、新建。(8)企業(yè)信息管理:企業(yè)用戶可以對企業(yè)信息進(jìn)行添加、更新、刪除,方便個(gè)人用戶對企業(yè)了解企業(yè)最新介紹。(9)招聘信息發(fā)布:企業(yè)用戶可以在網(wǎng)站上發(fā)布招聘信息。(10)招聘信息管理:企業(yè)用戶可以對自己發(fā)布的招聘信息進(jìn)行管理,包括增、刪、改、查。(11)查看投遞簡歷:企業(yè)可以查看個(gè)人用戶投遞來的簡歷,也可以對簡歷進(jìn)行多條件查詢,方便企業(yè)對簡歷進(jìn)行篩選。(12)最新信息顯示:信息顯示模塊顯示的是系統(tǒng)實(shí)時(shí)最新信息,包括最熱職位、最熱企業(yè)、最熱新聞等。(13)意見中心和廣告:用戶瀏覽網(wǎng)站時(shí),如果對網(wǎng)站有什么建議或者意見,可以通過意見中心向系統(tǒng)反應(yīng);廣告模塊方便網(wǎng)站投放商業(yè)廣告,增多盈利途徑。2.3.2后臺功能簡介(1)用戶登錄:后臺只有系統(tǒng)管理員才可以登錄,然后對系統(tǒng)進(jìn)行管理。(2)個(gè)人用戶管理:可以對網(wǎng)站個(gè)人用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。(3)企業(yè)用戶管理:可以對網(wǎng)站企業(yè)用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。(4)管理員信息管理:可以對系統(tǒng)管理員用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。(5)留言管理:可以對網(wǎng)站用戶的留言進(jìn)行管理,包括信息的查詢,查看,篩選等。2.4系統(tǒng)性能需求2.4.1硬件環(huán)境系統(tǒng)開發(fā)環(huán)境:本系統(tǒng)采用的是Inteli3處理器,內(nèi)存1G;系統(tǒng)運(yùn)行環(huán)境:處理器要在Intel486以上系列或者AMDK6以上系列,內(nèi)存1G,網(wǎng)絡(luò)帶寬1M。2.4.2軟件環(huán)境系統(tǒng)開發(fā)環(huán)境采用的是windows7操作系統(tǒng),開發(fā)工具有MyEclipse8.6編輯工具,tomcat6.0服務(wù)器,數(shù)據(jù)庫采用的是Oracle10g,以及Firefox客戶端瀏覽器。系統(tǒng)的運(yùn)行環(huán)境包括操作系統(tǒng)可以是windows2000、XP、Vista、7等以及Linux,數(shù)據(jù)庫是Oracle數(shù)據(jù)庫,客戶端采用InternetExplore6.0及以上主流瀏覽器,如Firefox、chrome、opera等瀏覽器均可。硬件接口需要支持各種x86系列PC機(jī)即可;軟件接口需運(yùn)行于windows95/98及更高版本具有WIN32API的操作系統(tǒng)上。2.5可行性分析2.5.1經(jīng)濟(jì)可行性該款軟件開發(fā)周期為三個(gè)月,成本不是很大,放到服務(wù)器上費(fèi)用不是很高,由于使用預(yù)留接口和設(shè)計(jì)模式的運(yùn)用,運(yùn)行時(shí)維護(hù)和后期升級維護(hù)都不會耗費(fèi)太多的物質(zhì)成本。當(dāng)系統(tǒng)發(fā)布到網(wǎng)上后可以憑借其人才招聘的高效和方便性逐漸積累用戶量,當(dāng)用戶量累計(jì)到一定程度時(shí),就可以通過做廣告來獲得第三方的廣告費(fèi)利潤,系統(tǒng)還特意設(shè)置了會員用戶的特殊權(quán)限,比如通過該系統(tǒng)進(jìn)入到其他商城的用戶可以享受部分折扣等,所以該項(xiàng)目的經(jīng)濟(jì)可行性完全合乎要求。2.5.2技術(shù)可行性該系統(tǒng)技術(shù)上采用java開發(fā)語言,可以跨平臺,降低了該系統(tǒng)在各操作系統(tǒng)上的不兼容性。設(shè)計(jì)模式采用MVC設(shè)計(jì)模式,將模型、顯示和控制分開,便于維護(hù)和升級。系統(tǒng)架構(gòu)采用的是JSP+Servlet技術(shù),可以使設(shè)計(jì)效率更好,業(yè)務(wù)處理更合理。2.5.3運(yùn)行可行性該系統(tǒng)開發(fā)過程中采用tomcat6.0x服務(wù)器,運(yùn)行在服務(wù)器上,通過瀏覽器頁面訪問,所有功能也均在頁面上實(shí)現(xiàn)。系統(tǒng)顯示頁面考慮到了各種瀏覽器兼容性不一樣,特意參照W3C標(biāo)準(zhǔn)選用那些兼容所有主流瀏覽器的頁面屬性設(shè)置,使系統(tǒng)無論運(yùn)行在那種瀏覽器上都盡量少出現(xiàn)頁面失真。而且系統(tǒng)運(yùn)行時(shí)消耗的內(nèi)存少,使一般的服務(wù)器都可以高速運(yùn)行該系統(tǒng)。2.6小結(jié)信息時(shí)代的到來讓人類開始進(jìn)入一個(gè)新的紀(jì)元,隨著計(jì)算機(jī)信息技術(shù)的迅猛發(fā)展和Web信息系統(tǒng)的廣泛應(yīng)用,在線人才招聘系統(tǒng)應(yīng)用的信息化和網(wǎng)絡(luò)化成為當(dāng)前的一個(gè)趨勢。在線人才招聘系統(tǒng)是一種具有交互能力的人才信息系統(tǒng),它實(shí)現(xiàn)了一個(gè)互聯(lián)網(wǎng)上的虛擬招聘會,各個(gè)企業(yè)可以在網(wǎng)上發(fā)布招聘信息,然后求職者根據(jù)自己的具體情況在線提交簡歷。對招聘單位來說,招聘網(wǎng)站也為他們提供了查詢、檢索應(yīng)聘者信息庫的條件,使招聘工作中的人員初選工作變得輕松易行。它不但大大節(jié)省了企業(yè)為籌備現(xiàn)實(shí)中招聘會所需要的人力和財(cái)力,也方便了求職者。原來的一些人才招聘會,不能滿足企業(yè)招聘人才和求職者選擇工作的需要了。現(xiàn)在為了滿足企業(yè)和求職者的需求,在線人才招聘系統(tǒng)將向網(wǎng)絡(luò)版發(fā)展。此系統(tǒng)的開發(fā)為應(yīng)聘者及招聘公司帶來了很大的方便和經(jīng)濟(jì),使他們足不出戶就可以輕輕松松地完成求職和招聘工作。

在線人才招聘網(wǎng)站功能概述:該人才招聘網(wǎng)站前臺功能包括用戶注冊,用戶登錄,招聘信息查詢,人才簡歷查詢,簡歷注冊,簡歷投遞,簡歷管理,企業(yè)信息添加,招聘信息發(fā)布,招聘信息管理,查看投遞簡歷,最新信息顯示,意見中心和廣告模塊;后臺功能包括用戶登錄,個(gè)人用戶管理,企業(yè)用戶管理,管理員信息管理,留言管理等??傮w設(shè)計(jì)路線:在線人才招聘網(wǎng)站在參考已有系統(tǒng)的基礎(chǔ)上,采用B/S結(jié)構(gòu)進(jìn)行系統(tǒng)設(shè)計(jì),系統(tǒng)提供與服務(wù)器進(jìn)行數(shù)據(jù)交互的接口,可幫助個(gè)人用戶找到更多的工作機(jī)會,幫助企業(yè)用戶找到更多需要的人才,簡化招聘流程,提高招聘的整體效率。在線人才招聘網(wǎng)站的各種信息系從數(shù)據(jù)庫進(jìn)行的收集、編輯、整理。本設(shè)計(jì)是利用Internet的優(yōu)勢,可將需要找工作的人、需要人才的企業(yè)有效的聯(lián)系起來,作為一個(gè)公共的交流平臺,有效的整合了資源,節(jié)省了成本,提高了效率。3開發(fā)技術(shù)及開發(fā)環(huán)境3.1Java語言介紹3.1.1java介紹[1]Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(即JavaSE,JavaEE,JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。Java優(yōu)勢:與傳統(tǒng)程序不同,Sun公司在推出Java之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計(jì)的Java開發(fā)公司被要求所設(shè)計(jì)的Java軟件必須相互兼容。“Java語言靠群體的力量而非公司的力量”是Sun公司的口號之一,并獲得了廣大軟件開發(fā)商的認(rèn)同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同。Sun公司對Java編程語言的解釋是:Java編程語言是個(gè)簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動(dòng)態(tài)的語言。Java平臺是基于Java語言的平臺。這樣的平臺非常流行。因此微軟是推出了與之競爭的.NET平臺以及模仿Java的C#語言。Java劣勢:是j2ee的架構(gòu)很完美,第一版軟件可以做滿意,但是很不適合互聯(lián)網(wǎng)模式的持續(xù)不斷修改。互聯(lián)網(wǎng)軟件工程管理上的不足,持續(xù)的修修補(bǔ)補(bǔ)導(dǎo)致架構(gòu)的破壞。3.1.2Myeclipse介紹[2]MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate[1]。MyEclipse是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能。可以說MyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。3.2Tomcat服務(wù)器介紹Tomcat服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。3.3JSP介紹[3]JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁。Java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。JSP全名為JavaServerPages,其根本是一個(gè)簡化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語法中的java擴(kuò)張(以<%,%>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。通常JSP頁面很少進(jìn)行數(shù)據(jù)處理,只是用來實(shí)現(xiàn)網(wǎng)頁的靜態(tài)化頁面,只是用來提取數(shù)據(jù),不會進(jìn)行業(yè)務(wù)處理。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)的顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP(JavaServerPages)是一種動(dòng)態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。3.4Oracle數(shù)據(jù)庫介紹[4]ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。但它的所有知識,只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識,便能在各種類型的機(jī)器上使用它。3.5基于B/S的WEB開發(fā)體系結(jié)構(gòu) 3.5.1三層體系結(jié)構(gòu)三層架構(gòu)是什么是包括數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)。三層C/S結(jié)構(gòu)示意圖如圖3-1所示:圖3-1三層C/S結(jié)構(gòu)示意圖3.5.2MVC設(shè)計(jì)模式簡介MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動(dòng)更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己。MVC模式最早是smalltalk語言研究團(tuán)提出的,應(yīng)用于用戶交互應(yīng)用程序中。smalltalk語言和java語言有很多相似性,都是面向?qū)ο笳Z言,很自然的SUN在petstore(寵物店)事例應(yīng)用程序中就推薦MVC模式作為開發(fā)Web應(yīng)用的架構(gòu)模式。MVC模式是一種架構(gòu)模式,其實(shí)需要其他模式協(xié)作完成。在J2EE模式目錄中,通常采用servicetoworker模式實(shí)現(xiàn),而servicetoworker模式可由集中控制器模式,派遣器模式和PageHelper模式組成。而Struts只實(shí)現(xiàn)了MVC的View和Controller兩個(gè)部分,Model部分需要開發(fā)者自己來實(shí)現(xiàn),Struts提供了抽象類Action使開發(fā)者能將Model應(yīng)用于Struts框架中。MVC模式是一個(gè)復(fù)雜的架構(gòu)模式,其實(shí)現(xiàn)也顯得非常復(fù)雜。但是,目前已經(jīng)總結(jié)出了很多可靠的設(shè)計(jì)模式,多種設(shè)計(jì)模式結(jié)合在一起,使MVC模式的實(shí)現(xiàn)變得相對簡單易行。Views可以看作一棵樹,顯然可以用CompositePattern來實(shí)現(xiàn)。Views和Models之間的關(guān)系可以用ObserverPattern體現(xiàn)。Controller控制Views的顯示,可以用StrategyPattern實(shí)現(xiàn)。Model通常是一個(gè)調(diào)停者,可采用MediatorPattern來實(shí)現(xiàn)?,F(xiàn)在了解一下MVC三個(gè)部分在J2EE架構(gòu)中處于什么位置,這樣有助于理解MVC模式的實(shí)現(xiàn)。MVC與J2EE架構(gòu)的對應(yīng)關(guān)系是:View處于WebTier或者說是ClientTier,通常是JSP/Servlet,即頁面顯示部分。Controller也處于WebTier,通常用Servlet來實(shí)現(xiàn),即頁面顯示的邏輯部分實(shí)現(xiàn)。Model處于MiddleTier,通常用服務(wù)端的javaBean或者EJB實(shí)現(xiàn),即業(yè)務(wù)邏輯部分的實(shí)現(xiàn)。3.6本章小結(jié)本系統(tǒng)是使用java設(shè)計(jì)語言開發(fā),結(jié)合目前主流的SSH三大框架的B/S系統(tǒng),數(shù)據(jù)庫采用的是Oracle10g,開發(fā)過程服務(wù)器采用Apachetomcat6.0,從結(jié)構(gòu)和開發(fā)模式都體現(xiàn)了較好的設(shè)計(jì)思想。系統(tǒng)所用到的技術(shù)及開發(fā)軟件:HTML,CSS,JSP,Javascript,Ajax,Servlet,Oracle數(shù)據(jù)庫,MVC設(shè)計(jì)模式。其中HTML,CSS,JSP主要用于前端顯示頁面;Javascript用于客戶端校驗(yàn)及頁面效果的實(shí)現(xiàn),Ajax使用異步方式完成校驗(yàn);Oracle數(shù)據(jù)庫支持大數(shù)據(jù)處理。4系統(tǒng)總體設(shè)計(jì)4.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)4.1.1系統(tǒng)功能分析該人才招聘網(wǎng)站前臺功能包括用戶注冊,用戶登錄,招聘信息查詢,人才簡歷查詢,簡歷注冊,簡歷投遞,簡歷管理,企業(yè)信息添加,招聘信息發(fā)布,招聘信息管理,查看投遞簡歷,最新信息顯示,意見中心和廣告模塊;后臺功能包括用戶登錄,個(gè)人用戶管理,企業(yè)用戶管理,管理員信息管理,留言管理等。前臺:(1)用戶注冊:可以注冊成為網(wǎng)站用戶,網(wǎng)站用戶分為個(gè)人用戶和企業(yè)用戶兩種。(2)用戶登錄:成為網(wǎng)站用戶后,可以用賬號密碼登錄網(wǎng)站。(3)招聘信息查詢:該功能用戶不登錄也可以使用,用于用戶查詢網(wǎng)站上的招聘信息。(4)人才簡歷查詢:該功能為企業(yè)用戶才具有的功能,可以使企業(yè)用戶查詢網(wǎng)站上的人才簡歷,方便企業(yè)選擇優(yōu)秀的人才。(5)簡歷注冊:個(gè)人用戶注冊后,可以完成自己的簡歷,讓自己的信息更全面的展示在企業(yè)面前。(6)簡歷投遞:個(gè)人用戶看到合適自己的招聘信息后,可以網(wǎng)上投遞自己的簡歷。(7)簡歷管理:個(gè)人用戶可以對自己的簡歷進(jìn)行管理,包括更新、刪除、新建。(8)企業(yè)信息管理:企業(yè)用戶可以對企業(yè)信息進(jìn)行添加、更新、刪除,方便個(gè)人用戶對企業(yè)了解企業(yè)最新介紹。(9)招聘信息發(fā)布:企業(yè)用戶可以在網(wǎng)站上發(fā)布招聘信息。(10)招聘信息管理:企業(yè)用戶可以對自己發(fā)布的招聘信息進(jìn)行管理,包括增、刪、改、查。(11)查看投遞簡歷:企業(yè)可以查看個(gè)人用戶投遞來的簡歷,也可以對簡歷進(jìn)行多條件查詢,方便企業(yè)對簡歷進(jìn)行篩選。(12)最新信息顯示:信息顯示模塊顯示的是系統(tǒng)實(shí)時(shí)最新信息,包括最熱職位、最熱企業(yè)、最熱新聞等。(13)意見中心和廣告:用戶瀏覽網(wǎng)站時(shí),如果對網(wǎng)站有什么建議或者意見,可以通過意見中心向系統(tǒng)反應(yīng);廣告模塊方便網(wǎng)站投放商業(yè)廣告,增多盈利途徑。后臺:(1)用戶登錄:后臺只有系統(tǒng)管理員才可以登錄,然后對系統(tǒng)進(jìn)行管理。(2)個(gè)人用戶管理:可以對網(wǎng)站個(gè)人用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。(3)企業(yè)用戶管理:可以對網(wǎng)站企業(yè)用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。(4)管理員信息管理:可以對系統(tǒng)管理員用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。(5)留言管理:可以對網(wǎng)站用戶的留言進(jìn)行管理,包括信息的查詢,查看,篩選等。4.1.2系統(tǒng)模塊設(shè)計(jì)根據(jù)系統(tǒng)功能分析,得出系統(tǒng)總體結(jié)構(gòu)功能模塊圖如圖4-1所示:圖4-1系統(tǒng)總體結(jié)構(gòu)功能模塊圖4.2數(shù)據(jù)庫設(shè)計(jì)4.2.1數(shù)據(jù)庫需求分析根據(jù)網(wǎng)站功能和需求易知,關(guān)于前臺功能,需要對用戶注冊信息進(jìn)行存儲,對招聘信息、簡歷信息、求職信息及用戶意見信息進(jìn)行存儲,所以需要建立相應(yīng)的數(shù)據(jù)表格對數(shù)據(jù)進(jìn)行管理;關(guān)于后臺功能,需要對管理員進(jìn)行管理,建立單獨(dú)的系統(tǒng)用戶表對系統(tǒng)用戶信息進(jìn)行管理。分析需求后,系統(tǒng)的數(shù)據(jù)庫表大致可以設(shè)計(jì)個(gè)人用戶表(person_user)、企業(yè)用戶表(company_user)、企業(yè)信息表(Companies)、個(gè)人簡歷表(person_card)、企業(yè)簡歷表(company_card)、系統(tǒng)管理員表(manager)、意見表(yijian)。4.2.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)根據(jù)對數(shù)據(jù)庫需求的分析,可以得出各表直接的聯(lián)系關(guān)系,個(gè)人用戶和企業(yè)用戶都是單獨(dú)表,個(gè)人簡歷表和個(gè)人信息表關(guān)聯(lián),個(gè)人信息表的id作為簡歷表的外鍵;簡歷投遞表和個(gè)人用戶和企業(yè)用戶同時(shí)關(guān)聯(lián),是連接個(gè)人和企業(yè)的中間表。4.2.3數(shù)據(jù)庫表設(shè)計(jì)根據(jù)以上分析,數(shù)據(jù)庫大致設(shè)計(jì)表為:個(gè)人用戶表(person_user)、企業(yè)用戶表(company_user)、企業(yè)信息表(Companies)、個(gè)人簡歷表(person_card)、企業(yè)簡歷表(company_card)、系統(tǒng)管理員表(manager)、意見表(yijian)。4.3本章小結(jié)系統(tǒng)的總體設(shè)計(jì)體現(xiàn)設(shè)計(jì)是否合理,是為后續(xù)系統(tǒng)實(shí)現(xiàn)階段制定路線的步驟,需要細(xì)致的分析和從總體角度考慮,一個(gè)好的總計(jì)設(shè)計(jì)會將后續(xù)代碼實(shí)現(xiàn)階段難度降低一個(gè)層次,減少業(yè)務(wù)實(shí)現(xiàn)遇到問題的概率,可以大大提高系統(tǒng)總的開發(fā)效率。5系統(tǒng)詳細(xì)設(shè)計(jì)5.1數(shù)據(jù)庫設(shè)計(jì)5.1.1數(shù)據(jù)庫系統(tǒng)E-R圖設(shè)計(jì)E-R模型的組成元素有:實(shí)體、屬性、聯(lián)系。E-R模型用E-R圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對實(shí)體特征的描述。以下是關(guān)于個(gè)人用戶表、企業(yè)用戶表、個(gè)人簡歷表、企業(yè)信息表、留言表的E-R圖。個(gè)人用戶表的ER圖如圖5-1所示:圖5-1個(gè)人用戶表的ER圖企業(yè)用戶表的ER圖如5-2所示:圖5-2企業(yè)用戶表的ER圖個(gè)人簡歷表的ER圖如圖5-3所示:圖5-3個(gè)人簡歷表的ER圖5.1.2數(shù)據(jù)庫表的設(shè)計(jì)圖設(shè)計(jì)該部分是將上述E-R圖轉(zhuǎn)化為數(shù)據(jù)庫實(shí)際表格的過程,具體數(shù)據(jù)表格描述如下:表5-1個(gè)人用戶表(person_user)序號字段名稱字段類型字段長度是否為空是否外鍵字段描述1IDNVARCHAR2()10否id2PER_USERNAMENVARCHAR2()20是登錄名3PER_PASSWORDNVARCHAR2()20是登錄密碼4PER_EMAILNVARCHAR2()30是郵箱5PER_TELNVARCHAR2()15是電話表5-2企業(yè)用戶表(company_user)序號字段名稱字段類型字段長度是否為空是否外鍵字段描述1IDNVARCHAR2()10否表id2COM_USERNAMENVARCHAR2()20是公司登錄名3COM_PASSWORDNVARCHAR2()20是公司登錄密碼4COM_EMAILNVARCHAR2()30是公司郵箱5COM_TELNVARCHAR2()15是公司電話表5-3個(gè)人簡歷表(person_card)序號字段名稱字段類型字段長度是否為空是否外鍵字段描述1IDNVARCHAR2()10否用戶id2NAMENVARCHAR2()20是姓名3SEXNVARCHAR2()4是性別4NATIONNVARCHAR2()10是民族5MARRIAGENVARCHAR2()4是婚姻狀況6BIRTHNVARCHAR2()10是出生日期7DEGREENVARCHAR2()10是學(xué)位8SUBJECTNVARCHAR2()20是專業(yè)9PERSONALNVARCHAR2()200是自我介紹10TELLNVARCHAR2()15是聯(lián)系電話11EMAILNVARCHAR2()20是郵箱12POSTCODENVARCHAR2()10是郵編13ADDRESSNVARCHAR2()50是地址14OLDADDRESSNVARCHAR2()50是原地址15HIGHNVARCHAR2()8是身高16CARDNVARCHAR2()20是證件號碼17MAINNVARCHAR2()20是介紹18USERNAMENVARCHAR2()20是用戶名19HOPE_POSITIONNVARCHAR2()20是期望職位20HOPE_SALSRYNVARCHAR2()8是期望薪資21TIMENVARCHAR2()10是時(shí)間22PHOTONAMENVARCHAR2()50是照片名稱23PHOTOBLOB是照片表5-4留言表(userinfo)序號字段名稱字段類型字段長度是否為空是否外鍵字段描述1IDNVARCHAR2()10否id2NAMENVARCHAR2()20是姓名3LEIBIENVARCHAR2()20是性質(zhì)4YIJIANNVARCHAR2()120是意見內(nèi)容5TIMENVARCHAR2()20是發(fā)表時(shí)間表5-5企業(yè)信息表(company_card)序號字段名稱字段類型字段長度是否為空是否外鍵字段描述1IDNVARCHAR2()10否表id2COM_NAMENVARCHAR2()20是公司名稱3COM_ADDRESSNVARCHAR2()50是公司地址4COM_INTRODUCENVARCHAR2()300是公司介紹5BULIDTIMENVARCHAR2()10是建立時(shí)間6CONNECTPERSONNVARCHAR2()10是聯(lián)系人7CONNECTTELLNVARCHAR2()15是聯(lián)系電話10AREANVARCHAR2()20是區(qū)域11EMAILNVARCHAR2()20是電子郵箱12WEBNVARCHAR2()40是公司網(wǎng)站網(wǎng)址13POSTCODENVARCHAR2()10是郵編14USERNAMENVARCHAR2()20是用戶名15PHOTONAMENVARCHAR2()50是照片名16COM_PHOTOBLOB是照片5.2系統(tǒng)各個(gè)功能模塊設(shè)計(jì)5.2.1系統(tǒng)整體功能展示(1)網(wǎng)站首頁展示網(wǎng)站前臺首頁圖如圖5-4所示:圖5-4網(wǎng)站首頁圖(2)網(wǎng)站后臺首頁展示網(wǎng)站后臺頁面圖如圖5-5所示:圖5-5網(wǎng)站后臺首頁圖5.2.2前臺功能模塊設(shè)計(jì)(1)用戶注冊功能說明:可以注冊成為網(wǎng)站用戶,網(wǎng)站用戶分為個(gè)人用戶和企業(yè)用戶兩種。實(shí)現(xiàn)原理:用戶頁面選擇注冊類型,輸入注冊信息,在頁面校驗(yàn)后異步傳到后臺Servlet中進(jìn)行處理,將數(shù)據(jù)存儲到數(shù)據(jù)庫中,然后將結(jié)果返回到頁面,提示用戶注冊是否成功。用到的主要技術(shù):通過JavaBean來使實(shí)體對象和數(shù)據(jù)庫之間進(jìn)行交互。用戶注冊時(shí),先在頁面填寫用戶注冊信息,首先在頁面進(jìn)行客戶端的校驗(yàn),主要是驗(yàn)證用戶輸入的信息是否合法,比如用戶名是否為空,電話格式是否正確,郵箱格式是否正確等,待用戶的輸入符合要求后才讓其將數(shù)據(jù)提交到后臺進(jìn)行處理。數(shù)據(jù)提交到后臺后,先將對應(yīng)信息賦值給實(shí)例化出來的對象,然后用工具類中的方法,將User對象存儲到數(shù)據(jù)庫中。頁面運(yùn)行效果如圖5-6所示:圖5-6注冊模塊效果圖業(yè)務(wù)處理核心代碼:Userinfouse=newUserinfo();use.setPer_name(name);use.setPer_password(password);use.setPer_email(email);use.setPer_tel(tell);UserinfoServiceus=newUserinfoService();introw=us.addUser(use);(2)用戶登錄功能說明:成為網(wǎng)站用戶后,可以用賬號密碼登錄網(wǎng)站,登錄后才可以進(jìn)行有些功能的使用,比如投遞簡歷等。實(shí)現(xiàn)原理:用戶頁面輸入登錄信息,在頁面進(jìn)行校驗(yàn),判斷輸入是否合法,如果輸入合法將數(shù)據(jù)異步傳到后臺Servlet中進(jìn)行處理,判斷系統(tǒng)中是否有此用戶,是否可以登錄成功,然后將結(jié)果返回到頁面,動(dòng)態(tài)提示用戶注冊是否成功。用到的主要技術(shù):登錄時(shí),輸入用戶名后系統(tǒng)會提示系統(tǒng)是否包含此用戶,如果沒有,系統(tǒng)進(jìn)行提示用戶注冊,如果包含則提示用戶繼續(xù)輸入密碼。這個(gè)實(shí)現(xiàn)過程使用的是Ajax異步交互技術(shù),首先用戶輸入用戶名,然后將數(shù)據(jù)傳遞到后臺,后臺根據(jù)用戶名進(jìn)行數(shù)據(jù)庫查詢,將查詢結(jié)果返回到頁面,頁面根據(jù)返回的結(jié)果進(jìn)行提示信息的顯示。頁面運(yùn)行效果如圖5-7所示:圖5-7用戶登錄模塊效果圖登錄業(yè)務(wù)處理核心代碼:Stringradio=request.getParameter("radio");request.getSession().setAttribute("radio",radio);Stringsql="select*fromcompany_userwherecom_username='"+username+"'andcom_password='"+password+"'"; DBUtildb=newDBUtil(); List<Map<String,Object>>list=db.queryToList(sql); if(list.size()==1){ request.getSession().setAttribute("username",username); out.println("<script>"); out.println("alert('企業(yè)用戶登錄成功!')"); out.println("window.location='former/commain.jsp'"); out.println("</script>"); }else{ out.println("<script>"); out.println("alert('登錄失敗!請重新登錄!')"); out.println("window.location='main1'"); out.println("</script>"); }(3)招聘信息查詢功能說明:該功能是公共功能,所有訪問網(wǎng)站的人均有此權(quán)限。該功能用于用戶查詢網(wǎng)站上的招聘信息,可以多條件查詢想要的招聘信息。實(shí)現(xiàn)原理:用戶在頁面選擇查詢條件,然后通過表單提交到后臺,后臺通過頁面?zhèn)骰氐牟樵儣l件,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行檢索,將查詢到的結(jié)果封裝起來,返回到頁面,在頁面進(jìn)行顯示。用到的主要技術(shù):用戶將查詢條件傳遞到后臺后,在后臺進(jìn)行SQL查詢語句的拼接,然后在數(shù)據(jù)庫中查詢數(shù)據(jù),將查詢到的數(shù)據(jù)封裝到list中,通過response返回到頁面,在頁面進(jìn)行循環(huán)遍歷顯示出來。頁面運(yùn)行效果如圖5-8所示:圖5-8招聘信息查詢模塊效果圖拼接SQL的代碼如下:Stringsql="select*fromcompanieswhere'1'='1'"; if(null!=comname&&!"".equals(comname)){ sql=sql+"andcom_namelike'%"+comname+"%'"; } if(null!=composition&&!"".equals(composition)){ sql=sql+"andcom_position='"+composition+"'"; }if(null!=address&&!"".equals(address)){ sql=sql+"andcom_addresslike'%"+listt.get(0).get("DICTVALUE")+"%'"; } System.out.println(sql); if(null!=mysql&&!"".equals(mysql)){ sql=mysql; }(3)人才簡歷查詢功能說明:該功能為企業(yè)用戶才具有的功能,可以使企業(yè)用戶查詢網(wǎng)站上的人才簡歷,方便企業(yè)選擇優(yōu)秀的人才。實(shí)現(xiàn)原理:用戶在頁面選擇簡歷查詢條件,然后通過表單提交到后臺,后臺通過頁面?zhèn)骰氐牟樵儣l件,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行檢索,將查詢到的結(jié)果封裝起來,返回到頁面,在頁面進(jìn)行顯示。用到的主要技術(shù):表單提交用來使頁面向服務(wù)器傳遞數(shù)據(jù),數(shù)據(jù)庫表的多條件查詢用來查詢符合要求的數(shù),以及頁面JSP顯示。頁面運(yùn)行效果如圖5-9所示:圖5-9人才簡歷查詢模塊效果圖業(yè)務(wù)處理核心代碼:Stringsql1="select*fromdictwheredictcodelike'__0000'"; DBUtildbu=newDBUtil(); List<Map<String,Object>>list=dbu.queryToList(sql1); request.setAttribute("list1",list); Stringmysql=request.getParameter("mysql"); Stringsqlposition="selectdistincthope_positionfromperson_card"; List<Map<String,Object>>position=dbu.queryToList(sqlposition); intpagenow=0; Stringpagenow2=request.getParameter("pagenow"); if(null==pagenow2||"".equals(pagenow2)){ pagenow=1; }else{ pagenow=Integer.parseInt(pagenow2); } Stringname=request.getParameter("name"); Stringhope_position=request.getParameter("hope_position"); Stringaddress=request.getParameter("address"); Stringsqll="selectDICTVALUEfromdictwhereDICTCODE='"+address+"'"; List<Map<String,Object>>listt=dbu.queryToList(sqll); Stringsql="select*fromperson_cardwhere'1'='1'"; if(null!=name&&!"".equals(name)){ sql=sql+"andnamelike'%"+name+"%'"; } if(null!=hope_position&&!"".equals(hope_position)){ sql=sql+"andhope_position='"+hope_position+"'"; }if(null!=address&&!"".equals(address)){ sql=sql+"andoldaddresslike'%"+listt.get(0).get("DICTVALUE")+"%'"; } if(null!=mysql&&!"".equals(mysql)){ sql=mysql; } PageBeanpb=dbu.getPage(sql,5,pagenow); request.setAttribute("mysql",sql); request.setAttribute("pb",pb); request.setAttribute("position",position);(5)簡歷注冊功能說明:個(gè)人用戶注冊后,可以完成自己的簡歷,讓自己的信息更全面的展示在企業(yè)面前。實(shí)現(xiàn)原理:用戶頁面輸入簡歷注冊信息,在頁面進(jìn)行合法性校驗(yàn),合法后傳到后臺Servlet中進(jìn)行處理,將數(shù)據(jù)存儲到數(shù)據(jù)庫中,然后將結(jié)果返回到頁面,提示用戶注冊簡歷是否成功。用到的主要技術(shù):圖片上傳的方法為,用form表單進(jìn)行向后臺傳值時(shí),如果表單中有file類型的,表單不可以通過普通的傳值和后臺進(jìn)行交互,必須對file類型文件進(jìn)行處理才可以和后臺交互??梢栽诤笈_用Map數(shù)據(jù)結(jié)構(gòu)重新封裝fileitem,然后使表單控件的名稱和值對應(yīng)起來,而圖片處理時(shí),先將圖片轉(zhuǎn)換為流,存儲到數(shù)據(jù)庫或者服務(wù)器端,然后將圖片名稱進(jìn)行封裝,處理時(shí),可以直接將圖片名稱作為該控件的值進(jìn)行處理。頁面運(yùn)行效果如圖5-10所示:圖5-10簡歷注冊模塊效果圖圖片上傳處理核心代碼: Stringfileurl=this.getServletContext().getRealPath("image"); Map<String,Object>map=newHashMap<String,Object>();//重新封裝fileitem,形成對應(yīng)name屬性和值的map DiskFileItemFactorydff=newDiskFileItemFactory(); ServletFileUploadsfu=newServletFileUpload(dff); try{ List<FileItem>list=sfu.parseRequest(request);//把request里的值變?yōu)橐粋€(gè)list,泛型為FileItem for(inti=0;i<list.size();i++){ FileItemfileitem=list.get(i); Stringfieldname=fileitem.getFieldName(); if(fileitem.isFormField()){//判斷是否為普通表單控件 Stringfilevalue=fileitem.getString("utf-8");//取普通表單控件的值并轉(zhuǎn)碼 map.put(fieldname,filevalue); }else{ Stringfilename=fileitem.getName();//上傳文件的文件路徑名 if(!"".equals(filename)){//如果上傳文件存在 filename=UUID.randomUUID()+filename.substring(filename.lastIndexOf(".")); Filefile=newFile(fileurl,filename);//根據(jù)路徑和文件名在內(nèi)存中創(chuàng)建文件 fileitem.write(file);//把文件寫入服務(wù)器 map.put(fieldname,filename); map.put(fieldname+"file",file); } } } }catch(FileUploadExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }(6)簡歷管理功能說明:個(gè)人用戶可以對自己的簡歷進(jìn)行管理,包括更新、刪除、新建。實(shí)現(xiàn)原理:用戶在頁面對簡歷進(jìn)行操作,將操作的簡歷id和操作傳到后臺,對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行增刪改的操作,然后將結(jié)果返回到頁面,提示用戶操作結(jié)果。用到的主要技術(shù):簡歷修改時(shí),其實(shí)是先根據(jù)簡歷id在后臺查出簡歷數(shù)據(jù),傳到前臺,顯示到控件對應(yīng)的框中,然后在頁面進(jìn)行修改,修改后,再將這些修改后的值傳到后臺,在后臺進(jìn)行更新操作,然后將結(jié)果返回到頁面。頁面運(yùn)行效果如圖5-10所示:圖5-11簡歷管理模塊效果圖簡歷修改核心代碼:DBUtildbu=newDBUtil();Introw=dbu.update(sql,map.get("name"),map.get("address"),map.get("photofile"),map.get("company"),map.get("buildtime"),map.get("person"),map.get("tell"),map.get("area"),map.get("email"),map.get("web"),map.get("postcode"),map.get("photo")); System.out.println(row); if(row==1){ out.println("<script>"); out.println("alert('企業(yè)簡歷修改成功!')"); out.println("window.location='former/commain.jsp'"); out.println("</script>"); }else{ out.println("<script>"); out.println("alert('企業(yè)簡歷修改失??!')"); out.println("window.location='comcardupdate'"); out.println("</script>"); }(7)招聘信息發(fā)布功能說明:企業(yè)用戶可以在網(wǎng)站上發(fā)布招聘信息。實(shí)現(xiàn)原理:企業(yè)用戶在頁面填寫招聘信息,然后頁面校驗(yàn)輸入合法性,如果合法,將數(shù)據(jù)提交到服務(wù)器,對數(shù)據(jù)進(jìn)行處理,存儲到數(shù)據(jù)庫中,然后將數(shù)據(jù)查詢出來,返回到頁面,顯示在招聘信息模塊里。用到的主要技術(shù):招聘信息的發(fā)布和簡歷注冊的流程基本一樣,這里詳細(xì)說說E-mail的客戶端校驗(yàn)方法。用戶在客戶端校驗(yàn)Email格式時(shí),主要是運(yùn)用的javascript腳本語言,運(yùn)用正則表達(dá)式對輸入的值進(jìn)行匹配校驗(yàn),將校驗(yàn)結(jié)果返回,根據(jù)結(jié)果提示用戶輸入是否正確。頁面運(yùn)行效果如圖5-12所示:圖5-12發(fā)布招聘信息模塊效果圖Email校驗(yàn)的js代碼為:functiontestEmail(str){Varreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

if(reg.test(str)){

alert("true");

}else{

alert("false");

}

}(8)意見中心和廣告功能說明:用戶瀏覽網(wǎng)站時(shí),如果對網(wǎng)站有什么建議或者意見,可以通過意見中心向系統(tǒng)反應(yīng);廣告模塊方便網(wǎng)站投放商業(yè)廣告,增多盈利途徑。實(shí)現(xiàn)原理:用戶在頁面填寫意見信息,然后頁面校驗(yàn)輸入合法性,如果合法,將數(shù)據(jù)提交到服務(wù)器,對數(shù)據(jù)進(jìn)行處理,存儲到數(shù)據(jù)庫中,并將存儲結(jié)果是否成功返回到頁面,提示用戶是否建議成功。用到的主要技術(shù):頁面信息顯示用到了分頁技術(shù),其實(shí)現(xiàn)方法是,通過將指定條的數(shù)據(jù)封裝到一個(gè)bean中,然后將bean傳遞到頁面進(jìn)行顯示,每次更新頁面時(shí),將bean的屬性傳遞到后臺,重新獲取數(shù)據(jù),然后傳遞到頁面進(jìn)行顯示更新后的數(shù)據(jù)。頁面運(yùn)行效果如圖5-13所示:圖5-13意見中心和廣告模塊效果圖PageBean的核心代碼為:publicclassPageBean{ privateintpagesize;//分頁單位 privateintpageall;//總頁數(shù) privateintpagenow;//當(dāng)前頁 privateintrowall;//總記錄數(shù) privateintrowstart;//起始行 privateintrowend;//結(jié)束行 privateList<Map<String,Object>>list;//結(jié)果集 publicintgetPagesize(){ returnpagesize; } publicvoidsetPagesize(intpagesize){ this.pagesize=pagesize; } publicintgetPageall(){ returnpageall; } publicvoidsetPageall(intpageall){ this.pageall=pageall; } publicintgetPagenow(){ returnpagenow; } publicvoidsetPagenow(intpagenow){ this.pagenow=pagenow; } publicintgetRowall(){ returnrowall; } publicvoidsetRowall(introwall){ this.rowall=rowall; } publicintgetRowstart(){ returnrowstart; } publicvoidsetRowstart(introwstart){ this.rowstart=rowstart; } publicintgetRowend(){ returnrowend; } publicvoidsetRowend(introwend){ this.rowend=rowend; } publicList<Map<String,Object>>getList(){ returnlist; } publicvoidsetList(List<Map<String,Object>>list){ this.list=list; } }5.2.3后臺功能模塊設(shè)計(jì)(1)用戶登錄功能說明:后臺只有系統(tǒng)管理員才可以登錄,然后對系統(tǒng)進(jìn)行管理。實(shí)現(xiàn)原理:用戶頁面輸入登錄信息,在頁面進(jìn)行校驗(yàn),判斷輸入是否合法,如果輸入合法將數(shù)據(jù)異步傳到后臺Servlet中進(jìn)行處理,判斷系統(tǒng)中是否有此用戶,是否可以登錄成功,然后將結(jié)果返回到頁面,動(dòng)態(tài)提示用戶注冊是否成功。用到的主要技術(shù):登錄時(shí),輸入用戶名后系統(tǒng)會提示系統(tǒng)是否包含此用戶,如果沒有,系統(tǒng)進(jìn)行提示用戶注冊,如果包含則提示用戶繼續(xù)輸入密碼。這個(gè)實(shí)現(xiàn)過程使用的是Ajax異步交互技術(shù),首先用戶輸入用戶名,然后將數(shù)據(jù)傳遞到后臺,后臺根據(jù)用戶名進(jìn)行數(shù)據(jù)庫查詢,將查詢結(jié)果返回到頁面,頁面根據(jù)返回的結(jié)果進(jìn)行提示信息的顯示。頁面運(yùn)行效果如圖5-14所示:圖5-14后臺用戶登錄模塊效果圖(2)個(gè)人用戶管理功能說明:可以對網(wǎng)站個(gè)人用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。實(shí)現(xiàn)原理:用戶在頁面對個(gè)人用戶信息進(jìn)行操作,將操作的個(gè)人用戶id和操作傳到后臺,對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行增刪改的操作,然后將結(jié)果返回到頁面,提示用戶操作結(jié)果。用到的主要技術(shù):個(gè)人用戶管理時(shí)最主要的是,無論進(jìn)行何種業(yè)務(wù)處理,都時(shí)刻將個(gè)人用戶的id傳遞,主要id能找到,就可以找到相應(yīng)的用戶信息,然后對用戶信息進(jìn)行操作。頁面運(yùn)行效果如圖5-15所示:圖5-15個(gè)人用戶管理模塊效果圖(3)企業(yè)用戶管理功能說明:可以對網(wǎng)站企業(yè)用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。實(shí)現(xiàn)原理:用戶在頁面對企業(yè)用戶信息進(jìn)行操作,將操作的企業(yè)用戶id和操作傳到后臺,對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行增刪改的操作,然后將結(jié)果返回到頁面,提示用戶操作結(jié)果。用到的主要技術(shù):企業(yè)用戶的統(tǒng)計(jì)功能室采用圖形控件JfreeChar實(shí)現(xiàn)的,在后臺Servlet中對用戶進(jìn)行分類查詢,然后將數(shù)據(jù)傳遞到控件中,控件將根據(jù)數(shù)據(jù)進(jìn)行圖形的繪制,然后顯示在頁面上,還可以根據(jù)用戶選擇不同的圖形種類,重新繪制符合要求的統(tǒng)計(jì)圖。頁面運(yùn)行效果如圖5-16所示:圖5-16企業(yè)用戶管理模塊效果圖企業(yè)用戶統(tǒng)計(jì)功能運(yùn)行效果如圖5-17所示:圖5-17企業(yè)用戶統(tǒng)計(jì)模塊效果圖企業(yè)用戶統(tǒng)計(jì)的核心代碼:publicLinkedList<Map<String,Object>>load(){ LinkedList<Map<String,Object>>rsList=null; try{ rsList=newLinkedList<Map<String,Object>>(); StringsqlList="SELECTCOUNT(COM_NAME)ASCNT,COM_NAMEFROMCOMPANIESGROUPBYCOM_NAMEORDERBYCOM_NAME"; PageBeanpb=dao.get(sqlList); rsList=pb.getRsFormat().getRsList(); }catch(Exceptione){ e.printStackTrace(); } returnrsList; }(4)管理員信息管理功能說明:以對系統(tǒng)管理員用戶進(jìn)行管理,包括信息的添加、修改、刪除、查詢。實(shí)現(xiàn)原理:用戶在頁面對管理員信息進(jìn)行操作,將操作的管理員id和操作傳到后臺,對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行增刪改的操作,然后將結(jié)果返回到頁面,提示用戶操作結(jié)果。用到的主要技術(shù):管理員管理時(shí)涉及到刪除管理員,執(zhí)行此操作前,系統(tǒng)會判斷用戶刪除的是否為自己,如果是,將會提示管理員不可以刪除自己,只可以刪除除自己外的其他管理員。實(shí)現(xiàn)的過程是,執(zhí)行操作前,會將當(dāng)前登錄的管理員id傳到后臺與需要?jiǎng)h除的管理員id進(jìn)行對比,如果相同,證明是同一個(gè)管理員,提示不可以刪除,否則可以進(jìn)行刪除。頁面運(yùn)行效果如圖5-18所示:圖5-18管理員信息管理模塊效果圖(6)留言信息管理功能說明:可以對網(wǎng)站用戶的留言進(jìn)行管理,包括信息的查詢,查看,篩選等。實(shí)現(xiàn)原理:用戶在頁面對留言信息進(jìn)行操作,將操作的企業(yè)用戶id和操作傳到后臺,對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行增刪改的操作,然后將結(jié)果返回到頁面,提示用戶操作結(jié)果。用到的主要技術(shù):頁面信息顯示用到了分頁技術(shù),其實(shí)現(xiàn)方法是,通過將指定條的數(shù)據(jù)封裝到一個(gè)bean中,然后將bean傳遞到頁面進(jìn)行顯示,每次更新頁面時(shí),將bean的屬性傳遞到后臺,重新獲取數(shù)據(jù),然后傳遞到頁面進(jìn)行顯示更新后的數(shù)據(jù)。頁面運(yùn)行效果如圖5-19所示:圖5-19留言信息管理模塊效果圖5.3本章小結(jié)代碼實(shí)現(xiàn)過程遇到很多問題,比如說框架使用過程中的.xml文件配置,Servlet的動(dòng)態(tài)跳轉(zhuǎn);由于瀏覽器兼容性及CSS不是很熟練問題導(dǎo)致的頁面失真問題,Javascript校驗(yàn)代碼封裝;設(shè)計(jì)模式采用MVC模式帶來的分層問題,數(shù)據(jù)的初始化問題等。但后來通過各種途徑都逐一獲得了解決,有的解決方式可能不是最好,但通過自己的努力將問題簡化然后解決了就是最大的進(jìn)步。實(shí)現(xiàn)過程雖漫長難熬,但結(jié)果卻讓人欣慰。本次設(shè)計(jì)自己代碼能力提高很多,無論是代碼規(guī)范性還是思路的嚴(yán)謹(jǐn)性。6系統(tǒng)測試測試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們設(shè)計(jì)出有針對性地檢測方法,改善測試的有效性。6.1軟件測設(shè)的重要性軟件測試的目的決定了如何去組織測試。如果測試的目的是為了盡可能多地找出錯(cuò)誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。如果測試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評價(jià),那么測試就應(yīng)該直接針對在實(shí)際應(yīng)用中會經(jīng)常用到的商業(yè)假設(shè)。6.2模塊測試本軟件的功能模塊中,每個(gè)模塊完成一個(gè)相對獨(dú)立的功能。因此測試的第一個(gè)任務(wù)是將模塊作為獨(dú)立實(shí)體進(jìn)行測試,確保模塊能夠作為單元順利的運(yùn)行。單元測試規(guī)模比較小,測試起來比較簡單,在開發(fā)軟件的過程中,每完成一個(gè)模塊,就對模塊測試一下。其實(shí)模塊編碼階段進(jìn)行的單元測試的過程同時(shí)也是模塊調(diào)試的過程。在模塊級測試中用到了大量的測試用例,通過這些測試用例可以幫助檢測程序的運(yùn)行是否有誤。測試用例1:登錄模塊,輸入用戶和名密碼對用戶名和密碼進(jìn)行判斷,查看數(shù)據(jù)庫若用戶名和密碼存在時(shí)則通過驗(yàn)證進(jìn)入管理界面否則提示相應(yīng)錯(cuò)誤。測試用例2:密碼修改模塊,判斷原始密碼和新密碼時(shí)都相同若相同則提示信息,否則修改成功。6.3程序代碼由于整個(gè)系統(tǒng)代碼過多,全部粘貼于此不太現(xiàn)實(shí),故值選取比較重要的和個(gè)別有代表性的文件代碼于以展示。Web.xml文件代碼:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="/xml/ns/javaee" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>scenium.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/LoginServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>RegisterServlet</servlet-name> <servlet-class>scenium.servlet.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/RegisterServlet.do</url-pattern> </servlet-mapping>······</web-app>監(jiān)聽器類的代碼:packagefilterlistener;importjavax.servlet.http.HttpSessionEvent;importjavax.servlet.http.HttpSes

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論