【正文】
P引擎解釋JSP標(biāo)識(shí),產(chǎn)生所請(qǐng)求的內(nèi)容(例如,通過(guò)存取JavaBeans群組件,使用JDBC技術(shù)存取數(shù)據(jù)庫(kù)),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。(2)強(qiáng)調(diào)可重用的群組件絕大多數(shù)JSP頁(yè)面依賴于可重用且跨平臺(tái)的組件(如:JavaBeans或者Enterprise JavaBeans)來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。JavaServer Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容產(chǎn)生所需要的。通過(guò)開(kāi)發(fā)定制化標(biāo)識(shí)庫(kù),JSP技術(shù)是可以擴(kuò)展的。這使得Web頁(yè)面開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來(lái)工作。作為采用Java技術(shù)家族的一部分,以及Java 2EE的一個(gè)成員,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。作為Java平臺(tái)的一部分,JSP擁有Java程序設(shè)計(jì)語(yǔ)言“一次編寫(xiě),各處執(zhí)行”的特點(diǎn)。 SQL語(yǔ)言介紹SQL(Structured Query Language,結(jié)構(gòu)查詢語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱(chēng),SQL是關(guān)系數(shù)據(jù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。使用SQL的常見(jiàn)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)有:ORACLE、SYBASE、MICOSOFT SQL SERVER、ACCESS、INGRESS等等。但是標(biāo)準(zhǔn)的SQL命令,比如:“SELECT”、“INSERT”、“UPDATE”、“DELETE”、“CREATE”和“DROP”常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù)的操作。 SQLServer2000的特點(diǎn): (1)使信息更易于查找和使用SQLServer2000繼續(xù)為簡(jiǎn)便地查找信息提供易于使用的工具。 (3)用于信息管理的強(qiáng)大解決方案高級(jí)用戶和開(kāi)發(fā)人員可以創(chuàng)建那些將SQLServer2000界面(客戶端)的易用性和SQL服務(wù)器的可擴(kuò)展性和可靠性結(jié)合在一起的解決方案。 (5)提供名稱(chēng)自動(dòng)更正功能自動(dòng)解決當(dāng)用戶重新命名數(shù)據(jù)庫(kù)對(duì)象時(shí)出現(xiàn)的常見(jiàn)負(fù)面效應(yīng)。 (6)具有子數(shù)據(jù)表功能子數(shù)據(jù)表在同一窗口中,提供了嵌套式的視圖,這樣就可以在同一窗口中專(zhuān)注于相關(guān)的數(shù)據(jù)并對(duì)其進(jìn)行編輯。 (8)數(shù)據(jù)訪問(wèn)頁(yè)功能該功能可使用戶快捷方便地創(chuàng)建數(shù)掂 HTML頁(yè),并通過(guò)數(shù)據(jù) HTML頁(yè),將數(shù)據(jù)庫(kù)應(yīng)用擴(kuò)展到企業(yè)內(nèi)部網(wǎng)絡(luò) Internet上。 (9)共享組件的集成SQLServer2000利用新的 Web組件和位于瀏覽器中的 COM 控件,為用戶提供了多種查看和分析數(shù)據(jù)的方式。2求職招聘網(wǎng)站需求分析可行性分析的目的是為了明確所設(shè)計(jì)的系統(tǒng)是否有可能實(shí)現(xiàn)和值得進(jìn)行。但它的目的不是去解決用戶提出的問(wèn)題,僅是確定這項(xiàng)開(kāi)發(fā)是否值得進(jìn)行,分析它存在哪些風(fēng)險(xiǎn),以免造成資源的浪費(fèi)。經(jīng)濟(jì)可行性研究的目的是實(shí)行系統(tǒng)所能帶來(lái)的經(jīng)濟(jì)效益是否會(huì)超過(guò)這個(gè)開(kāi)發(fā)這個(gè)系統(tǒng)的成本。由于本網(wǎng)站的硬件需求為一臺(tái)能接入Internet、內(nèi)存1G以上的PC機(jī)就可以滿足。XP操作系統(tǒng),SQLStudio這些開(kāi)發(fā)軟件都可以從網(wǎng)站上免費(fèi)下載,并且網(wǎng)站的成本主要集中在開(kāi)發(fā)和維護(hù)過(guò)程中并不會(huì)對(duì)用戶造成經(jīng)濟(jì)上的負(fù)擔(dān)。技術(shù)可行性是指使用現(xiàn)有的技術(shù)能否實(shí)現(xiàn)網(wǎng)站的設(shè)計(jì)開(kāi)發(fā)與實(shí)現(xiàn)。數(shù)據(jù)庫(kù)采用SQL2005,對(duì)計(jì)算機(jī)的軟、硬件要求不高,當(dāng)前的開(kāi)發(fā)技術(shù)與數(shù)據(jù)庫(kù)應(yīng)用能夠滿足用戶的需求。本網(wǎng)站無(wú)論是一般的用戶還是系統(tǒng)管理員只要通過(guò)身份驗(yàn)證就可以通過(guò)互聯(lián)網(wǎng)對(duì)頁(yè)面進(jìn)行訪問(wèn)。所以網(wǎng)站在運(yùn)行上是可行的。(4)安全性求職者不能隨意獲取他人簡(jiǎn)歷的更改權(quán)限,招聘企業(yè)對(duì)求職者的相關(guān)資料只能讀取,不可以更改數(shù)據(jù)。包括與系統(tǒng)可靠性相關(guān)的各種指標(biāo)有:正常運(yùn)行率、平均無(wú)故障時(shí)間、平均修復(fù)時(shí)間、精確度、最高錯(cuò)誤或缺陷率。根據(jù)以上的分析,開(kāi)發(fā)該網(wǎng)站在技術(shù)上、經(jīng)濟(jì)上、運(yùn)行上都是可行的。本網(wǎng)站主要實(shí)現(xiàn)的功能如下:管理員模塊、企業(yè)管理模塊、個(gè)人管理模塊。管理員需求系統(tǒng)管理員需求:可以使用該系統(tǒng)為企業(yè)招聘,個(gè)人求職提供服務(wù)。用戶的管理:可以查看普通(個(gè)人或者企業(yè))用戶創(chuàng)建的時(shí)間,查用戶角色,也可以刪除用戶。公司管理:刪除企業(yè)用戶基本信息,刪除企業(yè)用戶發(fā)布過(guò)的職位信息,但是用戶名還是有效的。簡(jiǎn)歷的管理:刪除個(gè)人用戶的簡(jiǎn)歷,個(gè)人用戶之前用這份簡(jiǎn)歷申請(qǐng)的職位信息也一起刪除。修改密碼:系統(tǒng)登錄后,管理員可以修改登錄密碼,確保密碼安全性。企業(yè)用戶需求:企業(yè)可以使用系統(tǒng)注冊(cè)成為企業(yè)用戶并發(fā)布招聘信息。公司信息:填寫(xiě)公司信息,例如公司名稱(chēng)、公司概述、公司地點(diǎn)等,可修改公司資料。搜索職位:查看全部職位列表,可以申請(qǐng)自己感興趣的職位。界面設(shè)計(jì)目前已經(jīng)成為評(píng)價(jià)軟件質(zhì)量的一條重要指標(biāo),一個(gè)好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP技術(shù)是用JAVA語(yǔ)言作為腳本語(yǔ)言的,JSP網(wǎng)頁(yè)為整個(gè)服務(wù)器端的JAVA庫(kù)單元提供了一個(gè)接口來(lái)服務(wù)于HTTP的應(yīng)用程序。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人機(jī)對(duì)話的界面格式等。系統(tǒng)設(shè)計(jì)的過(guò)程正好和實(shí)施過(guò)程相反,并不是從輸入設(shè)計(jì)到輸出設(shè)計(jì),而是從輸出設(shè)計(jì)到輸入設(shè)計(jì),這是因?yàn)檩敵霰砀裰苯优c使用者相聯(lián)系,設(shè)計(jì)的出發(fā)點(diǎn)應(yīng)當(dāng)是保證輸出表格方便地為使用者服務(wù),正確及時(shí)反映和組成用于各部門(mén)的有用信息。(2)輸入設(shè)計(jì)輸入數(shù)據(jù)的收集和錄入是比較費(fèi)事的,需要大量的人力和一定設(shè)備,并且容易出錯(cuò)。輸入設(shè)計(jì)的原則有如下幾點(diǎn):(1)輸入量應(yīng)保持在能滿足處理要求的最低限度。輸入量越少,錯(cuò)誤率就越少,數(shù)據(jù)準(zhǔn)備時(shí)間也減少。(3)應(yīng)盡量早對(duì)輸入數(shù)據(jù)進(jìn)行檢查(盡量接近原數(shù)據(jù)發(fā)生點(diǎn)),以便使錯(cuò)誤及時(shí)得到更正。3系統(tǒng)設(shè)計(jì)本系統(tǒng)采用基于系統(tǒng)生命周期的結(jié)構(gòu)化方法。結(jié)構(gòu)化方法的主要原則,歸納起來(lái)有以下四條:(1)用戶參與原則。國(guó)內(nèi)外經(jīng)驗(yàn)表明,一個(gè)成功的企業(yè)網(wǎng)站必須注重客戶的體驗(yàn),良好的客戶體驗(yàn)才是將瀏覽者轉(zhuǎn)化為客戶的重要關(guān)鍵。要盡量避免過(guò)早地進(jìn)入物理設(shè)計(jì)階段,也就是說(shuō),在進(jìn)行系統(tǒng)開(kāi)發(fā)時(shí),要充分地進(jìn)行系統(tǒng)分析,解決“做什么”問(wèn)題,然后再進(jìn)入系統(tǒng)設(shè)計(jì)階段,解決“怎樣做”問(wèn)題。先把握系統(tǒng)的總體目標(biāo)和功能,然后逐級(jí)分解,逐步細(xì)化。(4)工作成果描述標(biāo)準(zhǔn)化原則。設(shè)計(jì)思想遵循以下幾點(diǎn):(1) 采用B/S模式進(jìn)行開(kāi)發(fā),其優(yōu)點(diǎn)是后臺(tái)與前臺(tái)處理層次分明,而且符合眾多已經(jīng)習(xí)慣網(wǎng)頁(yè)搜索方式的用戶。運(yùn)用面向?qū)ο蠹夹g(shù)的前提是對(duì)整體系統(tǒng)的高度和準(zhǔn)確抽象,通過(guò)它可以保證系統(tǒng)良好的框架,進(jìn)而帶來(lái)產(chǎn)品較強(qiáng)的穩(wěn)定性和運(yùn)行效率。模塊化設(shè)計(jì)要求將整個(gè)系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡(jiǎn)化設(shè)計(jì)和實(shí)現(xiàn)過(guò)程。設(shè)計(jì)簡(jiǎn)單友好的系統(tǒng)界面,方便用戶較快的適應(yīng)系統(tǒng)的操作。由于此工具最重要的評(píng)測(cè)標(biāo)準(zhǔn)就是速度,因此在設(shè)計(jì)過(guò)程中,具體過(guò)程盡量做到資源占用少,速度快。要符合設(shè)計(jì)需求,在有可能改進(jìn)的地方進(jìn)行擴(kuò)充,使系統(tǒng)更適應(yīng)用戶的需要。企業(yè)用戶:注冊(cè)、登錄、招聘職位發(fā)布、瀏覽簡(jiǎn)歷、求職者應(yīng)聘記錄。系統(tǒng)功能圖 在系統(tǒng)初始化時(shí),有一個(gè)默認(rèn)的“系統(tǒng)管理員”用戶Admin,可以刪除用戶信息,刪除添加新聞資訊,查看回復(fù)留言等功能。填寫(xiě)公司信息,公司名稱(chēng)、公司概述、公司地點(diǎn)等,可修改公司資料,只有先填寫(xiě)了公司信息,才能發(fā)布招聘信息,確保信息的真實(shí)性。填寫(xiě)招聘職位的要求并發(fā)布,個(gè)人用戶登錄后便可看到企業(yè)用戶發(fā)布的招聘信息。求職招聘流程為:系統(tǒng)啟動(dòng)并進(jìn)入系統(tǒng)主界面,所有用戶都可以瀏覽系統(tǒng)主頁(yè)面。企業(yè)用戶可以發(fā)布招聘職信息、瀏覽簡(jiǎn)歷、求職者應(yīng)聘記錄??傮w流程圖如下: 現(xiàn)在,幾乎任何一個(gè)大型的網(wǎng)絡(luò)應(yīng)用系統(tǒng), Access、Microsoft SQL Server、Sybase、DB2和Oracle等都是當(dāng)前比較流行的大型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDMS),DB2和Oracle價(jià)格比較貴,操作比較復(fù)雜不是很適用。它的作用和桌面型數(shù)據(jù)庫(kù)ACCESS FOXBASE等一樣,但是在存儲(chǔ)大容量數(shù)據(jù)方面,在數(shù)據(jù)的安全性和完整性方面、在分布式處理和具有高效機(jī)制等方面,桌面型數(shù)據(jù)庫(kù)是無(wú)法實(shí)現(xiàn)的。(2)快速執(zhí)行。在第一次執(zhí)行后,長(zhǎng)駐內(nèi)存,從而省去了重新分析,優(yōu)化,編譯的過(guò)程。存儲(chǔ)過(guò)程可以有幾百條TRANSACT_SQL語(yǔ)句組成,執(zhí)行它只用一條語(yǔ)句即可,減少了在網(wǎng)絡(luò)線上的數(shù)據(jù)傳輸。計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響到整個(gè)系統(tǒng)的質(zhì)量和效率。需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)5個(gè)步驟。數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)采用實(shí)體—聯(lián)系(ER)模型設(shè)計(jì)方法。概念設(shè)計(jì)的目標(biāo)是產(chǎn)生反映企業(yè)組織信息要求的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),即概念模式。個(gè)人用戶實(shí)體屬性圖如下: (2) 管理員包括用戶名、密碼、權(quán)限、注冊(cè)時(shí)間。新聞實(shí)體屬性圖如下: (4)企業(yè)可以發(fā)布招聘信息,主要內(nèi)容包括單位、要求、工資、數(shù)量、地點(diǎn)、電話等。招聘信息實(shí)體屬性圖如下: 根據(jù)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)庫(kù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。一個(gè)數(shù)據(jù)結(jié)構(gòu)由若干個(gè)數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)組成。確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu):是否聚集存儲(chǔ),如何建立索引,數(shù)據(jù)的存放位置,確定系統(tǒng)配置等。數(shù)據(jù)庫(kù)及表use mastergo % drop the exist databaseif exists (select * from where name = 39。) drop database Job GOcreate database Job %create database go use Jobgo % drop exist tablesif exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1)drop table NewsGOif exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1)drop table PersonGOif exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1)drop table SkillGOif exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1)drop table CompanyGOif exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1)drop table Job GOif exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1)drop table ApplicationGOif exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1)4系統(tǒng)功能實(shí)現(xiàn)顯示招聘信息、添加招聘信息、修改招聘信、刪除招聘信息界面如下圖: 發(fā)布招聘信息流程圖: 關(guān)鍵代碼:public class JobServlet extends HttpServlet{ public JobServlet() { } public void destroy() { ()。 發(fā)布求職信息流程圖: 關(guān)鍵代碼:public class JobServlet extends HttpServlet{ public JobServlet() { } public void destroy() { ()。 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, I