




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、人才招聘網(wǎng)【摘 要】 在線招聘方式已經(jīng)成為招聘求職的一大重要手段,它具有招聘范圍廣,信息量大,可挑選余地大,招聘效果好,費(fèi)用低等優(yōu)勢。因此,在線招聘勢必成為社會發(fā)展不可缺少的一部分。本網(wǎng)站采用java語言開發(fā),主要采用struts、hibernate、spring三大框架技術(shù),實現(xiàn)了一個基于web的b/s模式的人才招聘網(wǎng)。其主要功能包括招聘者和求職者的信息采集、求職過程的系統(tǒng)記錄、并支持權(quán)限的控制以及強(qiáng)大的系統(tǒng)管理員的功能等等。本文闡述了在線招聘方式的優(yōu)勢,并對所做網(wǎng)站的分析、設(shè)計及實現(xiàn)過程做了詳細(xì)介紹?!娟P(guān)鍵詞】 招聘求職在線javadesign and implementation of
2、online recruitment system【abstract】 its an important method for people to apply for jobs through the internet. there are some advantages: wider field, larger amount of information, wider selection, better results, and lower fee. so job hunting on internet will be an integral part of development of s
3、ociety. my system is implemented by java, using struts, hibernate, spring in normal processing of software development and in b/s mode of web in design and development of system. there are some functions: collecting information, registering of job information, recording seeking process automatically
4、, controlling privileges. this thesis introduces advantages of job hunting on internet and presents a further introduction to analysis, design and process of the web.【keywords】 recruitment, job hunting,online,java目 錄第一章緒論11.1 課題來源11.2 國內(nèi)現(xiàn)狀11.3 研究意義1第二章需求分析32.1 系統(tǒng)定義32.2 功能需求32.3 數(shù)據(jù)需求3第三章數(shù)據(jù)庫設(shè)計43.1 數(shù)據(jù)庫
5、的概念43.2 數(shù)據(jù)庫的選擇43.3 數(shù)據(jù)庫表的描述4第四章技術(shù)介紹114.1 java開發(fā)語言的選擇114.2 mvc設(shè)計模式124.3 struts,hibernate,spring技術(shù)134.4 sql語言154.5 開發(fā)環(huán)境15第五章系統(tǒng)實現(xiàn)165.1網(wǎng)站總體架構(gòu)及實現(xiàn)165.2 查看公司信息185.3 投遞簡歷205.4 查看個人簡歷225.5 求職者查看來自公司的回復(fù)245.6 其他功能26第六章結(jié)論31致 謝32參考文獻(xiàn)33附錄一 數(shù)據(jù)庫連接34附錄二 聲明式事務(wù)管理35第一章 緒論 1.1 課題來源網(wǎng)上招聘求職方式已經(jīng)成為了招聘求職的一大重要手段,其招聘求職規(guī)模和招聘求職成功率
6、已直逼傳統(tǒng)招聘會,有的甚至超過了傳統(tǒng)招聘會。通過它應(yīng)聘者和招聘單位可以在網(wǎng)上通過internet,突破時間和空間的限制實現(xiàn)了工作求職和用人單位的人才招聘。網(wǎng)上招聘的崛起對傳統(tǒng)人才招聘流通體系產(chǎn)生了強(qiáng)烈的沖擊,網(wǎng)上招聘較之傳統(tǒng)招聘具有招聘范圍廣,信息量大,可挑選余地大,招聘效果好,費(fèi)用低,獲得了越來越多的公司的認(rèn)可,同時它有著經(jīng)營成本低、用戶檢索方便、地域限制少等特點。為了滿足市場對于人才招聘解決方案的需求,推出了網(wǎng)上人才招聘解決方案。 1.2 國內(nèi)現(xiàn)狀從現(xiàn)在出現(xiàn)的一些網(wǎng)絡(luò)招聘網(wǎng)站的經(jīng)營模式分析,我們可以把人才網(wǎng)站從縱向和橫向上分為以下幾種:第一種是大而全的綜合性人才網(wǎng)站。在目前最具代表性的就是
7、51job、zhaopin、528等。他們是全國性的、綜合的、在目前中國大陸的網(wǎng)絡(luò)招聘行業(yè)中應(yīng)該是處于領(lǐng)先和知名度最高的網(wǎng)站。當(dāng)然隨著不斷的資本運(yùn)作和行業(yè)縱深的發(fā)展,以及日益激烈的競爭,他們也是此消彼長,各有千秋。第二種是人們經(jīng)常接觸的地方性的綜合人才網(wǎng)站。他們就是以一個地方為營業(yè)范圍,在本地區(qū)做到最好,最大化。最具代表性的就是:南方人才網(wǎng)(,官方背景,廣州地區(qū)最大,間接覆蓋整個珠三角地區(qū)乃至華南地區(qū))、深圳人才網(wǎng)(,官方背景,深圳地區(qū),東莞地區(qū),粵西地區(qū)都有覆蓋)等,另外還有上海招聘網(wǎng)、北京人才網(wǎng)、浙江人才網(wǎng)等。這種網(wǎng)站就是以某個地區(qū)為中心,來運(yùn)營和提供在線求職,招聘服務(wù)。第三種是細(xì)分行業(yè)的
8、人才網(wǎng)站。他們是以一個行業(yè)為中心來做細(xì)分市場的,更加的突出了專業(yè)和行業(yè)的特點。例如:星眾分行業(yè)人才網(wǎng)()英才網(wǎng)聯(lián)(,行業(yè)老派了,一直做的比較穩(wěn)健。)等,當(dāng)然在這個業(yè)態(tài)下,還有一些只從單一行業(yè)去走的網(wǎng)站,他們也做的很不錯。例如:中國服裝人才網(wǎng)、中國外語人才網(wǎng)等,雖然他們只做一個行業(yè),但他們的服務(wù)是高質(zhì)量的。綜上所述,人才招聘網(wǎng)站的建設(shè)需要從地域性、專業(yè)化等方面去考慮。 1.3 研究意義人才招聘網(wǎng)是基于人力資源管理的理念,在21世紀(jì)誕生的新的網(wǎng)羅人才的平臺。隨著我國市場經(jīng)濟(jì)的蓬勃發(fā)展,越來越多的人不再滿足現(xiàn)有的工作崗位及薪資待遇,于是紛紛通過媒介來找尋令自己滿意的工作。信息時代的跨步轉(zhuǎn)變和網(wǎng)絡(luò)技術(shù)
9、的迅猛發(fā)展都為人才招聘網(wǎng)的誕生和發(fā)展提供了有利的條件和極大的空間。通過這樣的人力資源平臺,越來越多的人,足不出戶便可獲取大量的就業(yè)信息,找到適合自己的工作。在當(dāng)今社會中,功能完善的人才招聘網(wǎng)能夠為用人單位和求職者之間提供快速有效的就業(yè)服務(wù),它是就業(yè)信息來源的主要渠道之一。通過發(fā)揮網(wǎng)上求職的優(yōu)勢,建設(shè)和發(fā)展網(wǎng)上自助式就業(yè)服務(wù)是一種必然的趨勢。開發(fā)完善的就業(yè)招聘信息網(wǎng),可以為求職者和用人單位提供快捷方便的雙向選擇服務(wù),為求職者和用人單位之間架設(shè)溝通的橋梁,大大提高了就業(yè)招聘工作的效率,有利于求職人更多更好地了解公司信息,有利于用人單位更好地選拔人才,有效地解決了求職者和用人單位的奔波之苦,節(jié)約人力
10、物力,同時還排除了各大招聘會因人數(shù)眾多帶來的安全隱患等問題。展望未來,網(wǎng)絡(luò)招聘勢必成為社會發(fā)展不可缺少的一部分,而其自身的發(fā)展趨勢也必然更專業(yè)化、高質(zhì)量化。那么就要求我們提供的不僅僅是簡單的在線求職、招聘、發(fā)布信息這么一個功能,而是要做到以客戶的需求、人才的需求、求職者的變化等因素來改進(jìn)我們的服務(wù),使之更加專業(yè),更有特色。第二章 需求分析 2.1 系統(tǒng)定義人才招聘網(wǎng)的出現(xiàn)在一定程度上取代了人才市場所具有的職能和作用,那么本網(wǎng)站只作為一個第三方的就業(yè)中介機(jī)構(gòu),為有招聘需求的公司和尋求合適工作的求職者雙方提供服務(wù)。 2.2 功能需求人才招聘網(wǎng)的一個最主要的目的就是為求職者和用人單位提供方便快捷的雙
11、向選擇服務(wù),因此其主要的使用者有兩類,即尋求合適工作的求職者和有招聘需求的公司,并且其功能主要實現(xiàn)雙方信息的注冊及信息的交互。一、從信息需求的角度分析信息注冊主要包括求職者全部個人信息的采集和公司現(xiàn)有信息情況的采集。信息交互即求職信息管理,主要包括求職者向公司投遞簡歷過程的記錄和公司對求職者反饋信息。新聞信息。二、從用戶的角度分析求職者要注冊個人信息,并記錄簡歷的投遞信息。公司要注冊其詳細(xì)信息,并記錄對求職者的反饋。網(wǎng)站管理員添加新聞信息。 2.3 數(shù)據(jù)需求一、 求職者的個人信息求職者信息包括求職者要在個人簡歷中體現(xiàn)出的所有自然信息(姓名、性別、出生日期、民族、政治面貌),聯(lián)系方式(電話號碼、
12、電子郵件),照片,外語情況(外語語種、外語等級),受教育情況及在校信息(畢業(yè)學(xué)校、學(xué)歷、學(xué)制、專業(yè)、受教育時間、專業(yè)技能、自我評價、在校獎懲),實際工作經(jīng)驗等二、 企業(yè)的詳細(xì)信息企業(yè)信息包括企業(yè)的自然信息(公司名稱、公司地址、公司簡介),聯(lián)系方式(聯(lián)系人、聯(lián)系電話、聯(lián)系郵件),招聘的信息(職位名稱、招聘人數(shù)、相應(yīng)要求、專兼職)等。三、 求職信息管理中所需要的信息求職者向公司發(fā)送簡歷的時間、簡歷是否已被查看、公司向求職者的回復(fù)內(nèi)容、回復(fù)時間。第三章 數(shù)據(jù)庫設(shè)計 3.1 數(shù)據(jù)庫的概念當(dāng)人們從不同的角度來描述這一概念時就有不同的定義。例如,稱數(shù)據(jù)庫是一個“記錄保存系統(tǒng)”(該定義強(qiáng)調(diào)了數(shù)據(jù)庫是若干記錄
13、的集合)。又如稱數(shù)據(jù)庫是“人們?yōu)榻鉀Q特定的任務(wù),以一定的組織方式存儲在一起的相關(guān)的數(shù)據(jù)的集合”(該定義側(cè)重于數(shù)據(jù)的組織)。更有甚者稱數(shù)據(jù)庫是“一個數(shù)據(jù)倉庫”。當(dāng)然,這種說法雖然形象,但并不嚴(yán)謹(jǐn)。嚴(yán)格地說,數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫”。本網(wǎng)站將使用一直以來使用都最為廣泛的關(guān)系模型作為數(shù)據(jù)庫的建設(shè)依據(jù)。在用戶的觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,一個關(guān)系對應(yīng)通常說的一張表,并且關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項。而一個基于關(guān)系模型的數(shù)據(jù)庫則是由若干個二維表組成的。對于一些大型和中型的數(shù)據(jù)庫,如oracle,sql server 2000/7.0等都屬于關(guān)系型
14、數(shù)據(jù)庫,同時它們所帶有的數(shù)據(jù)庫管理工具是其他小型數(shù)據(jù)庫所沒有的,而同時這些工具又為管理員的工作節(jié)省了很多的時間和財力。 3.2 數(shù)據(jù)庫的選擇本網(wǎng)站使用mysql 5.12實現(xiàn)關(guān)系型數(shù)據(jù)庫。mysql是一個真正的多用戶、多線程sql數(shù)據(jù)庫服務(wù)器,它有較好的數(shù)據(jù)承載能力,一個環(huán)境有超過40個數(shù)據(jù)庫,包含10,000個表,其中500多個表超過7百萬行,總數(shù)據(jù)大約有100gb的數(shù)據(jù)庫系統(tǒng)可以很好的被mysql所支持,而mysql本身不會像oracle那樣對系統(tǒng)及硬盤空間有很高的要求。這也是本網(wǎng)站選用mysql作為后臺數(shù)據(jù)庫系統(tǒng)的一個重要原因之一。 3.3 數(shù)據(jù)庫表的描述概念模型是對信息世界建模,其表示
15、方法有很多,其中最為常用的是實體聯(lián)系模型,即er模型,它是用er圖來描述現(xiàn)實世界的概念模型。er圖中用矩形表示實體;用橢圓表示屬性;用菱形表示聯(lián)系。本網(wǎng)站表示實體及其聯(lián)系的er圖,見圖31。為了清楚簡便的描述出實體與其屬性之間的關(guān)系,用visio軟件生成了一張包含實體屬性的完整er圖,見圖32。圖31圖32 3.3.1 求職人表(employee)該表主要完成求職人員基本信息的錄入、刪除、更新等功能。在此表中定義了22個字段來進(jìn)行求職人員的信息存儲。見表31。表31標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明idbigint自動yy自增namevarchar20y姓名pswvarchar16y密碼s
16、exinteger自動y性別用0,1表示,1男,0女birthdayvarchar10n出生日期nationvarchar10n民族memberinteger自動n政治面貌0群眾,1團(tuán)員,2黨員,3民主人士phonevarchar15n電話號emailvarchar30y電子郵件需要電子郵件驗證,以及唯一性,登錄用photovarchar50n照片以字符串格式保存圖片名,并指定存儲路徑schoolvarchar40n畢業(yè)學(xué)校degreeinteger自動n學(xué)歷0無,1小學(xué),2初中,3高中,4職高,5中專, 6大學(xué)??疲?大學(xué)本科,8碩士生,9博士生schyearinteger自動n學(xué)制majo
17、rvarchar30n專業(yè)schtimevarchar30n受教育時間skilltext1024n專業(yè)技能evaluatetext1024n自我評價schhortationtext1024n在校獎懲experiencetext1024n工作經(jīng)驗othervarchar254n備注其他regtimedatatime自動y注冊時間visittimedatatime自動y最后訪問時間 3.3.2 外語表(language)該表主要完成求職人員外語信息的錄入、刪除功能。在此表中定義了4個字段來進(jìn)行求職人員外語信息的存儲,并將該求職人的id做為外鍵保存,實現(xiàn)多對一的關(guān)系。見表32。表32標(biāo)識符數(shù)據(jù)類型長
18、度非空描述主鍵外鍵說明idbigint自動yy自增languagevarchar16y外語語種levelvarchar10y外語等級empidbigint自動y求職人yemployee表id 3.3.3 公司表(company)該表主要完成公司信息的錄入、刪除、更新等功能。在此表中定義了13個字段來進(jìn)行公司的信息存儲。見表33。 3.3.4 職位表(job)該表主要完成公司對招聘職位的信息錄入、刪除功能。在此表中定義了6個字段來進(jìn)行招聘信息存儲,并將發(fā)布該招聘信息的公司id做為外鍵保存,以實現(xiàn)多對一的關(guān)系。見表34。 3.3.5 管理員表(admin)該表主要保存管理人員的賬號、密碼以及權(quán)限。
19、在此表中定義了4個字段來進(jìn)行信息存儲。見表35。表33標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明idbigint自動yy自增accountvarchar10y賬號pswvarchar16y密碼namevarchar50n公司名hurryinteger自動y是否急招用0,1表示,0默認(rèn),1急招cityvarchar20n所在城市addressvarchar60n公司地址linkmanvarchar20n聯(lián)系人phonevarchar15n聯(lián)系電話emailvarchar30n聯(lián)系郵件introducetext1024n公司簡介endtimedatatime自動y招聘截止日期endtime即截止日期已
20、過,可以被管理員刪除!regtimedatatime自動y公司注冊日期表34標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明idbigint自動yy自增namevarchar30y職位名稱numinteger自動y招聘人數(shù)needvarchar254n相應(yīng)要求kindinteger自動y專兼職0隨意(默認(rèn)),1專職,2兼職comidbigint自動y對應(yīng)公司號ycompany表id表35標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明idbigint自動yy自增namevarchar20y管理員賬號pswvarchar16y密碼powerinteger自動y權(quán)限用1,2表示,1是超管 3.3.6 新聞表(news
21、)該表主要記錄管理人員對新聞信息的錄入、刪除功能。在此表中定義了4個字段來進(jìn)行信息存儲。見表36。表36標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明idbigint自動yy自增infocontenttext1024y消息內(nèi)容adminbigint自動y管理員號yadmin表idtimedatatime自動y記錄日期 3.3.7 求職表(emp_com)該表的主要功能是對求職人員向公司投遞簡歷做以記錄,并記錄簡歷是否被查看的狀態(tài)。在此表中定義了6個字段來進(jìn)行信息存儲,以外鍵記錄求職者和公司,實現(xiàn)求職者和公司之間多對多關(guān)系。見表37。表37標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明idbigint自動yy自
22、增empidbigint自動y求職者yemployee表idcomidbigint自動y公司ycompany表idtimedatatime自動y發(fā)送簡歷時間lookinteger自動y是否已查看0未被查看(默認(rèn)),1已被查看waitjobvarchar30n應(yīng)聘的職位用數(shù)字及“,”的連接字符串存儲job表id 3.3.8 回復(fù)表(com_emp)該表的主要功能是記錄公司對投簡歷的求職者做出的回復(fù)。在此表中定義了6個字段來進(jìn)行信息存儲,以外鍵記錄求職者和公司,實現(xiàn)求職者和公司之間多對多關(guān)系。 見表38。表38標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明idbigint自動yycomidbigint自動
23、y公司ycompany表idempidbigint自動y求職者yemployee表idreplytext1024n公司向求職者的回復(fù)內(nèi)容timedatatime自動y回復(fù)時間lookinteger自動y是否已查看0未被查看(默認(rèn)),1已被查看第四章 技術(shù)介紹4.1 java開發(fā)語言的選擇現(xiàn)在,市場上可以選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國市場上最為流行,使用最多,最為先進(jìn)的可用作企業(yè)級開發(fā)語言的產(chǎn)品有:sun公司的javamicrosoft公司的visual basicmicrosoft公司的visual cborland公司的delphipowersoft公司的powerbu
24、lider在目前市場上這些眾多的程序開發(fā)工具中,有些強(qiáng)調(diào)語言的彈性與執(zhí)行效率;有些偏重于可視化程序開發(fā)工具所帶來的便利性與效率的提高,各有各的優(yōu)點和特色,也滿足了不同用戶的不同需求。我的網(wǎng)站選擇java語言開發(fā),其原因基于以下幾點:java是一種簡單的、面向?qū)ο蟮摹⒎植际降?、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動態(tài)的語言。 一、簡單 java的風(fēng)格類似于c+,并且摒棄了c+中容易引發(fā)程序錯誤的地方,如指針和內(nèi)存管理。 此外java提供了豐富的類庫。 二、面向?qū)ο?面向?qū)ο罂梢哉f是java最重要的特性。java語言的設(shè)計完全是面向?qū)ο蟮?。java支持靜態(tài)和動態(tài)風(fēng)格的代碼
25、繼承及重用。 三、分布式 java包括一個支持http和ftp等基于tcp/ip協(xié)議的子庫。因此,java應(yīng)用程序可憑借url打開并訪問網(wǎng)絡(luò)上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。四、健壯 java致力于檢查程序在編譯和運(yùn)行時的錯誤。java自己操縱內(nèi)存減少了內(nèi)存出錯的可能性。java提供null指針檢測數(shù)組邊界、檢測異常出口、字節(jié)代碼校驗。 五、安全 java的安全性可從兩個方面得到保證。一方面,在java語言里,像指針和釋放內(nèi)存等c+功能被刪除,避免了非法內(nèi)存操作。另一方面,當(dāng)java用來創(chuàng)建瀏覽器時,語言功能和瀏覽器本身提供的功能結(jié)合起來,使它更安全。六、結(jié)構(gòu)中立 為了建立j
26、ava作為網(wǎng)絡(luò)的一個整體,java將它的程序編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。java源程序被編譯成一種高層次的與機(jī)器無關(guān)的byte-code格式語言,這種語言被設(shè)計在虛擬機(jī)上運(yùn)行,由機(jī)器相關(guān)的運(yùn)行調(diào)試器實現(xiàn)執(zhí)行。 七、可移植的 java的可移植性一直是java程序設(shè)計師們的精神指標(biāo),也是java之所以能夠受到程序設(shè)計師們喜愛的原因之一,最大的功臣就是jvm的技術(shù)。java編譯器產(chǎn)生的目標(biāo)代碼(j-code) 是針對一種并不存在的cpu-java虛擬機(jī)(java virtual machine),而不是某一實際的cpu。java虛擬機(jī)能掩蓋不同
27、cpu之間的差別,使j-code能運(yùn)行于任何具有java虛擬機(jī)的機(jī)器上。 八、高性能 java可以在運(yùn)行時直接將目標(biāo)代碼翻譯成機(jī)器指令。sun用直接解釋器一秒鐘內(nèi)可調(diào)用300,000個過程。翻譯目標(biāo)代碼的速度與c/c+的性能沒什么區(qū)別。 九、多線程 java支持多線程,多線程功能使得在一個程序里可同時執(zhí)行多個小任務(wù)。線程,有時也稱小進(jìn)程,是一個大進(jìn)程里分出來的小的獨立的進(jìn)程。十、動態(tài) java的動態(tài)特性是其面向?qū)ο笤O(shè)計方法的發(fā)展。它允許程序動態(tài)地裝入運(yùn)行過程中所需要的類,這是c+語言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計所無法實現(xiàn)的。java編譯器不是將對實例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號引用信
28、息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成動態(tài)連接類后,將符號引用信息轉(zhuǎn)換為數(shù)值偏移量。4.2 mvc設(shè)計模式mvc是model-view-controller的簡稱,它是一種設(shè)計模式,它把應(yīng)用程序分成三個核心模塊:模型、視圖、控制器,它們各自處理自己的任務(wù)。視圖是用戶看到并與之交互的界面,作用包括向用戶顯示相關(guān)的數(shù)據(jù)、接受用戶的輸入、向模型查詢業(yè)務(wù)狀態(tài)、接受模型發(fā)出的數(shù)據(jù)更新事件,從而對用戶界面進(jìn)行同步更新。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,是應(yīng)用程序的主體部分。一個模型能為多個視圖提供數(shù)據(jù),因此提高了代碼的可重用性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。當(dāng)web用戶單擊we
29、b頁面中的遞交按鈕來發(fā)送html表單時,控制器本身不輸出任何東西和做任何處理??刂破鹘邮照埱蟛Q定調(diào)用哪個模型組件去處理請求,然后決定調(diào)用哪個視圖來顯示模型處理返回的數(shù)據(jù)。mvc的優(yōu)點表現(xiàn)在如下幾個方面:一、 首先,最重要的一點是多個視圖能共享一個模型。同一個模型可以被不同的視圖重用,大大提高了代碼的可重用性。二、 由于mvc的三個模塊相互獨立,改變其中一個不會影響其他兩個,所以依據(jù)這種設(shè)計思想能構(gòu)造良好的松偶合的構(gòu)件。三、 此外,控制器提高了應(yīng)用程序的靈活性和可配置性??刂破骺梢杂脕砺?lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。mvc處理過程的結(jié)構(gòu)圖,見
30、圖41。圖414.3 struts,hibernate,spring技術(shù) 4.3.1 strutsstruts 是目前javawebmvc框架中不爭的王者。struts由一組相互協(xié)作的類(組件)、serlvet以及jsptaglib組成。由于struts 實質(zhì)上就是在jsp model2的基礎(chǔ)上實現(xiàn)的一個mvc框架,所以基于struts構(gòu)架的web應(yīng)用程序基本上符合jspmodel2即mvc的設(shè)計標(biāo)準(zhǔn)。其中的模型是javabean,控制器是actionservlet、action,視圖是jsp、struts客戶化標(biāo)簽。struts 控制器組件主要包括:充當(dāng)struts框架的中央控制器的acti
31、onservlet組件、充當(dāng)每個子應(yīng)用模塊的請求處理器的requestprocessor組件、負(fù)責(zé)處理一項具體的業(yè)務(wù)的action組件。其工作流程如圖42圖42struts的另一特點是使用actionform bean,actionform bean也是一種javabean,除了具有一些javabean的常規(guī)方法,還包含一些特殊的方法,用于驗證html表單數(shù)據(jù)以及將其屬性重新設(shè)置為默認(rèn)值。struts框架利用actionform bean來進(jìn)行view組件和controller組件之間表單數(shù)據(jù)的傳遞。jsp文件使用struts標(biāo)簽讀取修改后的actionform bean的信息,重新設(shè)置htm
32、l表單。 4.3.2 hibernatehibernate是連接java應(yīng)用程序和關(guān)系數(shù)據(jù)庫的中間件,它封裝了jdbc,實現(xiàn)了java對象的持久化;封裝了所有數(shù)據(jù)訪問細(xì)節(jié),使業(yè)務(wù)邏輯層專注于業(yè)務(wù)邏輯。并且通過對象關(guān)系映射(object relational mapping,簡稱orm)解決了面向?qū)ο笈c關(guān)系數(shù)據(jù)庫之間存在的互不匹配的現(xiàn)象。如圖43 4.3.3 springspring是為了降低企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。spring只使用基本的javabeans就能完成以前必須通過ejb來完成的事情,而與ejb是相比,spring 的核心是個輕量級的容器,它是實現(xiàn)ioc(inversion o
33、f control控制反轉(zhuǎn))容器,是非侵入性的框架,并提供aop(aspect-oriented programming面向方面編程)概念的實現(xiàn)方式,提供對持久層和事務(wù)的支持,提供mvc web 框架的實現(xiàn),并對一些常用的企業(yè)服務(wù)api提供一致的模型封裝,是一個全方位的應(yīng)用程序框架。圖434.4 sql語言sql(structure query language結(jié)構(gòu)化查詢語言)自1974年被提出,至今已經(jīng)是世界上最流行的關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。sql語言的分類一、ddl(data definition language)數(shù)據(jù)定義語言,其作用包括創(chuàng)建數(shù)據(jù)庫對象、刪除數(shù)據(jù)庫對象、修改數(shù)據(jù)庫對象(cr
34、eate、drop、alter)。二、dml(data manipulation language)數(shù)據(jù)操縱語言,其作用包括查找數(shù)據(jù)信息、插入數(shù)據(jù)信息、刪除數(shù)據(jù)信息、更改數(shù)據(jù)信息(select、 insert、 delete、 update)。三、dcl(data control language)數(shù)據(jù)控制語言,作用主要對是授權(quán)數(shù)據(jù)庫對象(grant, revoke)。4.5 開發(fā)環(huán)境操作系統(tǒng):windows xp;運(yùn)行工具:ie 6.0開發(fā)工具:myeclipse 5.1.0 ga, dreamweaver v8.0數(shù)據(jù)庫:mysql 5.12服務(wù)器: tomcat 6.0輔助工具:adob
35、e photoshop cs, flash v8.0第五章 系統(tǒng)實現(xiàn) 5.1網(wǎng)站總體架構(gòu)及實現(xiàn) 5.1.1系統(tǒng)總體結(jié)構(gòu)圖圖51 5.1.2 用戶首頁界面風(fēng)格圖52人才招聘網(wǎng)的主頁面可以把最新的9條招聘信息以及9條急聘信息呈現(xiàn)給進(jìn)入本網(wǎng)站的用戶,如果應(yīng)聘的人員想了解具體的信息或是企業(yè)要想發(fā)布招聘信息,就必須注冊成為本網(wǎng)站的會員。通過會員身份登錄以后,可以實現(xiàn)相關(guān)的功能。對于沒有注冊的用戶,本網(wǎng)站將不提供任何服務(wù)。 5.2 查看公司信息 5.2.1 功能描述求職者在登錄后可顯示“功能菜單” ,選擇“查看全部公司信息”的操作,將會出現(xiàn)全部有效的已注冊公司的列表信息(按注冊時間的降序排列),也可進(jìn)一步
36、按期望職位或公司所在城市進(jìn)行站內(nèi)搜索,將搜索結(jié)果列出。如圖54。 5.2.2 模塊流程圖圖53 5.2.3 界面風(fēng)格圖54 5.2.4 實現(xiàn)算法string findstr=ffc.gettxtfind();/從表單中獲取條件值int pagenum=integer.parseint(request.getparameter(pagenum);list allcom=new arraylist();/建立allcom對象,存儲查詢結(jié)果列表switch(integer.parseint(findstr)case 1: /按期望職位進(jìn)行查詢string jobname=ffc.gettxtfind
37、info();/獲取搜索框中用戶所鍵入的職位信息list joblist=jobdao.findjobbyname(jobname); /獲取相應(yīng)的職位記錄列表for (int i = 0; i joblist.size(); i+) job job=(job)joblist.get(i); /在職位列表中做循環(huán)處理取出每個職位對應(yīng)的公司外鍵company com=job.getcompany();/獲得公司信息allcom.add(com);/加入結(jié)果列表break;case 2:/按公司所在城市進(jìn)行查詢 string city=ffc.gettxtfindinfo();/獲取搜索框中用戶所
38、鍵入的城市信息allcom=companydao.listcompanybycity(city, (pagenum-1)*15, 15);/調(diào)用查詢方法,按城市信息進(jìn)行查詢break;default: /查詢?nèi)抗綼llcom=companydao.listallcompany(pagenum-1, 15);session.setattribute(allcom,allcom);/存入session,待頁面讀取 5.3 投遞簡歷 5.3.1 功能描述在5.2節(jié)所列出的公司列表中選擇一個公司,可以通過鏈接,查看該公司的詳細(xì)信息和招聘職位。在列出公司詳細(xì)信息的同時,會列出該公司招聘的職位,選擇想
39、要應(yīng)聘的職位后,選擇“投遞簡歷” 。如圖56。 5.3.2 模塊流程圖圖55 5.3.3 界面風(fēng)格圖56 5.3.4 實現(xiàn)算法 一個公司的詳細(xì)信息company com=companydao. findbyid (公司編號);將com存入session;list jobofcomlist=jobdao.findjob(公司編號);將找到的公司列表存入session; 投遞簡歷建立求職表對象 empcom;empcom.setemployee(求職人);empcom.setcompany(公司);empcom.setwaitjob(已選擇的應(yīng)聘職位);empcom
40、.settime(today);empcom.setlook(0);/該簡歷未被查看過empcomdao.save(empcom);/調(diào)用保存法存儲該記錄 5.4 查看個人簡歷 5.4.1 描述如圖58所示,選擇指定的求職者的姓名,可以對其簡歷進(jìn)行查看,同時對于已經(jīng)被查看的簡歷其狀態(tài)會從未被查看變成已經(jīng)查看。公司也可以刪除指定求職者的簡歷,刪除操作執(zhí)行后將回到此“應(yīng)聘信息”頁,已被刪除的信息將不再被顯示。公司向求職者發(fā)送回復(fù)信息只能在查看求職者簡歷的時候,如圖59所示,在求職者個人簡歷的下方會顯示該求職者應(yīng)聘的職位,及公司可以填寫回復(fù)的文本域。公司用戶填寫回復(fù)信息后點擊發(fā)送回復(fù)可以看到操作是否
41、成功的提示信息,點擊返回按鈕則回到全部求職者列表,即圖58。 5.4.2 模塊流程圖圖57 5.4.3 界面風(fēng)格見圖58 5.4.4 實現(xiàn)算法 查看簡歷列表list empofcomlist=empcomdao.findempcom(com,0,15);/按公司com對象在求職表查詢向他投簡歷的求職者 回復(fù)信息comemp comemp=new comemp();comemp.setcompany(公司);comemp.setemployee(求職者);comemp.setlook(0);/設(shè)定回復(fù)狀態(tài)未被求職者查看comemp.setreply(回復(fù)內(nèi)容);c
42、omemp.settime(today);comempdao.save(comemp);/調(diào)用回復(fù)表的保存方法,保存本次回復(fù)記錄。圖58圖59 5.5 查看反饋信息 5.5.1 描述求職者在登錄成功后,在“功能菜單”中,選擇“查看已有回復(fù)信息”的操作,將會出現(xiàn)公司向該求職者發(fā)送的回復(fù)信息列表,求職者可以選擇每條回復(fù)信息后所對應(yīng)的刪除操作。刪除操作執(zhí)行后將返回該頁即如圖510所示,已被刪除的信息將不再被顯示。 5.5.2 模塊流程圖圖510 5.5.3 界面風(fēng)格圖511 5.5.4 實現(xiàn)算法list cte=comempdao.findbyemployee(emp, (頁碼-1)*6, 6);/
43、按已登錄的求職者查找,從回復(fù)表中讀取有關(guān)該求職者的回復(fù)信息,并設(shè)定每頁6條記錄,將結(jié)果存于cte列表中。 5.6 其他功能 5.6.1 求職者注冊圖511 5.6.2 求職者信息維護(hù)圖512圖513圖514圖515圖516 5.6.3 公司信息維護(hù)圖517圖518 5.6.3 管理員主界面圖519第六章 結(jié)論在前面幾章中,我們對人才招聘網(wǎng)的建設(shè)過程從需求分析、設(shè)計、實現(xiàn)等階段分別做了介紹。本網(wǎng)站實現(xiàn)了用戶注冊、登錄、求職人和招聘單位的身份驗證以及求職人和招聘單位詳細(xì)信息的采集、招聘職位的登記、個人簡歷的預(yù)覽、求職者可以查看用人單位的信息并投遞簡歷,用人單位也可以瀏覽應(yīng)聘者的簡歷并做以回復(fù),并且
44、通過管理員對最新工作信息的發(fā)布,使求職者可以通過站內(nèi)新聞及時獲取最新的信息等功能。本文對所選擇的開發(fā)語言做了介紹,本網(wǎng)站在開發(fā)過程中采用struts、hibernate、spring三大框架相結(jié)合,利用spring的聲明式事務(wù)管理,不同于以往開發(fā)過程中所使用的編程式事務(wù)管理,在這一點上,本文也做了詳細(xì)的介紹。此外,在項目的開發(fā)過程中采用規(guī)范的軟件工程的開發(fā)流程,因此在需求分析及數(shù)據(jù)庫設(shè)計部分做了大量的工作,這些對本網(wǎng)站后期的編碼過程起到了指導(dǎo)作用,在本文中也有所體現(xiàn)。 本網(wǎng)站也將會在今后的應(yīng)用中逐步完善,做到盡善盡美。致 謝二年的大學(xué)生活即將結(jié)束,在這二年中我不僅學(xué)到了很多知識和技能,也有了很
45、多社會經(jīng)歷,學(xué)會了為人處事的道理。二年中,學(xué)校領(lǐng)導(dǎo)和老師們一直給予我們無微不致的關(guān)懷,在傳授我們文化知識的同時,還給我們講述人生的哲理以及走向社會去求職、去競爭的能力和技巧等等,這些都使我受益匪淺。在此,我感謝學(xué)校領(lǐng)導(dǎo)和老師對我的辛勤教導(dǎo),感謝陪伴我渡過二年時光的同學(xué)們,也感謝一直支持我、鼓勵我、供我完成大學(xué)學(xué)業(yè)的父母。在我即將走向社會之際,更是深感責(zé)任的重大,為此,我更會牢記師長們的教誨,認(rèn)認(rèn)真真地做事,坦坦蕩蕩地做人,把所學(xué)、所掌握的所有知識技能,全部用到工作之中,不辜負(fù)師長們對我的諄諄教誨。參考文獻(xiàn)1 (美)marty hall,larry brown.servlet與jsp核心編程.第
46、二版.趙學(xué)良譯.北京:清華大學(xué)出版社,2004.062 林上杰,林康司.jsp2.0技術(shù)手冊. 北京:電子工業(yè)出版社,2005.043 孫衛(wèi)琴.精通struts:基于mvc的java web設(shè)計與開發(fā). 北京:電子工業(yè)出版社,2004.084 孫衛(wèi)琴.精通hibernate. 北京:電子工業(yè)出版社,2006.095 林信良.spring技術(shù)手冊. 北京:電子工業(yè)出版社,2006.066 張孝祥.java就業(yè)培訓(xùn)教程. 北京:清華大學(xué)出版社,2003.097 林信良.java jdk6學(xué)習(xí)筆記. 北京:清華大學(xué)出版社,2007.04:p2-98 bruce eckel. thinking in java. thir
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保設(shè)備安裝與維護(hù)服務(wù)合同
- 快遞合作協(xié)議合同
- 教育在線培訓(xùn)服務(wù)協(xié)議
- 建筑項目設(shè)計及施工合作協(xié)議
- 大灣區(qū)新興產(chǎn)業(yè)發(fā)展項目合作框架協(xié)議
- 環(huán)保科技項目研發(fā)與推廣合同
- 總包單位簽訂分包合同
- 買賣手房反擔(dān)保合同
- 承包合同養(yǎng)殖合同
- 私人拖拉機(jī)買賣合同書
- 第五部分茶藝館的經(jīng)營與管理
- 《習(xí)作:那一刻-我長大了》課件ppt
- 小學(xué)道德與法治課堂生活化教學(xué)的策略講座稿
- 大學(xué)生返家鄉(xiāng)志愿服務(wù)證明
- (新版)網(wǎng)絡(luò)攻防知識考試題庫(含答案)
- 建筑工程資料檔案盒側(cè)面標(biāo)簽
- 工程設(shè)計變更工程量計算表
- 動力工程及工程熱物理專業(yè)英語課件
- 幼兒系列故事繪本課件達(dá)芬奇想飛-
- 出納收入支出日記賬Excel模板
- 給水排水用格柵除污機(jī)通用技術(shù)條件
評論
0/150
提交評論