




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
鶴壁職業(yè)技術(shù)學(xué)院電信學(xué)院畢業(yè)設(shè)計(jì)(論文)基于JAVAWEB實(shí)現(xiàn)的家教平臺系統(tǒng)學(xué)號:2014410105鶴壁職業(yè)技術(shù)學(xué)院電信學(xué)院畢業(yè)設(shè)計(jì)(論文)題目:基于JAVAWEB實(shí)現(xiàn)的家教平臺系統(tǒng)姓名:張學(xué)林學(xué)號:2014410105專業(yè):計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)班級:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)一班指導(dǎo)教師:李曉鵬職稱:助教2017年4月PAGE1摘要:隨著家長對孩子教育的重視程度越來越高,家教也越來越受家長的青睞,因?yàn)樗梢杂嗅槍π缘貑为?dú)授課,能顯著提高學(xué)生學(xué)習(xí)的效果。同時(shí)互聯(lián)網(wǎng)的興起,對教育的形式也產(chǎn)生了重大影響,為此基于B/S的家教平臺應(yīng)運(yùn)而生。論文基于B/S架構(gòu),采用MVC開發(fā)模式,使用JAVA語言和ORACLE數(shù)據(jù)庫,以TOMCAT作為WEB服務(wù)器,結(jié)合SSH框架進(jìn)行整合,開發(fā)了基于JavaEE的開放式家教服務(wù)平臺。平臺前端以JSP實(shí)現(xiàn)與用戶交互界面,主要實(shí)現(xiàn)了注冊用戶對個(gè)人信息的管理、教員和學(xué)員的雙向搜索?教員和學(xué)員需求信息的發(fā)布、學(xué)員對教員進(jìn)行評價(jià)、注冊用戶發(fā)主題帖進(jìn)行相關(guān)討論等功能;平臺后端的業(yè)務(wù)邏輯用Java語言實(shí)現(xiàn)。平臺為學(xué)員與教員提供了雙方信息交流的平臺,方便學(xué)員與教員之間尋找適合自身的服務(wù),同時(shí)提供家教資源共享等相關(guān)資訊。關(guān)鍵詞:家教服務(wù)平臺;信息交流;B/S;JAVA;ORACLE
目錄第1章緒論 41.1選題的背景及意義 41.2國內(nèi)外研究現(xiàn)狀 41.3課題的研究內(nèi)容 51.4論文的組織 6第2章相關(guān)技術(shù)介紹 72.1JSP簡介 72.1.1JSP內(nèi)置對象 72.1.2JSP頁面 82.2Ajax技術(shù) 92.3jQuery和Json 102.4SSH技術(shù)簡介 102.5Myeclipse安裝 122.6配置Tomcat 122.7Oracle數(shù)據(jù)庫 122.7.1Oracle簡介 122.7.2Oracle的使用 132.8本章小結(jié) 13第3章家教平臺的分析 153.1總體需求分析 153.1.1功能需求 153.1.2家教平臺性能需求分析 163.2數(shù)據(jù)安全分析 163.3界面需求分析 173.3.1平臺名稱 173.3.2界面布局 173.4家教平臺可擴(kuò)展分析 183.5本章小結(jié) 18第4章家教平臺的設(shè)計(jì) 194.1平臺總體設(shè)計(jì) 194.2功能詳細(xì)設(shè)計(jì) 204.2.1前臺功能設(shè)計(jì) 204.2.2后臺功能設(shè)計(jì) 214.3系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 224.3.1數(shù)據(jù)需求 224.3.2數(shù)據(jù)庫概念設(shè)計(jì) 224.3.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 264.3.4數(shù)據(jù)庫表設(shè)計(jì) 274.4本章小結(jié) 31第5章家教平臺的實(shí)現(xiàn) 325.1開發(fā)環(huán)境 325.1.1硬件環(huán)境 325.1.2軟件環(huán)境 325.2運(yùn)行環(huán)境 325.3平臺開發(fā)結(jié)構(gòu) 325.3.1MVC體現(xiàn) 335.3.2表單亂碼設(shè)計(jì) 335.3.3相關(guān)的xml配置文件 335.4前臺功能模塊實(shí)現(xiàn) 345.5.1導(dǎo)航條和Log模塊 345.5.2網(wǎng)站公告模塊 345.5.3用戶注冊模塊 355.5.4用戶登錄模塊 395.5.5用戶信息展示模塊 405.5.6咨詢中心模塊 405.5.7友情鏈接模塊 415.5.8搜索模塊 415.5.9客服中心模塊 435.6后臺功能模塊實(shí)現(xiàn) 445.6.1管理模塊顯示 445.6.2賬號信息管理 445.6.3基本信息管理 455.6.4聯(lián)系方式管理 475.6.5邀請管理 485.7論壇模塊實(shí)現(xiàn) 485.8本章小結(jié) 49第6章結(jié)論與展望 506.1結(jié)論 506.2展望 50參考文獻(xiàn) 51致謝 1第1章緒論1.1選題的背景及意義家教服務(wù)是當(dāng)今的一個(gè)熱門的服務(wù)種類,特別是在城市地區(qū),有著巨大的市場。隨著人們生活水平的不斷提高和對高質(zhì)量教育的需要,家教需求也將持續(xù)不斷的增長。同時(shí),越來越多的教師、在校師范類大學(xué)生等具備某些特長的人士也都希望能夠以專職或兼職的方式從事家教的工作,額外發(fā)揮對教育事業(yè)的貢獻(xiàn)。針對這個(gè)雙方的需求,家教市場正在蓬勃發(fā)展,但是目前的家教市場也帶來了幾方面的問題:第一,尋求家教服務(wù)者或者學(xué)生家長往往不知道如何找到好的家教資源,家長往往是通過身邊的熟人、朋友等方式來尋找家教,這樣的方式不但難以保證對口的家教服務(wù),而且選擇的余地也很小;第二,愿意提供家教服務(wù)的教師或大學(xué)生往往不知道如何去尋找合適的家教服務(wù)需求者,往往都是通過張貼海報(bào)、設(shè)攤等方式進(jìn)行宣傳,造成宣傳面小,或者學(xué)生不能完全對口等情況;第三,家教服務(wù)還具有地域特征,一般對于教師上門進(jìn)行家教服務(wù)或者學(xué)生上門的家教服務(wù)的方式都希望能夠在地域性上比較匹配,所以希望能選擇的資源相對較多;第四,對于家教服務(wù)缺乏監(jiān)管,如果能有一個(gè)中介機(jī)構(gòu)能夠及時(shí)得到受服務(wù)方對教師家教服務(wù)的反饋,進(jìn)行評級和評分,不但能提高服務(wù)質(zhì)量,還能增加服務(wù)的可信度,促進(jìn)家教產(chǎn)業(yè)的良性發(fā)展。本文所論述的“家教服務(wù)平臺”通過運(yùn)用javaee開發(fā)方面的知識,建立起一個(gè)網(wǎng)絡(luò)的家教服務(wù)平臺,該平臺以一個(gè)中介方式提供家教雙方的服務(wù),充分發(fā)揮網(wǎng)絡(luò)的方便和快捷性,增加了家教服務(wù)的靈活性,使服務(wù)者和被服務(wù)者各取所需。本文內(nèi)容涉及到服務(wù)器的配置、網(wǎng)頁開發(fā)設(shè)計(jì)、程序設(shè)計(jì)、數(shù)據(jù)庫運(yùn)用等多方面的知識,較為完整地體現(xiàn)了平臺開發(fā)過程中的綜合規(guī)劃和設(shè)計(jì)思路以及技術(shù)細(xì)節(jié)、問題的解決辦法。1.2國內(nèi)外研究現(xiàn)狀研究家教服務(wù)平臺,追其根源必須研究整體的教育狀況,在我國目前的教育還是以“應(yīng)試教育”為主,從教育規(guī)律和人才成長規(guī)律來看,“應(yīng)試教育”在認(rèn)識上存在著兩個(gè)誤區(qū),一是忽視了對大多數(shù)學(xué)生的培養(yǎng),只對少數(shù)人服務(wù)。客觀現(xiàn)實(shí)決定了只有少數(shù)人能夠通過考試進(jìn)入大學(xué),片面強(qiáng)調(diào)和追求升學(xué)率,必將犧牲大多數(shù)人的利益,從而使基礎(chǔ)教育成為面向少數(shù)人的教育;二是"應(yīng)試教育"在教育內(nèi)容上忽視德育、體育、美育和生產(chǎn)勞動教育,只重知識傳授,忽視能力與心理素質(zhì)培養(yǎng),它所追求的是片面發(fā)展,而不是全面發(fā)展。為了考試而學(xué),是違背人才培養(yǎng)的規(guī)律的。“應(yīng)試教育”環(huán)境下的學(xué)生知識面比較狹窄,缺乏知識與知識之間的聯(lián)系;學(xué)生缺乏自己可以支配的時(shí)間與空間,
他(她)到了學(xué)校,其時(shí)間與空間都給老師占滿了,到了家里,他(她)的時(shí)間又給家長占滿了。一個(gè)缺乏自己可以自由支配時(shí)間與空間的人,很難有創(chuàng)新;學(xué)生在硬的領(lǐng)域,比如基本知識與基本技能比較強(qiáng),而在軟的領(lǐng)域,如自信心不夠,好奇心和求知欲不強(qiáng),缺乏積極的情感體驗(yàn),缺乏社會責(zé)任感與使命感。實(shí)際情況是,我們的學(xué)生并不輸在起跑線上,而是輸在終點(diǎn)線上,也就是我們的學(xué)生缺乏后勁,缺乏創(chuàng)新精神。從時(shí)間分配上講,我們花在語、數(shù)、外和與中考、高考相關(guān)學(xué)科的訓(xùn)練上的時(shí)間太多太多;而花在對祖國的熱愛,對人與人之間美好關(guān)系的認(rèn)識,對祖國大自然的認(rèn)識這方面的時(shí)間太少太少。國際上把這一塊稱之為德育課程或是道德課程。從人的成長來講,恰恰是道德課程起著決定性的作用。反觀當(dāng)今世界,隨著時(shí)代的發(fā)展,人們教育觀念的更新,智力已不再是能力的同義詞,現(xiàn)實(shí)問題的復(fù)雜化和綜合程度的提高以及知識更新速度的加快,要求人不僅要具備獨(dú)立解決問題的能力,更要具備與他們之間的合作能力,處理問題的應(yīng)變能力、持續(xù)性的學(xué)習(xí)能力、自我激勵(lì)能力和自我提升的能力等素質(zhì)。簡言之,社會需要的是全面的綜合性高素質(zhì)人才。顯然,“應(yīng)試教育”這種教育傾向不能適應(yīng)社會人才培養(yǎng)的需要,而且還會有礙于教育事業(yè)的健康發(fā)展,尤其是基礎(chǔ)教育的發(fā)展,而國內(nèi)與國外的教育差別重點(diǎn)也正是在這一塊了。第八屆全國人民代表大會第四次會議通過的《中華人民共和國國民經(jīng)濟(jì)和社會發(fā)展九五計(jì)劃和2010年遠(yuǎn)景目標(biāo)綱要》,在其“科教興國戰(zhàn)略”部分中,明確提出要“改革人才培養(yǎng)模式,使應(yīng)試教育轉(zhuǎn)向全面素質(zhì)教育”。于是,到此為止,“素質(zhì)教育”終于從一種行政性的號召,轉(zhuǎn)變?yōu)榫哂幸欢ǚ杉s束力的國家意志,培養(yǎng)德、智、體等方面全面發(fā)展的人。我國的學(xué)校管理可以借鑒英、美國家,變“授人以魚”為“授人以漁”,培養(yǎng)學(xué)生自主學(xué)習(xí)習(xí)慣,充分張揚(yáng)個(gè)性,給學(xué)生以自由發(fā)展的時(shí)間和空間,促使學(xué)校教育、家庭教育和社會教育三位一體,全方位地培養(yǎng)學(xué)生的開拓和創(chuàng)造精神,真正實(shí)現(xiàn)素質(zhì)教育,培養(yǎng)能力型人才。綜上所述,盡管越來越強(qiáng)調(diào)要培養(yǎng)學(xué)生自主學(xué)習(xí)習(xí)慣,但是國內(nèi)家教服務(wù)任是正處于蓬勃發(fā)展的階段,而國外的開放式教育則導(dǎo)致家教服務(wù)的研究相對比較局限了。1.3課題的研究內(nèi)容課題研究的內(nèi)容是家教服務(wù)平臺。針對目前家教服務(wù)市場的現(xiàn)狀,平臺本著為尋求家教服務(wù)者和提供家教服務(wù)者的雙方提供一個(gè)安全、便利的交流環(huán)境為目標(biāo),以全心全意為家教事業(yè)做貢獻(xiàn)為宗旨。平臺能夠給需要家教服務(wù),卻不知道如何找到好的家教資源的學(xué)生或家長提供一個(gè)完善的信息資源站,學(xué)生或家長可以通過平臺找到對口的、安全放心的家教服務(wù)。同時(shí),也給愿意提供家教服務(wù)的教師或大學(xué)生提供了一個(gè)完善的信息資源站,可以在平臺上找到合適的家教服務(wù)需求者,既能保證對口的家教服務(wù),又能保證人身和財(cái)產(chǎn)安全,可以全心全意的投入到家教事業(yè)而不用擔(dān)心其他。平臺能夠?yàn)閷W(xué)生盡可能全面的了解教師的基本情況,找到自己心中認(rèn)為最合適的教師來指導(dǎo)自己學(xué)習(xí),教師也可以知道自己的輔導(dǎo)的學(xué)生,為了更能夠完善自己,了解學(xué)生的特點(diǎn)。平臺很重視各類家教服務(wù)的信息資源,但是最為重視的卻是雙方的個(gè)人資料安全以及對教員和學(xué)員的評價(jià)。因?yàn)槠脚_的目標(biāo)是保證在安全可靠的環(huán)境下,提供值得雙方信賴的家教服務(wù),為家教事業(yè)貢獻(xiàn)出一份力量。1.4論文的組織本文共分為六章,具體的內(nèi)容安排如下:第1章是緒論部分,簡略陳述了研究此平臺的時(shí)代背景及其意義,同時(shí)對國內(nèi)外研究的現(xiàn)狀也做了粗略的對比。第2章是相關(guān)的技術(shù)理論部分,主要對此平臺在研究開發(fā)過程所使用到的相關(guān)技術(shù)作了簡單的陳述,通過本章可以了解到研究此平臺的技術(shù)構(gòu)造。第3章是平臺的需求分析部分,本章對實(shí)現(xiàn)平臺的需求進(jìn)行了全面的分析,從用戶及管理者為典型代表對平臺進(jìn)行分析,深入了解平臺的需求。第4章是平臺的設(shè)計(jì)部分,主要陳述了如何實(shí)現(xiàn)該平臺的整體設(shè)計(jì),相關(guān)數(shù)據(jù)庫以及某個(gè)功能模塊的設(shè)計(jì)。第5章是平臺的實(shí)現(xiàn)部分,在有了前面設(shè)計(jì)及需求的分析的基礎(chǔ)上,在本章主要描述了實(shí)現(xiàn)該平臺的具體環(huán)境及過程。第6章是結(jié)論與展望,簡要總結(jié)了該平臺所完成的工作以及存在的不足,同時(shí)描述了對平臺的未來展望。
第2章相關(guān)技術(shù)介紹2.1JSP簡介2.1.1JSP內(nèi)置對象JSP內(nèi)置對象是指在JSP頁面系統(tǒng)中已經(jīng)默認(rèn)內(nèi)置的Java對象,這些對象不需要開發(fā)人員顯式聲明即可使用。其一共有9大內(nèi)置對象,在該平臺在開發(fā)過程中需使用到其中的7大內(nèi)置對象,每一個(gè)內(nèi)置對象都有其自身的特點(diǎn)及作用,簡述如下:1.application對象application對象的所屬類型是javax.servlet.ServletContext。它主要用于多個(gè)用戶間保持?jǐn)?shù)據(jù),所有用戶都共享一個(gè),服務(wù)器啟動后,一旦創(chuàng)建了application對象,那么該對象將會永遠(yuǎn)保持下去,直到服務(wù)器關(guān)閉為止。在開發(fā)過程中運(yùn)用到的公共數(shù)據(jù)均可以通過使用application對象來實(shí)現(xiàn)共享。調(diào)用getServletConfig()或getContext()方法后獲取到ServletContext對象,通過返回的對象則可以獲取對應(yīng)的共享數(shù)據(jù)值。2.exception對象exception對象的所屬類型是javax.servlet.ServletConfig。每一個(gè)程序發(fā)生錯(cuò)誤時(shí)都會產(chǎn)生異常,JSP也不例外,當(dāng)其頁面發(fā)生錯(cuò)誤時(shí),肯定會產(chǎn)生異常,而exception就是用來針對異常作出相應(yīng)處理的對象。在開發(fā)該平臺過程中有很多次的調(diào)試,多次都在使用exception對象,當(dāng)然在使用之前必須在JSP頂端通過使用page命令來設(shè)定其使用權(quán)限,如<%@pageisErrorPage="true"%>,否則在編譯過程中會出錯(cuò)。3.out對象out對象的所屬類型是java.servlet.jsp.JspWriter。該對象主要用于向客戶端輸出的服務(wù)器回響的不同內(nèi)容,它的作用相當(dāng)于PrintWriter對象,但使用PrintWriter對象需要事前進(jìn)行聲明,而out對象則可以直接進(jìn)行調(diào)用。該平臺在開發(fā)JSP頁面過程中主要調(diào)用out.print()方法或out.println()方法進(jìn)行對客戶端的內(nèi)容輸出,兩個(gè)方法均可以向客戶端輸出一行信息,但前者輸出時(shí)不換行,后者則輸出后換行。4.request對象request對象在開發(fā)該平臺的過程中是使用次數(shù)最多的,他所屬的類型可以根據(jù)協(xié)議的不同而變換,使用HTTP協(xié)議時(shí)屬于javax.servlet.HttpServletRequest,而使用其他協(xié)議時(shí)則屬于javax.servlet.ServletRequest。每次當(dāng)用戶向服務(wù)器發(fā)出請求時(shí)都將觸發(fā)request對象,用戶可以通過不同的方式在發(fā)出請求的同時(shí)傳遞數(shù)據(jù),比如使用GET方式。而服務(wù)器在服務(wù)端則可以通過調(diào)用request的方法來對用戶提交的數(shù)據(jù)進(jìn)行提取。該平臺開發(fā)過程中多次使用到setAttribute()、request.getAttribute()和getParameter(Stringname)等方法。setAttribute()方法對數(shù)據(jù)進(jìn)行提交,而request.getAttribute()則是對應(yīng)它的讀取方法。getParameter(Stringname)則是通過傳遞一個(gè)鍵值名來讀取對應(yīng)的值。5.response對象response對象與request對象對應(yīng),在開發(fā)該平臺的過程中使用次數(shù)不亞于request對象。response對象是用于服務(wù)器對客戶端進(jìn)行回響,它的所屬類型也是根據(jù)協(xié)議不同而變化的,當(dāng)使用HTTP協(xié)議時(shí),類型是javax.servlet.HttpServletResponse,使用其他協(xié)議時(shí)則是javax.servlet.ServletResponse。在開發(fā)該平臺過程中通過使用其方法voidreset()來對buffer中的內(nèi)容進(jìn)行清空;使用getCharacterEncoding()來獲取響應(yīng)的字符編碼格式,使用setCharacterEncoding(Stringcharset)則是設(shè)置響應(yīng)使用的字符編碼格式,如果獲取和響應(yīng)的編碼格式?jīng)]有保持一致,則響應(yīng)在JSP頁面上的內(nèi)容會出現(xiàn)亂碼;通過使用setContentType(Stringcontent)來對響應(yīng)的內(nèi)容進(jìn)行類型設(shè)置;使用sendRedirect(Stringlocation)來向服務(wù)器發(fā)送一個(gè)重定向至參數(shù)位置的請求。通常在進(jìn)行JSP頁面開發(fā)的過程中在每一個(gè)JSP的頂部都會加上response.setContentType("text/html;charset=gbk")和request.setCharacterEncoding("gbk")兩句。6.session對象session對象所屬的類型是javax.servlet.http.HttpSession。它是在發(fā)生HTTP請求時(shí)被創(chuàng)建的,它的創(chuàng)建代表這一個(gè)會話對象的產(chǎn)生。在該平臺開發(fā)的過程中,用的最多的方法是setMaxInactiveInterval(intinterval),它用于設(shè)置最大的session不活動的時(shí)間,若超過這個(gè)時(shí)間則會話將會失效,時(shí)間單位為秒。在平臺中,若用戶長時(shí)間未進(jìn)行任何操作且沒有注銷登錄,則通過該方法設(shè)置的時(shí)間就被作為自動注銷的時(shí)間依據(jù)。除了上述方法外,平臺開發(fā)過程中主要還使用方法getAttribute(Stringname)來獲取指定名字的屬性和方法removeAttribute(Stringname)來刪除指定名字的屬性,也通過使用方法setAttribute(Stringname,Java.lang.Objectobject)來進(jìn)行指定名字屬性值設(shè)置,并存儲在該對象中。7.pageContext對象pageContext對象在平臺過程中使用的不多,主要是用于對JSP頁面內(nèi)所有的對象及名字空間的訪問,因?yàn)樗梢栽L問到本頁所在的SESSION,同時(shí)也可以取本頁面所在的application的某一屬性值,相當(dāng)于頁面中所有功能的集大成者,雖然使用起來較為直接,但是因其所集合的方法太多導(dǎo)致使用起來不甚方便。2.1.2JSP頁面該平臺的所有前端交互均為JSP頁面,目前用于前端交互的開發(fā)方式用很多種,而該平臺之所以采用JSP主要是出于如下考慮:1、JSP將內(nèi)容的生成和顯示進(jìn)行分離,使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識和Beans中,那么其他人,如Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和小腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術(shù)訪問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。2、絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者EnterpriseJavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團(tuán)體所使用。基于組件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。3、JSP采用了標(biāo)識簡化頁面開發(fā),Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。而JSP技術(shù)則封裝了許多的功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。通過開發(fā)定制化標(biāo)識庫,JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣的執(zhí)行特定功能的構(gòu)件來工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為JavaServlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運(yùn)行”的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,開發(fā)人員可以使用自己所選擇的服務(wù)器和工具,而更改工具或服務(wù)器卻不影響當(dāng)前的應(yīng)用。2.2Ajax技術(shù)Ajax(AsynchronousJavaScriptXML)技術(shù)的核心是JavaScript對象XmlHttpRequest。它是一種支持異步請求的技術(shù),通過XmlHttpRequest可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。如平臺注冊功能中的檢查用戶名是否已經(jīng)存在、用戶登錄后馬上注銷時(shí)對主界面的刷新等均使用到了該技術(shù),使用Ajax能夠讓用戶在這些功能結(jié)果反饋之前可以繼續(xù)執(zhí)行其他的操作,而不是處于等待狀態(tài)。使用Ajax主要有三大步驟,具體操作如下所述:1、創(chuàng)建XmlHttp對象,因?yàn)椴煌瑑?nèi)核的瀏覽器對Ajax的支持不同,所以在創(chuàng)建之前必須先通過瀏覽器的window屬性的來判斷其內(nèi)核是IE還是火狐,若是前者創(chuàng)建對象為ActiveXObject("Microsoft.XMLHTTP"),后者則創(chuàng)建為XMLHttpRequest()。2、發(fā)送請求函數(shù),首先調(diào)用XmlHttp對象中的open("GET",url,true)設(shè)置發(fā)送請求的方式,然后調(diào)用onreadystatechange屬性指定響應(yīng)函數(shù),最后調(diào)用send(null)進(jìn)行請求的發(fā)送。
3、判斷返回狀態(tài)并進(jìn)行處理,調(diào)用XmlHttp對象的readyState屬性和status屬性來判斷異步請求是否成功,如readyState=4、status=200則請求成功,然后調(diào)用responseText屬性對返回的內(nèi)容進(jìn)行處理。2.3jQuery和Json該平臺在開發(fā)中采用了jQuery框架,它是一個(gè)優(yōu)秀的JS(Javascript)框架,使用它最直接的效果就是能夠做到寫更少的代碼卻做更多的事情。在平臺的開發(fā)過程中,主要使用了它的選擇器和內(nèi)置函數(shù)。選擇器以簡單少量的代碼實(shí)現(xiàn)對結(jié)點(diǎn)、標(biāo)簽等的快速獲取,如選擇器$(“ID”)能選擇該ID對應(yīng)的結(jié)點(diǎn)、$(“TagName”)能選擇該標(biāo)簽元素進(jìn)行操。而內(nèi)置函數(shù)則是為了更容易的完成動畫效果,如show()和hide()函數(shù),能實(shí)現(xiàn)立即顯示或者以特定的速度顯示,fadeIn()和fadeOut(),或者slideDown()和slideUp()顯示和隱藏元素等。通過使用這些選擇器、內(nèi)置方法以及配合Ajax技術(shù),給平臺的開發(fā)減少了不小的工作量。Json可以將JS對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串形式,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串。如在該平臺中使用Ajax實(shí)現(xiàn)異步操作時(shí),將字符串從平臺客戶端傳遞給服務(wù)器端程序、從服務(wù)器端回響給前端數(shù)據(jù)等均是使用該方式進(jìn)行傳遞的。組成Json的字符串格式如{“name”:”value”},它是以鍵值對方式存在的。盡管這種格式看起來十分怪異,但是與以XML方式進(jìn)行數(shù)據(jù)傳遞相比,不僅大大提高了可讀性,而且減少了數(shù)據(jù)組成結(jié)構(gòu)的復(fù)雜性。2.4SSH技術(shù)簡介本平臺開發(fā)采用的是SSH整合技術(shù)。SSH指的是Struts、Spring、Hibernate三大框架的整合,在開發(fā)過程中Struts的MVC設(shè)計(jì)模式可以使我們的邏輯變得很清晰,Spring的IOC和AOP可以使我們的平臺在最大限度上解藕,而Hibernate則是實(shí)體對象的持久化,SSH框架直觀如圖2.1所示。典型的JAVAEE三層結(jié)構(gòu)分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層,三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。表現(xiàn)層則是傳統(tǒng)的JSP技術(shù),自1999年問世以來,經(jīng)過多年的發(fā)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的基礎(chǔ)。圖2.1SSH框架直觀圖表現(xiàn)層則是傳統(tǒng)的JSP技術(shù),自1999年問世以來,經(jīng)過多年的發(fā)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的基礎(chǔ)。中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種:1、Web層,就是MVC模式里面的“C”(controller),負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn)。在該平臺中本層通過struts來進(jìn)行處理。2、Manage層(服務(wù)層或業(yè)務(wù)邏輯層),負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以DAO層為基礎(chǔ),通過對DAO組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。DAO層,負(fù)責(zé)與持久化對象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。3、PO(實(shí)體層或持久化層),持久化對象。通過實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫。該平臺采用Hibernate作為ORM框架,而Spring的作用貫穿了整個(gè)中間層,將Web層、Manage層、DAO層及PO無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。采用Hibernate作為持久層技術(shù),可以完全以面向?qū)ο蟮姆绞竭M(jìn)行系統(tǒng)分析、系統(tǒng)設(shè)計(jì);采用Struts則通過一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護(hù)有著莫大的好處;采用Spring容器代替DAO工廠,通常情況下,引入接口就不可避免需要引入工廠來負(fù)責(zé)DAO組件的生成,而使用Spring可以完全避免使用工廠模式,因?yàn)镾pring就是個(gè)功能非常強(qiáng)大的工廠。2.5Myeclipse安裝平臺的開發(fā)采用了myeclipse6.5版本。盡管Myeclipse目前的版本已經(jīng)到了10,但是大多數(shù)開發(fā)者依然采用的是6.5版本,不僅因?yàn)樵摪姹疽呀?jīng)具有豐富的開發(fā)框架與插件,而且該版本相對較為穩(wěn)定,開發(fā)過程中可以有效的避免一些不必要的風(fēng)險(xiǎn)。MyEclipse是Eclipse的一個(gè)插件,所以必須先安裝Eclipse才可以安裝MyEclipse。首先安裝JDK運(yùn)行JDK6.0安裝程序,安裝過程中所有選項(xiàng)保持默認(rèn)。然后配置JDK的環(huán)境變量:新建系統(tǒng)變量JAVA_HOME:C:\ProgramFiles\Java\jdk1.6.0_06;新建系統(tǒng)變量CLASSPATH:.;%JAVA_HOME%\lib;在系統(tǒng)變量Path的值的前面加入以下內(nèi)容:%JAVA_HOME%\bin;接著安裝eclipse,將下載好的eclipse-SDK-3.1.2-win32.zip直接解壓到某個(gè)盤的根目錄,然后解壓即可。然后安裝myeclipse,講下載好的myeclipse可執(zhí)行文件打開,在安裝過程中選擇Eclipse的安裝路徑,其他選項(xiàng)保持默認(rèn)。安裝完畢之后,將MyEclipse安裝目錄下的features和plugins這2個(gè)目錄覆蓋到Eclipse的安裝目錄下即可。2.6配置TomcatTomcat是一個(gè)免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器,平臺在開發(fā)以及測試過程中使用的均是該服務(wù)器,目前使用最廣的版本是6.0.20,此平臺也是使用了該版本。它是Apache軟件基金會(ApacheSoftwareFoundation)開發(fā)的,是一個(gè)小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。之所以在開發(fā)過程中選擇使用它,主要因?yàn)門omcat服務(wù)器在運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能,而且它還在不斷的改進(jìn)和完善,能被使用的時(shí)間較長,平臺不用擔(dān)心服務(wù)器的更換。Tomcat配置是在Myeclipse6.5環(huán)境里面進(jìn)行的,具體配置如圖2.2所示。2.7Oracle數(shù)據(jù)庫2.7.1Oracle簡介Oracle是目前最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),被越來越多的用戶在信息系統(tǒng)管理、企業(yè)數(shù)據(jù)處理、Internet、電子商務(wù)網(wǎng)站等領(lǐng)域作為應(yīng)用數(shù)據(jù)的后臺處理系統(tǒng)。此前流行的版本為Oracle9i。Oracle公司在Oracle9i基礎(chǔ)上,推出了代表數(shù)據(jù)庫最新技術(shù)的數(shù)據(jù)庫系統(tǒng)Oracle10g。在Oracle10g中,第一次提出數(shù)據(jù)自動鏡像存儲、數(shù)據(jù)閃回功能以及功能強(qiáng)大的數(shù)據(jù)導(dǎo)出工具、大文件表空間以及表空間組管理等概念。本平臺采用的是Oracle10g版本,Oracle10g企業(yè)管理器(OracleEnterpriseManager)簡稱OEM,是一個(gè)基于Java的框架系統(tǒng),該系統(tǒng)集成了多個(gè)組件,為用戶提供了一個(gè)功能強(qiáng)大的圖形用戶界面。圖2.2Tomcat配置圖2.7.2Oracle的使用安裝好Oracle10g服務(wù)器后,還需要安裝一個(gè)對應(yīng)的客戶端。為了提高開發(fā)效率,該平臺采用了SQL/PLUS來控制使用Oracle進(jìn)行數(shù)據(jù)庫的開發(fā)。Oracle的sql*plus是與Oracle進(jìn)行交互的客戶端工具。在SQL/PLUS中,可以運(yùn)行SQL/PLUS命令與SQL/PLUS語句。它的功能主要有:(1)數(shù)據(jù)庫的維護(hù),如啟動,關(guān)閉等,這一般在服務(wù)器上操作.。(2)執(zhí)行SQL語句執(zhí)行PL/SQL。(3)執(zhí)行SQL腳本。(4)數(shù)據(jù)的導(dǎo)出,報(bào)表。(5)應(yīng)用程序開發(fā)、測試SLQ/PLSQL。(6)生成新的SQL腳本,供應(yīng)用程序調(diào)用,如安裝程序中進(jìn)行腳本的安裝。(7)用戶管理及權(quán)限維護(hù)。2.8本章小結(jié)本章主要是對平臺開發(fā)過程中所使用到的理論技術(shù)做了一個(gè)概述,開發(fā)該平臺所涉及的技術(shù)有java、JSP、Oracle、SSH框架整合等。通過本章可以進(jìn)一步的了解平臺的技術(shù)結(jié)構(gòu),同時(shí)通過本章也可以從一個(gè)平臺開發(fā)員的角度去了解該平臺,從而可以深度挖掘該平臺的優(yōu)勢與不足。
第3章家教平臺的分析3.1總體需求分析3.1.1功能需求平臺開發(fā)的目標(biāo)是為了向?qū)W員和教員提供一個(gè)開放式的交流環(huán)境,針對不同身份的用戶進(jìn)行分析,平臺該具有的功能包括:(1)注冊,學(xué)員和教員均可在平臺注冊一個(gè)屬于自身的賬號,其中包含網(wǎng)路昵稱、個(gè)人信息、需求信息等。(2)用戶信息管理,注冊后的用戶可以修改、刪除、增加自己的個(gè)人信息。(3)搜索,提供給學(xué)員和教員進(jìn)行雙向搜索,以便更快的查找到符合自身需求的服務(wù)。(4)邀請預(yù)訂,為了讓離線用戶不錯(cuò)過機(jī)會,注冊用戶可以給符合自身需求的對方發(fā)送邀請預(yù)訂,等對方上線很快能做出回應(yīng)。(5)評價(jià),有效的競爭能夠提高服務(wù)的質(zhì)量,學(xué)員和教員均能給對方進(jìn)行星級評價(jià),評價(jià)高的用戶將被平臺優(yōu)先推薦。(6)論壇,注冊用戶可以在論壇進(jìn)行合理的發(fā)言。(7)廣告,為了給平臺帶來部分的利潤,可以刊登合法的廣告。具體的功能需求如表3-1所示。表3-1系統(tǒng)功能需求一覽表業(yè)務(wù)模塊功能劃分簡要描述注冊學(xué)員注冊填寫完善的信息后注冊為平臺的學(xué)員用戶教員注冊填寫完善的信息后注冊為平臺的教員用戶用戶信息管理賬戶信息管理管理平臺賬號,如修改密碼等基本信息管理管理個(gè)人信息,如修改輔導(dǎo)科目、區(qū)域等聯(lián)系方式管理管理聯(lián)系方式,如修改電話、QQ、住址等照片管理管理照片,如上傳個(gè)人照片等搜索雙向搜索學(xué)員和教員搜索符合自身需求的服務(wù)邀請預(yù)訂學(xué)員管理已邀請的教員或發(fā)出邀請教員管理已邀請的學(xué)員或發(fā)出邀請?jiān)u價(jià)雙向評價(jià)學(xué)員和教員互相進(jìn)行評價(jià)論壇論壇只有注冊用戶可以發(fā)言進(jìn)行相互討論廣告廣告刊登合法廣告以獲取部分利潤平臺管理學(xué)員管理如查看、修改、刪除學(xué)員信息等教員管理如查看、修改、刪除教員信息等其他如審核論壇發(fā)言、審核信息等3.1.2家教平臺性能需求分析平臺為開放式家教服務(wù)平臺,瀏覽用戶主要集中在學(xué)生、家長、教師等相關(guān)人員,相對并發(fā)瀏覽用戶量不大,故性能需求主要有如下:(1)對Web服務(wù)器的性能要求不高,可以采用了輕量級Web服務(wù)器Tomcat。(2)平臺涉及到學(xué)員和教員的個(gè)人信息,后端開發(fā)語言應(yīng)具有很高的安全性且通過該語言開發(fā)的平臺盡量要易于維護(hù)。(3)操作方面,平臺應(yīng)具有操作簡單、方便等性能。3.2數(shù)據(jù)安全分析作為一個(gè)中間服務(wù)平臺,涉及到所有注冊用戶中學(xué)員和教員的真實(shí)個(gè)人信息,如果信息泄露,將會給用戶帶去無法預(yù)計(jì)的后果,同時(shí)也會給平臺帶來很大的負(fù)面影響,所以保證平臺數(shù)據(jù)的安全是能夠使平臺得到推廣所必須的條件。因此平臺在數(shù)據(jù)安全方面做了如下分析:1、平臺提供一定的方式讓用戶標(biāo)識自己的身份,在平臺的內(nèi)部記錄著所有合法用戶的標(biāo)識,每次用戶登錄平臺時(shí),會由平臺進(jìn)行核實(shí),通過后才提供其錄。如用戶在進(jìn)行登錄或在對信息進(jìn)行修改等涉及到個(gè)人信息時(shí),平臺會要求輸入對應(yīng)的驗(yàn)證碼等。2、平臺將在數(shù)據(jù)庫設(shè)計(jì)時(shí)為不同的用戶定義不同的數(shù)據(jù)視圖,用以限制用戶的在平臺上的訪問范圍。通過視圖機(jī)制把需要保密的數(shù)據(jù)對無權(quán)訪問這些數(shù)據(jù)的用戶隱藏起來,提供一定程度的安全保護(hù)。該平臺將視圖機(jī)制與授權(quán)機(jī)制結(jié)合起來使用,首先用視圖機(jī)制屏蔽一部分保密數(shù)據(jù),然后在視圖上進(jìn)一步進(jìn)行授權(quán)。這樣能進(jìn)一步的保證數(shù)據(jù)的安全性。3、平臺在進(jìn)行數(shù)據(jù)存儲和傳遞過程中,對數(shù)據(jù)進(jìn)行了一定程度的加密。如用戶密碼采用消息摘要加密方式中的MD5加密,這是一種與消息認(rèn)證碼結(jié)合使用以確保消息完整性的技術(shù)。它主要使用單向散列函數(shù)算法,可用于檢驗(yàn)消息的完整性,和通過散列密碼直接以文本形式保存等。由于平臺運(yùn)行于Web環(huán)境,故除密碼之外的內(nèi)容則采用了公鑰加密,此種加密方式是使用一對密鑰對,一個(gè)公鑰,一個(gè)私鑰,使用公鑰加密的數(shù)據(jù),只有私鑰能解開(可用于加密);同時(shí),使用私鑰加密的數(shù)據(jù),只有公鑰能解開。該平臺使用了公鑰加密中的RSA算法,對數(shù)據(jù)進(jìn)行加密也是保證平臺用戶個(gè)人信息不被竊取或修改的有效手段。4、為了增強(qiáng)服務(wù)器存儲系統(tǒng)的容錯(cuò)能力,服務(wù)器存儲系統(tǒng)將采用Raid磁盤陣列,同時(shí)服務(wù)器也將對用戶的關(guān)鍵信息進(jìn)行備份。3.3界面需求分析3.3.1平臺名稱本平臺的名稱為:鶴壁職業(yè)技術(shù)學(xué)院家教服務(wù)平臺。3.3.2界面布局1、本平臺界面以藍(lán)色為主調(diào),界面中字體大小采用四號字體加粗,輸入和輸出信息的字體大小為五號。主界面布局如圖3.1所示。圖3.1主界面示意圖2、主界面頂部顯示平臺名稱、平臺LOG、平臺導(dǎo)航,導(dǎo)航有主頁、教員信息、學(xué)員信息等。其中平臺名稱和平臺LOG位于該模塊頂部,導(dǎo)航中的聯(lián)系我們、網(wǎng)站聲明、會員注冊、客服中心位于中部,導(dǎo)航中的主頁、教員信息、學(xué)員信息等位于下部。3、主界面最左邊設(shè)置三個(gè)模塊,分別為用戶注冊、金牌教員和緊急家教。用戶注冊位于模塊頂部提供注冊功能,金牌教員位于中部提供顯示金牌教員的部分信息,緊急家教顯示急需家教服務(wù)的學(xué)員部分信息。4、主界面中間也是設(shè)置三個(gè)模塊,分別為網(wǎng)站公告、最新教員、最新學(xué)員。網(wǎng)站公告位于模塊頂部提供顯示公告內(nèi)容,最新教員位于中部用以顯示最新教員的部分信息,最新學(xué)員位于底部用以顯示最新學(xué)員的部分信息。5、主界面最右邊設(shè)置三個(gè)模塊,分別是用戶登錄、明星教員、推薦學(xué)員。用戶登錄位于模塊最頂部提供登錄功能,明星教員位于中部用以顯示明星教員的部分信息,推薦學(xué)員用以顯示平臺推薦的學(xué)員信息。6、主界面的底部設(shè)置兩個(gè)模塊,分別為資訊中心和友情鏈接。資訊中心包括幼兒教育、基礎(chǔ)教育和熱點(diǎn)培訓(xùn),友情鏈接提供了相關(guān)網(wǎng)站的鏈接地址。通過分析后平臺應(yīng)用瀏覽器交互界面,此種界面不僅直觀和可調(diào)控性好,可以隨時(shí)根據(jù)需要進(jìn)行修改,而且用戶使用起來極為方便,只要通過鼠標(biāo)點(diǎn)擊就能夠使用平臺的大部分功能。3.4家教平臺可擴(kuò)展分析平臺為網(wǎng)絡(luò)性服務(wù)平臺,隨著網(wǎng)絡(luò)用戶的不斷增長,預(yù)計(jì)該平臺用戶量將會與日俱增,而人們對平臺的操作難度及操作界面的美化程度也會有不同的需求,因此平臺的將來會有不斷的版本更新,所以開發(fā)的平臺應(yīng)該具有很強(qiáng)的可擴(kuò)展性來適應(yīng)將來的版本更新。3.5本章小結(jié)本章從總體、界面、數(shù)據(jù)安全及可擴(kuò)展性四個(gè)方面對平臺的需求進(jìn)行了分析。通過分析可以了解到平臺基本的功能模塊和大致的前端頁面布局,同時(shí)也突出了作為一個(gè)服務(wù)性平臺,必須要著重于數(shù)據(jù)的安全性處理。
第4章家教平臺的設(shè)計(jì)4.1平臺總體設(shè)計(jì)平臺設(shè)計(jì)的首要目標(biāo)要保證平臺能夠滿足實(shí)際應(yīng)用的需求,其次要充分考慮方便實(shí)用,只有這樣才能使用戶在進(jìn)行家教服務(wù)的尋找時(shí)真正得益于信息化建設(shè)。再次,還應(yīng)當(dāng)使平臺具有一定的先進(jìn)性,使平臺便于擴(kuò)充。另外,還要采用先進(jìn)的技術(shù),考慮開發(fā)的周期。平臺的總體設(shè)計(jì)目標(biāo)是:基于Web互聯(lián)網(wǎng),提供具有提供家教服務(wù)和需找家教服務(wù),同時(shí)能給學(xué)員用戶和教員用戶一個(gè)安全交流環(huán)境的平臺。在這個(gè)平臺上,學(xué)員能夠方便快捷的尋找到合適的教員,教員也能夠快速的發(fā)布信息,找到合適的學(xué)員。結(jié)合上述應(yīng)用需求和平臺總體設(shè)計(jì)目標(biāo),確定家教服務(wù)平臺主要有以下三大層結(jié)構(gòu)。管理員:能夠?qū)τ脩糇缘男畔⑦M(jìn)行審核,對論壇發(fā)布的信息進(jìn)行審核,管理平臺所以用戶的信息等。具體功能示意如圖4.1所示。圖4.1管理員功能圖(2)未注冊用戶:能夠查看教員部分信息、查看學(xué)員部分信息、注冊加入、瀏覽平臺論壇上發(fā)布的帖子。具體功能示意如圖4.2所示。圖4.2未注冊用戶功能圖(3)注冊用戶:能夠發(fā)布需求信息、查看教員/學(xué)員信息、查看預(yù)約信息、修改個(gè)人信息、修改密碼、對教員/學(xué)員評價(jià)并發(fā)表評論、創(chuàng)建帖子、回復(fù)帖子等。具體功能示意如圖4.3所示。圖4.3注冊用戶功能圖4.2功能詳細(xì)設(shè)計(jì)4.2.1前臺功能設(shè)計(jì)通過前臺和后臺分析后,對平臺進(jìn)行詳細(xì)的設(shè)計(jì)。平臺的前臺是與用戶直接交互的,其主要功能結(jié)構(gòu)設(shè)計(jì)如下:(1)有完善的對應(yīng)導(dǎo)航條,用戶點(diǎn)擊導(dǎo)航即能進(jìn)入對應(yīng)功能的操作環(huán)境。(2)提示未注冊用戶注冊及注冊操作界面。(3)顯示網(wǎng)站公告信息。(4)提供用戶登錄界面。(5)顯示最新教員、最新學(xué)員、金牌教員、明星教員、推薦學(xué)員的部分信息。(6)提供相應(yīng)的友情鏈接。(7)提供用戶平臺內(nèi)搜索的界面。(8)顯示平臺的服務(wù)協(xié)議內(nèi)容。4.2.2后臺功能設(shè)計(jì)后臺是對各類信息的管理及邏輯功能實(shí)現(xiàn)等,具體的功能結(jié)構(gòu)設(shè)計(jì)如下:(1)實(shí)現(xiàn)用戶注冊功能。(2)實(shí)現(xiàn)用戶登錄功能。(3)實(shí)現(xiàn)注冊用戶的平臺內(nèi)搜索功能。(4)實(shí)現(xiàn)注冊用戶的個(gè)人信息修改功能。(5)實(shí)現(xiàn)注冊用戶的留言功能。(6)記錄對應(yīng)的星級評價(jià)功能。(7)即時(shí)更新平臺公共信息。根據(jù)前臺的功能需求和后臺的功能需求,確定平臺功能模塊圖如圖4.4所示。圖4.4平臺功能模塊圖4.3系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)4.3.1數(shù)據(jù)需求針對平臺的用戶和管理,分別對學(xué)員、教員和管理員進(jìn)行詳細(xì)的分析,總結(jié)出如下的需求信息:(1)學(xué)員有獨(dú)立的賬號、基本信息、聯(lián)系方式、照片信息,所以要有對應(yīng)的賬號表、基本信息表、聯(lián)系方式表及照片信息表。(2)教員有獨(dú)立的賬號、基本信息、聯(lián)系方式、照片信息,所以要有對應(yīng)的賬號表、基本信息表、聯(lián)系方式表及照片信息表。(3)學(xué)員有獨(dú)立的教員庫、聯(lián)系過的教員,所以要有對應(yīng)的教員庫表、聯(lián)系教員表。(4)學(xué)員和教員都有星級評價(jià),所以要有對應(yīng)的評價(jià)記錄表。(5)平臺要有留言反饋,所以要有記錄留言表。(6)平臺有網(wǎng)站公告、家教咨詢,所以要有公告記錄、咨詢記錄表。(7)平臺有廣告報(bào)價(jià),所以要有價(jià)格記錄表。4.3.2數(shù)據(jù)庫概念設(shè)計(jì)將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程稱為概念結(jié)構(gòu)設(shè)計(jì)。本平臺按照自頂向下的設(shè)計(jì)方法,首先得到全局概念結(jié)構(gòu),再逐步細(xì)化,得到完整的概念結(jié)構(gòu)。平臺數(shù)據(jù)流圖平臺數(shù)據(jù)流包括帳號信息、用戶的個(gè)人信息及其它綜合信息等,數(shù)據(jù)在平臺各個(gè)實(shí)體之間的流動如圖4.5所示。圖4.5平臺數(shù)據(jù)流圖平臺簡要E-R圖家教服務(wù)平臺的主要實(shí)體有學(xué)員、教員、管理員、廣告、論壇等,其中管理員能對其它實(shí)體進(jìn)行管理,而學(xué)員和教員之間除了可以相互進(jìn)行評價(jià)外還可以相互預(yù)定。實(shí)體之間具體的關(guān)系模式如圖4.6所示。圖4.6家教服務(wù)平臺簡要E-R圖教員實(shí)體教員實(shí)體具有的屬性:教員編號、登錄名、登錄密碼、姓名、性別、地址、MSN、QQ、Email、電話號碼、評價(jià)星級記錄。如圖4.7所示。圖4.7教員實(shí)體學(xué)員實(shí)體學(xué)員實(shí)體具有的屬性:學(xué)員編號、登錄名、登錄密碼、姓名、性別、地址、MSN、QQ、Email、電話號碼。如圖4.8所示。圖4.8學(xué)員實(shí)體管理員實(shí)體管理員實(shí)體具有的屬性:管理員編號、登錄名、登錄密碼。如圖4.9所示。圖4.9管理員實(shí)體論壇實(shí)體論壇實(shí)體具有的屬性:帖子編號、主題、內(nèi)容、發(fā)帖人ID、回復(fù)人ID。如圖4.10所示。圖4.10論壇實(shí)體廣告實(shí)體廣告實(shí)體具有的屬性:廣告編號、主題、價(jià)格、內(nèi)容、類型。如圖4.11所示。圖4.11廣告實(shí)體4.3.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是將概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)化為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。該平臺選用的是Oracle數(shù)據(jù)庫,屬于關(guān)系數(shù)據(jù)庫,因此應(yīng)該將概念模型轉(zhuǎn)變?yōu)殛P(guān)系模型。概念模型轉(zhuǎn)變?yōu)殛P(guān)系模型的實(shí)質(zhì)就是如何將實(shí)體型,實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式并確定這些關(guān)系模式的屬性和碼。如下所述將基本E-R圖轉(zhuǎn)化為關(guān)系模式。1、實(shí)體型轉(zhuǎn)化為關(guān)系模式根據(jù)基本E-R圖轉(zhuǎn)化為關(guān)系模式的原則,一個(gè)實(shí)體轉(zhuǎn)化為一個(gè)關(guān)系模式,實(shí)體的屬性就是該關(guān)系模式的屬性,實(shí)體的碼就是該關(guān)系模式的碼。(1)教員實(shí)體轉(zhuǎn)化為一個(gè)關(guān)系模式R1:教員信息(教員編號,登錄名,登錄密碼,姓名,性別,地址,MSN,QQ,Email,電話號碼,評價(jià)星級記錄,擅長科目,所在學(xué)校),該關(guān)系模式主鍵為(教員編號)。(2)學(xué)員實(shí)體轉(zhuǎn)化為一個(gè)關(guān)系模式R2:學(xué)員信息(學(xué)員編號,登錄名,登錄密碼,姓名,性別,地址,MSN,QQ,Email,電話號碼,評價(jià)星級記錄)該關(guān)系模式主鍵為(學(xué)員編號)。(3)管理員實(shí)體轉(zhuǎn)化為一個(gè)關(guān)系模式R3:管理員信息(管理員編號,登錄名,登錄密碼)該關(guān)系模式主鍵為(管理員編號)。(4)論壇實(shí)體轉(zhuǎn)化為一個(gè)關(guān)系模式R4:論壇信息(帖子編號,主題,內(nèi)容,發(fā)帖人ID,回復(fù)人ID)該關(guān)系模式主鍵為(論壇編號)。(5)廣告實(shí)體轉(zhuǎn)化為一個(gè)關(guān)系模式R5:廣告信息(廣告編號,內(nèi)容,類型,價(jià)格)該關(guān)系模式主鍵為(廣告編號)。2、實(shí)體間的聯(lián)系轉(zhuǎn)化為關(guān)系模式對于實(shí)體間聯(lián)系轉(zhuǎn)化為關(guān)系模式有以下幾種情況:(1)一對一(1:1)聯(lián)系可以轉(zhuǎn)化為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。若轉(zhuǎn)化為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連接的各個(gè)實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)化為關(guān)系的屬性,每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。若與某一端的實(shí)體對應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的碼和聯(lián)系本身的屬性。(2)一對多(1:N)聯(lián)系可以轉(zhuǎn)化為一個(gè)獨(dú)立的關(guān)系模式,也可以與N端對應(yīng)的關(guān)系模式合并。若轉(zhuǎn)化為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連接的各個(gè)實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)化為關(guān)系的屬性,而關(guān)系的碼是N端實(shí)體的碼。(3)多對多(N:M)聯(lián)系則可以將其轉(zhuǎn)化為若干個(gè)一對多關(guān)系來進(jìn)行處理。(1)教員實(shí)體的關(guān)系模式R1、學(xué)員實(shí)體的關(guān)系模式R2與管理員實(shí)體關(guān)系模式生成一個(gè)新的關(guān)系模式R6:用戶信息(用戶編號,用戶名,用戶密碼),該關(guān)系模式的主鍵為(用戶編號)。(2)教員實(shí)體的關(guān)系模式R1與學(xué)員實(shí)體的關(guān)系模式R2生成一個(gè)新的關(guān)系模式R7:基本信息(基本信息編號,姓名,性別,地址,評價(jià)星級記錄,擅長科目,所在學(xué)校,用戶編號),該關(guān)系模式的主鍵為(基本信息編號),外鍵為(用戶編號)。(3)教員實(shí)體的關(guān)系模式R1與學(xué)員實(shí)體的關(guān)系模式R2生成一個(gè)新的關(guān)系模式R8:聯(lián)系方式信息(聯(lián)系方式編號,MSN,QQ,Email,電話號碼,用戶編號)該關(guān)系模式的主鍵為(聯(lián)系方式編號),外鍵為(用戶編號)。(4)教員實(shí)體的關(guān)系模式R1與學(xué)員實(shí)體的關(guān)系模式R2生成一個(gè)新的關(guān)系模式R9:學(xué)員需求信息(需求編號,學(xué)員編號,教員編號,需求性別,預(yù)付價(jià)格,需求地址,需求簡介),該關(guān)系模式的主鍵是(需求編號),外鍵為(學(xué)員編號,教員編號)。(5)教員實(shí)體的關(guān)系模式R1與學(xué)員實(shí)體的關(guān)系模式R2生成一個(gè)新的關(guān)系模式R10:評價(jià)信息(評價(jià)編號,評價(jià)內(nèi)容,評價(jià)時(shí)間,學(xué)員編號,教員編號),該關(guān)系模式的主鍵是(評價(jià)編號),外鍵為(學(xué)員編號,教員編號)。(6)論壇實(shí)體的關(guān)系模式R4自關(guān)聯(lián)故合并成關(guān)系模式R4′:論壇信息(帖子編號,主題,內(nèi)容,用戶ID)該關(guān)系模式主鍵為(論壇編號),外鍵為(用戶ID)(7)廣告實(shí)體的關(guān)系模式R5自關(guān)聯(lián)故合并成關(guān)系模式R5′:廣告信息(廣告編號,內(nèi)容,類型,價(jià)格)該關(guān)系模式主鍵為(廣告編號)。4.3.4數(shù)據(jù)庫表設(shè)計(jì)該平臺建立的數(shù)據(jù)庫名為tutor,總共有14張表,其中主要包括用戶表,教員表,學(xué)員表,學(xué)員需求表,評價(jià)表,基本信息表,聯(lián)系方式表,廣告記錄表,發(fā)帖表,回帖表等。(1)用戶表(TUTOR_USER)用戶表的信息包括用戶ID,用戶名,用戶密碼,用戶類型。如表4-1所示。表4-1用戶信息表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1USER_IDNUMBER10否是用戶編號2USER_NAMEVARCHAR20否否用戶名稱3PASSWORDVARCHAR20否否用戶密碼4USER_TYPEVARCHAR10否否用戶類型(2)教員表(TUTOR_TEACHER)教員數(shù)據(jù)表的信息包括教員ID,用戶ID,基本信息ID,聯(lián)系方式ID,評價(jià)記錄ID。如表4-2所示。表4-2教員表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1TEACHER_IDNUMBER10否是教員編號2USER_IDNUMBER10否否外鍵3INFO_IDNUMBER10否否外鍵4CONTACT_IDNUMBER10否否外鍵5APPSAL_IDNUMBER10否否外鍵(3)學(xué)員表(TUTOR_STUDENT)學(xué)員數(shù)據(jù)表的信息包括學(xué)員ID,用戶ID,基本信息ID,聯(lián)系方式ID,學(xué)員需求ID。如表4-3所示。表4-3學(xué)員表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1STUDENT_IDNUMBER10否是學(xué)員編號2USER_IDNUMBER10否否外鍵3INFO_IDNUMBER10否否外鍵4CONTACT_IDNUMBER10否否外鍵5REQUIRE_IDNUMBER10否否外鍵(4)學(xué)員需求表(TUTOR_REQUIRE)學(xué)員需求數(shù)據(jù)表的信息包括需求ID,需求的教員性別,預(yù)付價(jià)格,輔導(dǎo)地址,需求輔導(dǎo)簡介,發(fā)布時(shí)間。如表4-4所示。表4-4學(xué)員需求表序號字段名數(shù)據(jù)類型長度允許為空是否主鍵說明1REQUIRE_IDNUMBER10否是需求編號2REQUIRE_SEXVARCHAR10否否教員性別3REQUIRE_PRICENUMBER8否否預(yù)付價(jià)格4REQUIRE_ADDRSVARCHAR30否否輔導(dǎo)地址5REQUIRE_INFOVARCHAR150是否需求簡介6REQUIRE_TIMEDATE否否發(fā)布時(shí)間(5)評價(jià)表(TUTOR_APPSAL)評價(jià)數(shù)據(jù)表的信息包括評價(jià)表ID,評價(jià)內(nèi)容,評價(jià)時(shí)間,學(xué)員ID,教員ID。如表4-5所示。表4-5評價(jià)記錄表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1APPSAL_IDNUMBER10否是評價(jià)編號2CONTENTVARCHAR180否否評價(jià)內(nèi)容3APPTIMEDATE否否評價(jià)時(shí)間4STUDENT_IDNUMBER10否否外鍵5TEACHER_IDNUMBER10否否外鍵(6)聯(lián)系方式表(TUTOR_CONTACT)聯(lián)系方式數(shù)據(jù)表的信息包括聯(lián)系表ID,MSN,QQ,Email,電話號碼,用戶編號。如表4-6所示。表4-6聯(lián)系方式表序號字段名數(shù)據(jù)類型長度允許為空是否主鍵說明1CONTACT_IDNUMBER10否是信息編號2MSNVARCHAR20是否MSN賬號3QQNUMBER15是否QQ賬號4EMAILVARCHAR20否否電子郵箱5PHONEVARCHAR15否否電話號碼6USER_IDNUMBER10否否外鍵(7)基本信息表(TUTOR_INFO)基本信息數(shù)據(jù)表的信息包括基本信息ID,姓名,性別,地址,擅長科目,所在學(xué)校,用戶編號。如表4-7所示。表4-7基本信息表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1INFO_IDNUMBER10否是信息編號2NAMEVARCHAR15否否真實(shí)姓名3SEXVARCHAR6否否性別4ADDRESSVARCHAR25否否家庭住址5POSIONVARCHAR20否否擅長科目6SCHOOLVARCHAR20否否所在學(xué)校7USER_IDNUMBER10否否外鍵(8)廣告記錄表(TUTOR_AD)廣告記錄數(shù)據(jù)表的信息包括廣告ID,內(nèi)容,類型,價(jià)格。如表4-8所示。表4-8廣告記錄表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1AD_IDNUMBER10否是廣告編號2AD_CONTENTVARCHAR200是否廣告內(nèi)容3AD_TYPEVARCHAR10否否廣告類型4AD_PRICEDOUBLE10否否廣告價(jià)格(9)發(fā)帖記錄表(TUTOR_POST)發(fā)帖記錄數(shù)據(jù)表的信息包括帖子ID,主題,內(nèi)容,發(fā)帖時(shí)間,用戶ID。如表4-9所示。表4-9發(fā)帖記錄表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1POST_IDNUMBER10否是帖子編號2CONTENTVARCHAR200否否內(nèi)容3SUBJECTVARCHAR30否否帖子主題4POST_TIMEDATE否否發(fā)帖時(shí)間5USER_IDNUMBER10否否發(fā)帖用戶(10)回帖記錄表(TUTOR_REPLY)回帖記錄數(shù)據(jù)表的信息包括表ID,帖子ID,回復(fù)內(nèi)容,回帖時(shí)間,用戶ID。如表4-10所示。表4-10回帖記錄表序號字段名數(shù)據(jù)類型長度允許為空是否為主鍵說明1REPLY_IDNUMBER10否是表ID2CONTENTVARCHAR200否否回復(fù)內(nèi)容3POST_IDNUMBER10否否帖子ID4POST_TIMEDATE否否回帖時(shí)間5USER_IDNUMBER10否否回復(fù)人4.4本章小結(jié)本章從平臺的總體設(shè)計(jì)、功能詳細(xì)設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)三個(gè)方面進(jìn)行了剖析。總結(jié)了平臺開發(fā)實(shí)現(xiàn)后該具有的功能,規(guī)劃了整體的交互界面,同時(shí)對數(shù)據(jù)庫設(shè)計(jì)進(jìn)行了詳細(xì)的描述。通過此章不僅可以詳細(xì)了解數(shù)據(jù)的流動和處理,還可以大致預(yù)想到平臺開發(fā)成功后的基本模樣。
第5章家教平臺的實(shí)現(xiàn)基于JAVAEE開放式家教服務(wù)平臺選擇了MYEclipse6.5作為開發(fā)環(huán)境,數(shù)據(jù)庫為Oracle,服務(wù)器為Tomcat6.0.2,java作為其開發(fā)語言,采用B/S結(jié)構(gòu),采用JSP實(shí)現(xiàn)前端動態(tài)頁面,采用MVC開發(fā)模式。該平臺所實(shí)現(xiàn)的功能包括用戶在平臺發(fā)布和管理需求信息,管理個(gè)人信息,討論相關(guān)主題,對相關(guān)的教員進(jìn)行評價(jià)等。5.1開發(fā)環(huán)境5.1.1硬件環(huán)境平臺的硬件環(huán)境主要有以下條件構(gòu)成:Intel酷睿2雙核T7450、2GBDDRIII、14.1英寸1280x800、250GBSATA、NVIDIAGeForce930、100Mbps網(wǎng)卡。5.1.2軟件環(huán)境平臺開發(fā)過程中所處的軟件環(huán)境如下:WindowsXPSP3、Myeclipse6.5、Oracle10gR2、PLSQLDeveloper漢化版、EditPlus。5.2運(yùn)行環(huán)境平臺的服務(wù)器運(yùn)行在WindowsXPSP3操作系統(tǒng)下。該平臺為網(wǎng)絡(luò)版,所以用戶只要在能連接網(wǎng)絡(luò)的環(huán)境下通過瀏覽器均能訪問平臺進(jìn)行操作。5.3平臺開發(fā)結(jié)構(gòu)平臺實(shí)現(xiàn)過程的具體的架構(gòu)如圖5.1所示。圖5.1平臺實(shí)現(xiàn)過程結(jié)構(gòu)示意圖5.3.1MVC體現(xiàn)(1)“M”即model層結(jié)構(gòu)在平臺開發(fā)過程中集中體現(xiàn)在名為basis的包(package)下,它包含了entity包和model包。entity包是用以進(jìn)行數(shù)據(jù)持久化的,里邊有對應(yīng)實(shí)體的java類和Hibernate的.hbm.xml配置文件,如用戶的基本信息在entity里邊有Info.java和Info.hbm.xml用以將基本信息的數(shù)據(jù)持久化。而model則是實(shí)現(xiàn)邏輯業(yè)務(wù)功能的,里面包含了Manage包用來進(jìn)行業(yè)務(wù)邏輯管理和dao包用來實(shí)現(xiàn)業(yè)務(wù)邏輯,Manage和dao都通過寫抽象類和實(shí)現(xiàn)類來對數(shù)據(jù)進(jìn)行封裝。(2)“V”即view層結(jié)構(gòu)則主要體現(xiàn)在webRoot目錄下,所有呈現(xiàn)視圖的JSP頁面全部存在webRoot目錄下。(3)“C”即control層結(jié)構(gòu)主要體現(xiàn)在manage包中,里邊有對應(yīng)的Action來對程序的走向流程進(jìn)行控制。如將基本信息從視圖獲取一直到存入數(shù)據(jù)庫,這一整個(gè)過程都是通過InfoAction類來控制的。5.3.2表單亂碼設(shè)計(jì)因?yàn)樗械捻撁娑紝⑹褂肎BK編碼,所以提交的表單也是GBK編碼。在JSP中設(shè)置request的編碼為GBK就可以解決POST方式提交表單的中文亂碼問題。具體代碼為request.setCharacterEncoding("GBK")。5.3.3相關(guān)的xml配置文件(1)Basis.xml是spring的配置文件,它是配置連接數(shù)據(jù)源、Session工廠、事務(wù)攔截器bean的xml文件。其中連接數(shù)據(jù)源配置控制平臺所連接的數(shù)據(jù)庫類型和方式,如該平臺是通過DBCP連接池方式連接的Oracle數(shù)據(jù)庫;Session工廠則是控制持久化數(shù)據(jù)類和數(shù)據(jù)庫對應(yīng)表的映射,通過它可以控制每一個(gè)實(shí)體類都能映射到唯一的數(shù)據(jù)表;而事務(wù)攔截器bean是用以攔截開發(fā)過程中進(jìn)行非法命名的java類,以保證開發(fā)代碼的規(guī)范性和安全性。(2)mvc-config.xml是控制MVC跳轉(zhuǎn)的配置文件,通過配置<bean>屬性來進(jìn)行模型-控制器-視圖之間的跳轉(zhuǎn)。(3)views.xml是對平臺的所有JSP頁面進(jìn)行命名配置。如給實(shí)現(xiàn)主頁面的main.jsp命名為main,在平臺開發(fā)過程中如要實(shí)現(xiàn)跳轉(zhuǎn)到主頁面,則在傳參時(shí)只要傳main即可,而不用加.jsp的后綴。(4)Entity.xml是配置業(yè)務(wù)邏輯管理Manage和業(yè)務(wù)邏輯實(shí)現(xiàn)dao之間關(guān)系的,通過配置該文件,可以控制每一個(gè)邏輯管理都能對應(yīng)與之匹配的邏輯實(shí)現(xiàn)。在Action中之所以調(diào)用Manage中的方法就能實(shí)現(xiàn)該邏輯業(yè)務(wù),就是因?yàn)樵诟奈募羞M(jìn)行了配置。如基本信息的保存操作,在InfoAction中調(diào)用InfoManage.saveInfo()就能實(shí)現(xiàn)對基本信息的保存操作,但在InfoManage中其實(shí)只定義了實(shí)現(xiàn)該邏輯的方法,具體的實(shí)現(xiàn)在InfoDaoImpl中。其業(yè)務(wù)邏輯的具體控制過程如圖5.2所示。圖5.2業(yè)務(wù)邏輯控制圖5.4前臺功能模塊實(shí)現(xiàn)5.5.1導(dǎo)航條和Log模塊(1)功能描述:該模塊用于顯示家教服務(wù)平臺的LOG、名稱和導(dǎo)航指引。(2)功能實(shí)現(xiàn):實(shí)現(xiàn)該功能的JSP為Top.jsp,通過使用JSP中的IMG標(biāo)簽導(dǎo)入平臺的LOG名稱,通過使用OPTION等標(biāo)簽,將導(dǎo)航指引名顯示出來,并通過鏈接標(biāo)簽<a>來實(shí)現(xiàn)導(dǎo)航的跳轉(zhuǎn)。實(shí)現(xiàn)該功能的流程圖如圖5.3所示。圖5.3導(dǎo)航和log實(shí)現(xiàn)流程圖5.5.2網(wǎng)站公告模塊(1)功能描述:用于顯示平臺發(fā)布的最新公告的主題,以便用戶能及時(shí)預(yù)覽和查看相關(guān)的最新消息。(2)功能實(shí)現(xiàn):該模塊實(shí)現(xiàn)于flashad.jsp中,其中圖片使用IMG標(biāo)簽導(dǎo)入,每一條公告通過使用<a>標(biāo)簽以鏈接的形式跳轉(zhuǎn)到具體消息頁面,公告的主標(biāo)題則通過使用<table>來實(shí)現(xiàn)顯示。實(shí)現(xiàn)該功能的流程圖如圖5.4所示。 圖5.4網(wǎng)站公告實(shí)現(xiàn)流程圖(3)網(wǎng)站公告的實(shí)現(xiàn)效果如圖5.5所示。圖5.5網(wǎng)站公告實(shí)現(xiàn)效果圖5.5.3用戶注冊模塊(1)功能描述:提供給平臺未注冊用戶進(jìn)行注冊,以便能夠享受到平臺完善的服務(wù)功能。(2)功能實(shí)現(xiàn):該功能的實(shí)現(xiàn)主要有三個(gè)表現(xiàn),首先用戶選擇注冊的身份,然后填寫注冊信息,最后管理員審核信息通過后反饋?zhàn)越Y(jié)果。其中用戶選擇實(shí)現(xiàn)于Login.jsp;填寫注冊信息分為學(xué)員和教員,前者實(shí)現(xiàn)于Student_reg.jsp,后者實(shí)現(xiàn)于Teacher_reg.jsp;管理員審核通過并將數(shù)據(jù)存入數(shù)據(jù)庫實(shí)現(xiàn)于Action中的方法saveInfo(),而反饋結(jié)果則實(shí)現(xiàn)于Reg_result.jsp。實(shí)現(xiàn)該功能的流程圖如圖5.6所示。圖5.6注冊功能流程圖審核通過后,則存入數(shù)據(jù)庫,如學(xué)員信息存入數(shù)據(jù)庫核心代碼如下://創(chuàng)建學(xué)員相關(guān)實(shí)體StudentZhstuzh=newStudentZh();StudentJbstujb=newStudentJb();StudentLxstulx=newStudentLx();//將學(xué)員信息存入對應(yīng)實(shí)體stuzh.setUsername(username);stuzh.setPassword(password);stuzh.setEmail(email);stujb.setRealn
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司猜燈謎抽獎(jiǎng)活動方案
- 公司粽子定做活動方案
- 公司紅色培訓(xùn)活動方案
- 2025年現(xiàn)代物流管理師職業(yè)資格考試試題及答案
- 2025年思想政治理論與教育考試試卷及答案
- 2025年商品經(jīng)濟(jì)學(xué)考試試卷及答案
- 高危人群自檢策略-洞察及研究
- 2025年科技創(chuàng)新創(chuàng)業(yè)導(dǎo)師職業(yè)資格考試卷及答案
- 2025年旅游管理專業(yè)考試試卷及答案
- 2025年會計(jì)職業(yè)資格考試試卷及答案
- 專科護(hù)士基地管理制度
- 2025年福建省中考?xì)v史試卷真題(含標(biāo)準(zhǔn)答案)
- 二年級下二升三數(shù)學(xué)暑假作業(yè)(人教)
- 2025年6月15日青海省事業(yè)單位面試真題及答案解析
- 三級醫(yī)院評審標(biāo)準(zhǔn)(2025年版)
- 安全文明標(biāo)準(zhǔn)化施工方案
- 單體藥店GSP質(zhì)量管理制度
- (2025)“安全生產(chǎn)月”安全生產(chǎn)知識競賽試題庫(答案)
- 材料力學(xué)知到智慧樹期末考試答案題庫2025年遼寧工程技術(shù)大學(xué)
- 醫(yī)療器械財(cái)務(wù)部門的職責(zé)與作用
- 2024年7月黑龍江省普通高中學(xué)業(yè)水平合格性考試生物試卷(含答案)
評論
0/150
提交評論