版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要隨著網(wǎng)絡(luò)科技的進(jìn)步,網(wǎng)站開(kāi)發(fā)和利用越來(lái)越普遍。本次我們選用了Java語(yǔ)言的SSH(Spring,Struts,Hibernate)設(shè)計(jì)了一個(gè)創(chuàng)新的健康管理系統(tǒng),服務(wù)于在校師生這一群體。平臺(tái)核心功能涵蓋了師生的健康飲食規(guī)劃、健康日記、體檢數(shù)據(jù)以及疾病評(píng)估。利用此系統(tǒng),全校師生們可以輕松管理自己的健康狀態(tài)及日常生活規(guī)律及體檢數(shù)據(jù),根據(jù)軟件提示改變不健康的生活規(guī)律,調(diào)整飲食結(jié)構(gòu)和改善身心健康。系統(tǒng)還能評(píng)估用戶(hù)患心腦血管疾病及糖尿病等慢性疾病的的患病率,方便使用提起預(yù)防做好健康管理。該健康管理軟件系統(tǒng)采用了3層J2EE:表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層。確保了數(shù)據(jù)的獲取及驗(yàn)證全在業(yè)務(wù)邏輯層完成。使用者與表現(xiàn)層提交請(qǐng)求,業(yè)務(wù)邏輯層再處理這些請(qǐng)求并與數(shù)據(jù)服務(wù)層通信,所以用戶(hù)無(wú)需直接訪問(wèn)數(shù)據(jù)庫(kù)。關(guān)鍵詞:健康管理,慢性病,Spring,Struts,Hibernate目錄第一章引言 1.1設(shè)計(jì)背景 1.2設(shè)計(jì)目的和意義 1.3國(guó)內(nèi)外研究現(xiàn)狀 第二章系統(tǒng)需求 2.1系統(tǒng)目標(biāo) 2.2系統(tǒng)功能要求 2.2.1前臺(tái)功能 2.2.2后臺(tái)功能 2.3系統(tǒng)性能要求 2.4系統(tǒng)數(shù)據(jù)要求 2.4.1數(shù)據(jù)的性質(zhì) 2.4.2數(shù)據(jù)字典 2.4.3實(shí)體聯(lián)系圖 第三章系統(tǒng)設(shè)計(jì) 3.1開(kāi)發(fā)工具介紹 3.1.1Myeclipse介紹 3.1.2Oracle介紹 3.2開(kāi)發(fā)技術(shù)介紹 3.2.1Struts2介紹 3.2.2Spring介紹 3.2.3Hibernate介紹 3.2.4Jsp介紹 3.2.5Jquery介紹 3.2.6Dwr(Ajax)介紹 3.3系統(tǒng)架構(gòu)設(shè)計(jì) 3.3.1Hibernate持久化 3.3.2Service層 第四章系統(tǒng)概要設(shè)計(jì) 4.1系統(tǒng)體系結(jié)構(gòu) 4.1.1設(shè)計(jì)原則 4.1.2運(yùn)行架構(gòu) 4.2網(wǎng)站功能結(jié)構(gòu) 4.3數(shù)據(jù)庫(kù)表設(shè)計(jì) 4.3.1數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì) 4.3.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 4.3.3數(shù)據(jù)庫(kù)表設(shè)計(jì) 4.4信息安全設(shè)計(jì) 4.4.1網(wǎng)絡(luò)安全 4.4.2其他安全 第五章詳細(xì)設(shè)計(jì) 5.1系統(tǒng)流程圖 5.2前臺(tái)主頁(yè)界面設(shè)計(jì) 5.2.1前臺(tái)主頁(yè)功能設(shè)計(jì) 5.2.2教師飲食管理功能設(shè)計(jì) 5.2.3教師健康日志功能設(shè)計(jì) 5.2.4教師體檢管理功能設(shè)計(jì) 5.2.5疾病預(yù)測(cè)評(píng)估功能設(shè)計(jì) 5.2.6注冊(cè)功能設(shè)計(jì) 5.3后臺(tái)主頁(yè)界面設(shè)計(jì) 5.3.1管理員用戶(hù)登錄功能 5.3.2管理管理員功能 5.3.3管理員管理體檢結(jié)果 5.3.4管理員管理健康新聞 5.3.5管理員管理教師功能 第六章系統(tǒng)測(cè)試 6.1編寫(xiě)測(cè)試用例 6.2單元測(cè)試 6.3系統(tǒng)和集成測(cè)試 第七章結(jié)束語(yǔ) 致謝 參考文獻(xiàn) 第一章引言1.1設(shè)計(jì)背景高校群體因工作節(jié)奏緊張、學(xué)術(shù)研究壓力、不佳的生活習(xí)慣、工作帶來(lái)的家庭及人際關(guān)系問(wèn)題等,面臨著慢性病風(fēng)險(xiǎn)增加。學(xué)生和教職員工的入學(xué)、入職及定期體檢,人們對(duì)健康檢查的重視程度日益加強(qiáng),積極的進(jìn)行自我監(jiān)測(cè)。然而,當(dāng)前的體檢過(guò)程仍然大量依賴(lài)于傳統(tǒng)的管理方式,因此需要一個(gè)呈現(xiàn)健康信息的方案。通過(guò)開(kāi)發(fā)一個(gè)全新的健康管理平臺(tái),我們能夠更好地通過(guò)可視化和分析健康數(shù)據(jù),以實(shí)現(xiàn)對(duì)高風(fēng)險(xiǎn)人群的健康管理。該平臺(tái)的目標(biāo)是不只展示個(gè)人健康趨勢(shì)的可視化信息,而且還能提供更加深入的洞察。還能展示群體健康趨勢(shì)及預(yù)測(cè),基于此提供針對(duì)個(gè)人行為的健康管理。因此,我決定設(shè)計(jì)這樣一個(gè)健康管理平臺(tái)。1.2設(shè)計(jì)目的和意義健康管理是一個(gè)全面且詳細(xì)的服務(wù)程序,它旨在通過(guò)了解居民體質(zhì)、分析日常行為、跟蹤高危群體的健康狀態(tài)等方式,提升人們的健康水平,減少醫(yī)療費(fèi)用。同時(shí),建立針對(duì)教師的健康管理平臺(tái),能夠充分利用系統(tǒng)內(nèi)的信息,保障教師的健康。然而,這需要擁有醫(yī)學(xué)知識(shí)、計(jì)算機(jī)技術(shù)等領(lǐng)域?qū)I(yè)知識(shí)的人才,以及來(lái)自多方面的專(zhuān)家團(tuán)隊(duì)的支持。在現(xiàn)代社會(huì),數(shù)字化健康信息管理已經(jīng)變得不可或缺。通過(guò)計(jì)算機(jī)技術(shù)的支持,創(chuàng)建一個(gè)標(biāo)準(zhǔn)化的健康管理系統(tǒng)。這個(gè)系統(tǒng)能夠存儲(chǔ)和管理教師的健康檢查數(shù)據(jù),包括檢查發(fā)現(xiàn)的問(wèn)題和采取的措施。借助于這種方式,校園內(nèi)的健康信息能夠方便地在網(wǎng)絡(luò)上交流和共享。使得健康信息管理更加方便。本研究項(xiàng)目將瞄準(zhǔn)高校人群,開(kāi)發(fā)出一套多維度的健康數(shù)據(jù)收集系統(tǒng),并以此為基礎(chǔ),對(duì)歷年體檢數(shù)據(jù),健康相關(guān)生活習(xí)慣等信息進(jìn)行有效建模和評(píng)估。這個(gè)系統(tǒng)不僅可以對(duì)對(duì)于常見(jiàn)的慢性疾病如心血管疾病、高血壓、糖尿病等進(jìn)行評(píng)估,也可以對(duì)全體師生亞健康狀態(tài)進(jìn)行綜合評(píng)估,以實(shí)現(xiàn)對(duì)全校師生的健康管理。1.3國(guó)內(nèi)外研究現(xiàn)狀健康管理這一概念首次出現(xiàn)在1929年,洛杉磯建立了初期的健康管理機(jī)構(gòu)。進(jìn)入20世紀(jì)70年代,健康保險(xiǎn)業(yè)的發(fā)展和醫(yī)療服務(wù)方式的改變,人們開(kāi)始積極地預(yù)防疾病和降低醫(yī)療成本。服務(wù)機(jī)構(gòu)開(kāi)始對(duì)人們進(jìn)行人身健康評(píng)估和患病風(fēng)險(xiǎn)評(píng)估,旨在預(yù)測(cè)疾病風(fēng)險(xiǎn),并制定的預(yù)防方案。這種管理方式使得醫(yī)療開(kāi)支減少約十分之一左右,同時(shí)減少了疾病發(fā)生率。研究表明,從1978至1983年之間,通過(guò)健康管理,膽固醇患病率下降了2%,高血壓患病水平分別下降了4%,冠狀動(dòng)脈疾病的患病率降低了16%。研究顯示,90%的參與健康管理的人將醫(yī)療費(fèi)用減少到了原來(lái)的十分之一,而未參與的人群醫(yī)療費(fèi)用增加了十分之九。經(jīng)濟(jì)學(xué)分析指出,健康管理的每一元投入,能夠節(jié)省3-6元的醫(yī)療支出,如果計(jì)入勞動(dòng)生產(chǎn)率提高的效益,實(shí)際回報(bào)可達(dá)到8倍。在中國(guó),健康管理行業(yè)尚處于初期階段,目前主要由少數(shù)專(zhuān)業(yè)機(jī)構(gòu)及醫(yī)院、體檢中心的健康管理部門(mén)承擔(dān)。據(jù)估計(jì),國(guó)內(nèi)從事此行業(yè)的專(zhuān)業(yè)人士超過(guò)10萬(wàn),但相比于人口總數(shù),人均占有率很低。第二章系統(tǒng)需求2.1系統(tǒng)目標(biāo)我的系統(tǒng)目標(biāo)是以計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)和開(kāi)發(fā)平臺(tái)為基礎(chǔ),構(gòu)建一個(gè)、易于擴(kuò)充、維護(hù)便捷、有優(yōu)秀用戶(hù)交互界面的教師健康管理平臺(tái)。具體要求如下:1.具備五個(gè)核心模塊;2.具備良好的兼容性和數(shù)據(jù)獨(dú)立性;3.具備二次開(kāi)發(fā)簡(jiǎn)易的特性;4.具備跨平臺(tái)運(yùn)行的能力。要實(shí)現(xiàn)以上開(kāi)發(fā)目標(biāo),我們應(yīng)遵循以下設(shè)計(jì)和開(kāi)發(fā)原則:1.模塊接口定義清晰2.合理的基礎(chǔ)類(lèi)庫(kù)設(shè)計(jì)和接口設(shè)計(jì),創(chuàng)建可拓展的接口和抽象類(lèi);3.要使用標(biāo)準(zhǔn)的SQL語(yǔ)句來(lái)進(jìn)行數(shù)據(jù)庫(kù)的操作,如果需要使用有差別SQL語(yǔ)句,就將它們集中起來(lái),來(lái)降低后期系統(tǒng)的維護(hù)和跨平臺(tái)運(yùn)作的難度;4.使用國(guó)際開(kāi)放的標(biāo)準(zhǔn)和使用國(guó)際通用工具等。2.2系統(tǒng)的功能要求2.2.1前臺(tái)功能1.師生營(yíng)養(yǎng)規(guī)劃:根據(jù)學(xué)校師生的基本信息已經(jīng)每天的活動(dòng)軌跡,計(jì)算使用者每日消耗的卡路里,并且合理規(guī)劃出短期內(nèi)的健康飲食目錄。2.師生健康日志:用戶(hù)可以記錄平時(shí)的生活習(xí)慣,包括每日起床和休息的時(shí)間、煙酒的吸食情況、身高和體重以及血壓及心理情況等。3.體檢數(shù)據(jù)查詢(xún):具備數(shù)據(jù)導(dǎo)入功能可以將體檢數(shù)據(jù)導(dǎo)入系統(tǒng),方便使用這隨時(shí)查詢(xún)體檢數(shù)據(jù)。也可以根據(jù)使用這平時(shí)生活習(xí)慣推測(cè)出后期體檢數(shù)據(jù)的變化。4.疾病風(fēng)險(xiǎn)評(píng)估:比如高血壓和糖尿病這樣的常見(jiàn)慢性病,系統(tǒng)將根據(jù)以有的用戶(hù)生活數(shù)據(jù)利用線性回歸的方法計(jì)算使用者的患病可能性。2.2.2后臺(tái)功能后臺(tái)主要有四個(gè)功能:1.登錄功能:后臺(tái)使用者通過(guò)加密賬號(hào)進(jìn)入系統(tǒng)。2.管理使用者信息:后臺(tái)使用者可查看和管理所有使用者的基本信息以及日常生活信息。3.管理體檢記錄:后臺(tái)使用者可以上傳以及修改所有軟件使用者的體檢數(shù)據(jù)。4.健康新聞管理:后臺(tái)使用者可以發(fā)布或刪除面向所有使用者發(fā)布的新聞。2.3系統(tǒng)的性能需求1.擴(kuò)展性:應(yīng)具備良好的擴(kuò)展性,隨著使用者的需求變化可以添加新的模塊。2.安全性:確保用戶(hù)的信息、設(shè)備、系統(tǒng)的運(yùn)行和管理的安全,設(shè)計(jì)完整的安全體系,保障用戶(hù)的個(gè)人信息安全。3.易維護(hù)性:管理員應(yīng)能簡(jiǎn)單方便地管理系統(tǒng)以及對(duì)已經(jīng)正常使用的系統(tǒng)進(jìn)行升級(jí)而不影響到已有的功能,可以簡(jiǎn)單方便的添加新的應(yīng)用及進(jìn)行日常維護(hù);4.多樣性:系統(tǒng)需要以用戶(hù)為中心,考慮到用戶(hù)需求的多樣性,從外觀到功能都應(yīng)獨(dú)特且吸引人。2.4系統(tǒng)的數(shù)據(jù)要求2.4.1數(shù)據(jù)的性質(zhì)1.數(shù)據(jù)錄入和處理的及時(shí)性和準(zhǔn)確性。正確的數(shù)據(jù)輸入是數(shù)據(jù)處理的基礎(chǔ)前提,錯(cuò)誤的輸入可能導(dǎo)致系統(tǒng)輸出的無(wú)效性,從而令使用者得到錯(cuò)誤的信息進(jìn)而失去使用的意義。數(shù)據(jù)輸入一般是用戶(hù)的手動(dòng)輸入,應(yīng)通過(guò)系統(tǒng)界面的布局使系統(tǒng)具備錯(cuò)誤數(shù)據(jù)提示能力,跟蹤和提醒用戶(hù)操作錯(cuò)誤。由于使用者眾多,數(shù)據(jù)輸入量大,系統(tǒng)需要擁有快速的處理能力,以確保正確的處理這些數(shù)據(jù)。2.數(shù)據(jù)的一致性及完整性。為了保證數(shù)據(jù)的一致性,需要管理人員維護(hù)數(shù)據(jù)的一致性,對(duì)數(shù)據(jù)錄入方向進(jìn)行控制,并對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性做嚴(yán)格的約束。3.數(shù)據(jù)的共享與安全性。整個(gè)系統(tǒng)的數(shù)據(jù)是共享的。共享會(huì)增加設(shè)計(jì)和調(diào)試的難度。所以應(yīng)提供靈活的配置,讓所有子系統(tǒng)能夠安全運(yùn)行,使用人為干預(yù)的方式對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行交換,有助于提高系統(tǒng)的穩(wěn)定性。2.4.2數(shù)據(jù)字典注冊(cè)界面涉及姓名的數(shù)據(jù)字典,如表2.1所示:表2.1真實(shí)姓名數(shù)據(jù)字典名稱(chēng):真實(shí)姓名名稱(chēng):真實(shí)姓名別名:realname描述:教師注冊(cè)時(shí)需要輸入自己的真實(shí)姓名,需與體檢表中的名字統(tǒng)一。定義:真實(shí)姓名=[{字}2|{字}3|{字}4]位置:用戶(hù)注冊(cè)界面注冊(cè)界面涉及電話(huà)的數(shù)據(jù)字典,如表2.2所示:名稱(chēng):電話(huà)別名:phone名稱(chēng):電話(huà)別名:phone描述:教師注冊(cè)時(shí)需要輸入自己的聯(lián)系方式。定義:電話(huà)={0···9}11位置:用戶(hù)注冊(cè)界面注冊(cè)界面涉及到郵箱的數(shù)據(jù)字典,如表2.3所示:表2.3郵箱數(shù)據(jù)字典名稱(chēng):郵箱名稱(chēng):郵箱別名:email描述:教師注冊(cè)時(shí)需要輸入自己的郵箱。定義:郵箱=[a···z|0···9|A···Z]+@+([a···z|0···9|A···Z]位置:用戶(hù)注冊(cè)界面2.4.3實(shí)體聯(lián)系圖該軟件主要涉及的實(shí)體聯(lián)系圖有六個(gè),實(shí)體有Teacher、Manager、Food、Notice、Exam、Dairy。圖2.1教師E-R圖圖2.2食物E-R圖圖2.3新聞E-R圖圖2.4體檢E-R圖圖2.5管理員E-R圖圖2.6日志E-R圖第三章系統(tǒng)設(shè)計(jì)3.1開(kāi)發(fā)工具介紹3.1.1MyEclipse介紹MyEclipse,也稱(chēng)為MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench),是一款對(duì)EclipseIDE的增強(qiáng)版,可以大幅度改善我們數(shù)據(jù)庫(kù)和JavaEE開(kāi)發(fā)、服務(wù)器整合等方面的效率。它擁有完善的開(kāi)發(fā)環(huán)境,支持HTML,Struts,JSP,CSS,SQL,Javascript,Spring,Hibernate等技術(shù)。作為一個(gè)宏大的Eclipse插件集合,MyEclipse主要用于開(kāi)發(fā)Java和J2EE,其強(qiáng)大的功能和廣泛的支持性使其在開(kāi)發(fā)界備受贊譽(yù)。特別是,MyEclipse對(duì)眾多開(kāi)源產(chǎn)品的支持十分出色,包括但不限于JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等??梢哉f(shuō),MyEclipse幾乎包羅了目前所有主流開(kāi)源產(chǎn)品的專(zhuān)屬eclipse開(kāi)發(fā)工具。其2013版本的MyEclipse支持HTML5、JQuery及主流JavaScript庫(kù)。2013版軟件的支持HTML5意味著用戶(hù)能夠在項(xiàng)目中添加API元素以及音視頻,可以給移動(dòng)設(shè)備創(chuàng)建Web程序。2013版軟件的支持JQuery,使設(shè)計(jì)者在設(shè)計(jì)中加入動(dòng)畫(huà)效果成為可能。3.1.2Oracle介紹Oracle數(shù)據(jù)庫(kù)系統(tǒng),是屬于分布式數(shù)據(jù)庫(kù)的產(chǎn)品套裝,其在客戶(hù)/服務(wù)器體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)中處于遙遙領(lǐng)先的位置。OracleDatabase12c引入了多承租方架構(gòu),使得部署和管理變得更為簡(jiǎn)單。通過(guò)創(chuàng)新特性,如OracleMultitenant,可以使多個(gè)數(shù)據(jù)庫(kù)的快速整合,而AutomaticDataOptimization和HeatMap則能更有效地壓縮數(shù)據(jù)和數(shù)據(jù)分層。,結(jié)合在可用性、安全性和大數(shù)據(jù)支持方面的增強(qiáng),讓OracleDatabase12c成為云部署的首選平臺(tái)。3.2開(kāi)發(fā)技術(shù)介紹3.2.1Struts2ApacheStruts運(yùn)用JavaServlet/JSP技術(shù),開(kāi)發(fā)了基于JavaEE網(wǎng)頁(yè)應(yīng)用的MVC設(shè)計(jì)模式框架,被認(rèn)為是MVC設(shè)計(jì)模式的經(jīng)典案例。2006年,WebWork與Struts決定共同開(kāi)發(fā)一個(gè)新的框架,這個(gè)框架綜合了WebWork和Struts的優(yōu)點(diǎn),這就是Struts2,之前的Struts產(chǎn)品被稱(chēng)為Struts1。Struts2與Struts1的體系結(jié)構(gòu)有著明顯的不同。Struts2以WebWork為核心,使用攔截器機(jī)制處理請(qǐng)求,因此,我們可以把Struts2看作是WebWork的升級(jí)版。與WebWork相比,Struts2的改變不是很顯著。3.2.2Spring介紹Spring有以下優(yōu)點(diǎn):首先,其具有非常低的侵入性設(shè)計(jì),對(duì)代碼的污染少。其次,較低的應(yīng)用服務(wù)器環(huán)境要求,完美解釋了WriteOnce,RunAnywhere。開(kāi)發(fā)者可以根據(jù)需要靈活地選用Spring框架的部分或全部功能,DI機(jī)制可以簡(jiǎn)化業(yè)務(wù)對(duì)象替換的復(fù)雜性。3.2.3Hibernate介紹Hibernate是現(xiàn)在最受歡迎的ORM工具,很特別的將SQL操作轉(zhuǎn)換為面向?qū)ο蟮牟僮?。該軟件用極少的代碼完成了整個(gè)框架,同時(shí)也開(kāi)源了所有的代碼。因此,如果遇到不懂的部分,我們可以直接查看源代碼來(lái)理解其在持久性層面的精巧設(shè)計(jì)。3.2.4JSP介紹JSP是JavaServerPages的縮寫(xiě),它可以將Java程序代碼和JSP標(biāo)簽嵌入到HTML文件中,形成JSP網(wǎng)頁(yè)。通過(guò)在服務(wù)器端執(zhí)行Java代碼,可以實(shí)現(xiàn)各種功能,而不需要客戶(hù)端瀏覽器支持Java。JSP具有簡(jiǎn)單易用、面向?qū)ο蟆⑵脚_(tái)無(wú)關(guān)性和安全可靠等特點(diǎn),非常適合互聯(lián)網(wǎng)應(yīng)用。3.2.5Jquery(JavaScript)介紹JavaScript是一種客戶(hù)端腳本語(yǔ)言,用于Web開(kāi)發(fā),用以增添HTML網(wǎng)頁(yè)的動(dòng)態(tài)功能,如回應(yīng)用戶(hù)操作。它是一種兼容眾多瀏覽器的javascript框架,使用MIT許可協(xié)議。提供了API供開(kāi)發(fā)者編寫(xiě)插件,其模塊化的使用方式使得開(kāi)發(fā)者能輕松地開(kāi)發(fā)出強(qiáng)大的靜態(tài)或動(dòng)態(tài)頁(yè)面。3.3系統(tǒng)架構(gòu)設(shè)計(jì)本系統(tǒng)應(yīng)用架構(gòu)為J2EE,包含以下層次:表現(xiàn)層:是根據(jù)JSP網(wǎng)頁(yè)制作而成。MVC層:根據(jù)Struts框架來(lái)實(shí)施制作。業(yè)務(wù)邏輯層:由SpringIOC運(yùn)行。DAO層:包含DAO組件,繼承自Spring的HibernateDaoSupport。Hibernate持久層:包括PO對(duì)象,在HibernateSession的管理下進(jìn)行數(shù)據(jù)庫(kù)操作。數(shù)據(jù)庫(kù)層:利用Oracle數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)。通過(guò)實(shí)體關(guān)系映射O-RMapping由數(shù)據(jù)庫(kù)得來(lái)的對(duì)象數(shù)據(jù)訪問(wèn)對(duì)象與持久化通過(guò)實(shí)體關(guān)系映射O-RMapping由數(shù)據(jù)庫(kù)得來(lái)的對(duì)象數(shù)據(jù)訪問(wèn)對(duì)象與持久化對(duì)象交互業(yè)務(wù)邏輯實(shí)現(xiàn)層MVC架構(gòu)的控制層控制業(yè)務(wù)邏輯層與表現(xiàn)出的交互用戶(hù)界面負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)的收集和顯示存放數(shù)據(jù)用戶(hù)界面負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)的收集和顯示存放數(shù)據(jù)DAODataAccessObjectService層DAODataAccessObjectService層(業(yè)務(wù)邏輯層)Hibernate持久層視圖層(JSP)Web層(Struts)數(shù)據(jù)庫(kù)服務(wù)(Oracle)數(shù)據(jù)庫(kù)服務(wù)(Oracle)圖3.1系統(tǒng)結(jié)構(gòu)圖圖3.1為系統(tǒng)結(jié)構(gòu)圖。大框內(nèi)的MVC控制層和DAO組件層和Service層由Spring容器負(fù)責(zé)。遵循MVC設(shè)計(jì)模式,符合J2EE的經(jīng)典分層設(shè)計(jì)原則,分開(kāi)了業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和DAO層。MVC層的控制器禁止訪問(wèn)持久層,表現(xiàn)層選用了穩(wěn)定的JSP技術(shù)。系統(tǒng)使用的架構(gòu)為J2EE三層,業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)和合法性驗(yàn)證等任務(wù)由中間層負(fù)責(zé)處理。這使得客戶(hù)端可以通過(guò)中間層與數(shù)據(jù)庫(kù)交流,而無(wú)需直接鏈接數(shù)據(jù)庫(kù)。JSP的普遍應(yīng)用為表現(xiàn)層技術(shù)奠定了穩(wěn)健的基礎(chǔ)。中間層利用了備受歡迎的Spring和Hibernate框架,進(jìn)一步進(jìn)行細(xì)化分工。3.3.1Hibernate持久化通過(guò)使用Hibernate作為持久化層,我們可以避免使用傳統(tǒng)的JDBC方式去操作數(shù)據(jù)庫(kù)。Hibernate對(duì)JDBC進(jìn)一步抽象,使我們能夠利用面向?qū)ο蟮姆椒ㄟM(jìn)行數(shù)據(jù)庫(kù)操作更加方便。這保證了在軟件開(kāi)發(fā)流程中,始終使用面向?qū)ο蟮乃季S方式進(jìn)行,包括面向?qū)ο蠓治觥⒃O(shè)計(jì)和編程。無(wú)論是插入還是查詢(xún),Hibernate都會(huì)借助PO對(duì)象來(lái)對(duì)持久化操作進(jìn)行處理。通過(guò)使用DAO組件,可以進(jìn)一步封裝對(duì)數(shù)據(jù)庫(kù)操作。這樣業(yè)務(wù)邏輯層就可以與特定的持久層技術(shù)分離,當(dāng)需要改變持久層技術(shù)時(shí),業(yè)務(wù)邏輯層的組件不會(huì)受到影響。因此,DAO模式的引入意味著每個(gè)DAO組件都包含數(shù)據(jù)庫(kù)訪問(wèn)邏輯,可以完成對(duì)一個(gè)數(shù)據(jù)庫(kù)表的基本CRUD等操作。DAO模式的實(shí)現(xiàn)需要三個(gè)部分:DAO工廠類(lèi)、DAO接口以及DAO接口的實(shí)現(xiàn)類(lèi)。DAO模式對(duì)數(shù)據(jù)訪問(wèn)方式進(jìn)行了抽象,業(yè)務(wù)邏輯組件無(wú)需關(guān)心底層的數(shù)據(jù)庫(kù)訪問(wèn),只需要專(zhuān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。所有數(shù)據(jù)訪問(wèn)由DAO對(duì)象完成,使得數(shù)據(jù)訪問(wèn)集中在一層,提高系統(tǒng)可維護(hù)性。此外,DAO也有助于提高系統(tǒng)的可移植性,使得系統(tǒng)在不同數(shù)據(jù)庫(kù)之間能輕松切換,對(duì)于業(yè)務(wù)邏輯組件來(lái)說(shuō),底層數(shù)據(jù)庫(kù)的實(shí)現(xiàn)是透明的。數(shù)據(jù)庫(kù)的移植只會(huì)影響到DAO層,而不會(huì)影響到業(yè)務(wù)邏輯組件,因此提高了系統(tǒng)的復(fù)用性。3.3.2Service層在設(shè)計(jì)服務(wù)層組件時(shí),通常會(huì)封裝多個(gè)數(shù)據(jù)訪問(wèn)對(duì)象(DAO),以實(shí)現(xiàn)業(yè)務(wù)邏輯。這樣的架構(gòu)設(shè)計(jì)不僅響應(yīng)了業(yè)務(wù)需求,還通過(guò)將業(yè)務(wù)邏輯與數(shù)據(jù)訪問(wèn)技術(shù)解耦,增強(qiáng)了系統(tǒng)的靈活性。具體到實(shí)現(xiàn),可以通過(guò)定義一個(gè)FacadeManagerImpl來(lái)整合多個(gè)DAO,實(shí)現(xiàn)邏輯層與數(shù)據(jù)訪問(wèn)層的分離,促進(jìn)系統(tǒng)的松耦合。在事務(wù)管理方面,建議將事務(wù)控制放置于服務(wù)層,而非數(shù)據(jù)訪問(wèn)層,因?yàn)閮H在涉及業(yè)務(wù)邏輯的操作中使用事務(wù)管理更加合理。此外,為提高配置文件的可讀性和易理解性,建議將Spring配置文件按照層級(jí)和模塊進(jìn)行組織,這樣做有助于避免配置文件過(guò)于龐大,難以管理。業(yè)務(wù)邏輯層的配置應(yīng)在applicationContext.xml文件中完成,包括數(shù)據(jù)源、事務(wù)管理器以及業(yè)務(wù)組件等的配置。第四章系統(tǒng)概要設(shè)計(jì)4.1系統(tǒng)體系結(jié)構(gòu)健康管理平臺(tái)通?;贐/S架構(gòu),包含:用戶(hù)終端、數(shù)據(jù)和WEB服務(wù)器等部分。接入和應(yīng)用服務(wù)器是該平臺(tái)的關(guān)鍵組成部分。下圖為平臺(tái)總體結(jié)構(gòu)圖:WEB服務(wù)器(webServer)WEB服務(wù)器(webServer)數(shù)據(jù)用服務(wù)器PC圖4.1健康管理平臺(tái)總體結(jié)構(gòu)4.1.1設(shè)計(jì)原則在初始階段的軟件系統(tǒng)開(kāi)發(fā)中,需要根據(jù)功能的需求,選取適當(dāng)?shù)拈_(kāi)發(fā)工具,還需要根據(jù)需求選擇設(shè)計(jì)架構(gòu)。因?yàn)镴2EE的開(kāi)放源代碼框架足夠多,利用這些存在的框架能加快系統(tǒng)開(kāi)發(fā)進(jìn)度,綜合對(duì)比各種工具,PHP功能簡(jiǎn)單,CGI效率低,故選擇Java技術(shù)作為健康平臺(tái)的開(kāi)發(fā)工具。4.1.2運(yùn)行架構(gòu)在開(kāi)始項(xiàng)目前,首先需評(píng)估系統(tǒng)需求,包括分析數(shù)據(jù)需求并形成系統(tǒng)的邏輯結(jié)構(gòu)。隨后,基于系統(tǒng)分析成果劃分模塊并對(duì)每個(gè)模塊進(jìn)行詳細(xì)研究,這是確保系統(tǒng)功能完整性的關(guān)鍵步驟。本項(xiàng)目需處理包括用戶(hù)和管理員在內(nèi)的多種角色信息,故建立數(shù)據(jù)庫(kù)至關(guān)重要。作為一個(gè)基于WEB的管理系統(tǒng),依靠網(wǎng)頁(yè)界面和數(shù)據(jù)庫(kù)交互。JSP技術(shù)為主要開(kāi)發(fā)手段。數(shù)據(jù)庫(kù)訪問(wèn):oracle數(shù)據(jù)庫(kù)服務(wù)器訪問(wèn):Weblogic、Tomcat、Jboss等網(wǎng)頁(yè)技術(shù):DIV+CSS、JAVASCRIPT、AJAX等后臺(tái)技術(shù):Struts2+Hibernate+Spring硬件需求:i7/16G/1T及以上配置操作系統(tǒng):Win2000及以上系統(tǒng)4.2網(wǎng)站功能結(jié)構(gòu)網(wǎng)站前臺(tái)功能結(jié)構(gòu)圖,結(jié)構(gòu)圖如下:網(wǎng)站前臺(tái)功能教網(wǎng)站前臺(tái)功能教師飲食管理教師健康日志教師體檢管理疾病預(yù)測(cè)評(píng)估圖4.2網(wǎng)站前臺(tái)功能結(jié)構(gòu)圖網(wǎng)站后臺(tái)功能結(jié)構(gòu)圖,如圖4.3所示:網(wǎng)站后臺(tái)功能網(wǎng)站后臺(tái)功能管理教師信息管理健康信息管理教師信息管理健康信息管理體檢信息管理員管理圖4.3網(wǎng)站后臺(tái)功能結(jié)構(gòu)圖4.3數(shù)據(jù)庫(kù)設(shè)計(jì)4.3.1數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)以下是數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):后臺(tái)管理人員表:包含后臺(tái)使用者的編號(hào)、姓名和密碼;最新信息發(fā)布表:包含發(fā)布信息編號(hào)、命題、上傳日期、視頻路徑和原創(chuàng)出處;飲食表:規(guī)劃數(shù)據(jù)庫(kù)內(nèi)飲食的編號(hào)、卡路里、屬類(lèi);體檢數(shù)據(jù)表:高血壓、低血壓、體重、胸圍、腰圍;用戶(hù)表:用戶(hù)編號(hào)、昵稱(chēng)、密碼、采用實(shí)名制注冊(cè)的所有信息;生活日志表:用戶(hù)的作息時(shí)間、飲食習(xí)慣、以及運(yùn)動(dòng)頻率;飲食規(guī)劃表:每日三餐的飲食種類(lèi);4.3.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)匯總表,如表4.1所示:表4.1匯總表表名功能說(shuō)明Manager后臺(tái)管理人員表Notice最新信息發(fā)布表Food飲食表Exam體檢數(shù)據(jù)表Teacher用戶(hù)表Dairy生活日志表Dairy-food飲食規(guī)劃表4.3.3數(shù)據(jù)庫(kù)表設(shè)計(jì)該數(shù)據(jù)庫(kù)包含七個(gè)表格,它們是后臺(tái)管理人員表,信息最新發(fā)布表,飲食表,體檢數(shù)據(jù)表,用戶(hù)表,生活日志表和飲食規(guī)劃表。4.2后臺(tái)管理人員表字段名稱(chēng)字段含義數(shù)據(jù)類(lèi)型長(zhǎng)度NULL注釋idIDNumber10NO主鍵name用戶(hù)名Varchar220NOpassword密碼String20NO表4.3信息發(fā)布表字段名稱(chēng)字段含義數(shù)據(jù)類(lèi)型長(zhǎng)度NULL注釋idIDNumber10NO主鍵title用戶(hù)名Varchar250NOcontent密碼Varchar22000NOdatetime發(fā)布時(shí)間Timestamp6NOimagepath圖片路徑Varchar230NOmanager_id發(fā)布者Number10YES表4.4飲食表字段名稱(chēng)字段含義數(shù)據(jù)類(lèi)型長(zhǎng)度NULL注釋idIDNumber10NO主鍵name食物名Float20NOheat熱量Float126YEScarbohydrate碳水化合物Float126YESfat脂肪Float126YESfiber纖維素Float126YESprotein蛋白質(zhì)Float126YEStype類(lèi)型Number10NO表4.5生活日志表字段名稱(chēng)字段含義數(shù)據(jù)類(lèi)型長(zhǎng)度NULL注釋datetimeIDVarchar220NO主鍵text日志Varchar22000YESsleephour睡眠Float126YESmood心情Varchar2255YEScigrette抽煙Number10YESweight體重Float126YESpressure壓力Varchar2255YESbphigh高壓Float126YESbplow低壓Float126YESbs心率Float126YESteacher_id教師號(hào)Number10YES表4.6飲食規(guī)劃表字段名稱(chēng)字段含義數(shù)據(jù)類(lèi)型長(zhǎng)度NULL注釋dairy_id日志IDVarchar220NO主鍵food_id食物IDNumber10NO主鍵表4.7體檢數(shù)據(jù)表字段名稱(chēng)字段含義數(shù)據(jù)類(lèi)型長(zhǎng)度NULL注釋idIDNumber10NO主鍵datetime體檢時(shí)間Varchar26NOsbp收縮壓Float255YESdbp舒張壓Float255YESbmi體重指數(shù)Float255YESwhr腰臀比Float255YESbun膽固醇Float255YESua尿素Float255YEScrea尿酸Float255YEStg肌酐Float255YESchol甘油三酯Float255YESglu葡萄糖Float255YEShcy同型半膀胱氨酸Float255YESm_alb微量白蛋白Float255YESm_alb_crea微量白蛋白/尿肌酐Float255YESteacher_id教師IDNumber10YES表4.8用戶(hù)表字段名稱(chēng)字段含義數(shù)據(jù)類(lèi)型長(zhǎng)度NULL注釋idIDNumber10NO主鍵name教師名Varchar220NOpassword密碼Varchar220NOage年齡Number10NOsex性別Varchar210NOemail郵箱Varchar230NOquestion找回密碼問(wèn)題Varchar250NOanswer找回密碼答案Varchar250NOphone電話(huà)Varchar211NOrealname真實(shí)名字Varchar220NO4.4信息安全設(shè)計(jì)網(wǎng)絡(luò)高度開(kāi)放,使得全球的個(gè)人或組織都可以接觸到網(wǎng)絡(luò)資源,結(jié)果就是網(wǎng)絡(luò)可能遭受各種形式的破壞和攻擊,包括針對(duì)軟硬件環(huán)境的攻擊。網(wǎng)絡(luò)的全球性質(zhì)意味著,攻擊可能來(lái)自任何聯(lián)網(wǎng)機(jī)器,皆可從世界任何地方發(fā)起,在這樣的情況下,如何保護(hù)個(gè)人信息避免被黑客和病毒侵入,已成為了信息安全健康發(fā)展的重要考量之一。對(duì)于健康管理平臺(tái),用戶(hù)個(gè)人信息的安全至關(guān)重要,因此制定并實(shí)施有效的安全策略和防護(hù)措施非常必要。整體的系統(tǒng)安全架構(gòu)可以歸結(jié)為以下組成部分,如圖4.4所示。環(huán)境安全環(huán)境安全物理安全物理安全網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全主機(jī)系統(tǒng)安全人員管理安全主機(jī)系統(tǒng)安全人員管理安全操作安全規(guī)則安全策略圖4.4系統(tǒng)的安全體系結(jié)構(gòu)4.4.1網(wǎng)絡(luò)安全JSP技術(shù)雖具有一定的安全性,但安全問(wèn)題依然存在。服務(wù)器軟件開(kāi)發(fā)商在內(nèi)部測(cè)試時(shí)難以發(fā)現(xiàn)系統(tǒng)的所有缺陷。即便軟件發(fā)布后,已識(shí)別的漏洞僅是冰山一角。隨著時(shí)間的推移,新的安全隱患將持續(xù)浮現(xiàn),因此我們需要保持高度警覺(jué)。為了加強(qiáng)安全防護(hù),應(yīng)確保服務(wù)器操作系統(tǒng)及時(shí)更新補(bǔ)丁,配置安全權(quán)限,安裝防火墻和殺毒軟件,并定期備份數(shù)據(jù)。4.4.2其他安全環(huán)境安全是系統(tǒng)安全的根本,我們需要選擇適宜的設(shè)備位置以降低信息泄漏的風(fēng)險(xiǎn),全面考慮到水患、其他自然災(zāi)害、確保機(jī)房處于安全的運(yùn)行環(huán)境也是十分重要的。第五章詳細(xì)設(shè)計(jì)5.1系統(tǒng)流程圖在計(jì)算教師所需標(biāo)準(zhǔn)熱量值得流程圖,如圖5.1所示:判斷性別判斷性別[No][No]女男女男[Yes][Yes]判斷年齡判斷年齡判斷年齡判斷年齡18<age<3031<age<60age>6018<age<3031<age<60age>6010.4*體重+6008.6*體重+83014.6*體重+45013.4*體重+49011.5*體重+83015.2*體重+68010.4*體重+6008.6*體重+83014.6*體重+45013.4*體重+49011.5*體重+83015.2*體重+680圖5.1計(jì)算熱量值流程圖5.2前臺(tái)功能設(shè)計(jì)5.2.1前臺(tái)主頁(yè)面設(shè)計(jì)主頁(yè)面的核心功能包括:教師登錄和注冊(cè),后臺(tái)接口入口,四大主要功能項(xiàng)的入口和簡(jiǎn)述,健康相關(guān)新聞的呈現(xiàn),學(xué)校環(huán)境的動(dòng)態(tài)展示,以及相關(guān)部門(mén)網(wǎng)站鏈接。在執(zhí)行登錄操作時(shí),采用了DWR異步刷新技術(shù)。具體頁(yè)面布局可以參見(jiàn)下圖:圖5.2健康管理平臺(tái)主界面核心代碼:
public
String
jiuyelist(){
HttpServletRequest
request=ServletActionContext.getRequest();
String
truename=request.getParameter("truename");
String
jiuyefenbu=request.getParameter("jiuyefenbu");
String
xingbie=request.getParameter("xingbie");
String
congshihangye=request.getParameter("congshihangye");
String
zhuanye=request.getParameter("zhuanye");
StringBuffer
sb=new
StringBuffer();
sb.append("where");
StringBuffer
sb2=new
StringBuffer();
sb2.append("where");
if(truename!=null&&!"".equals(truename)){
sb.append("user.truename
like'%"+truename+"%'");
sb.append("and");
sb2.append("user.truename
like'%"+truename+"%'");
sb2.append("and");
request.setAttribute("truename",truename);
}
if(jiuyefenbu!=null&&!"".equals(jiuyefenbu)){
sb.append("jiuyefenbu
like'%"+jiuyefenbu+"%'");
sb.append("and");
sb2.append("jiuyefenbu
like'%"+jiuyefenbu+"%'");
sb2.append("and");
request.setAttribute("jiuyefenbu",jiuyefenbu);
}
if(xingbie!=null&&!"".equals(xingbie)){
sb.append("xingbie
like'%"+xingbie+"%'");
sb.append("and");
sb2.append("xingbie
like'%"+xingbie+"%'");
sb2.append("and");
request.setAttribute("xingbie",xingbie);
}
if(congshihangye!=null&&!"".equals(congshihangye)){
sb.append("congshihangye
like'%"+congshihangye+"%'");
sb.append("and");
sb2.append("congshihangye
like'%"+congshihangye+"%'");
sb2.append("and");
request.setAttribute("congshihangye",congshihangye);
}
if(zhuanye!=null&&!"".equals(zhuanye)){
sb.append("user.zhuanye
like'%"+zhuanye+"%'");
sb.append("and");
sb2.append("user.zhuanye
like'%"+zhuanye+"%'");
sb2.append("and");
request.setAttribute("zhuanye",zhuanye);
}
HttpSession
session=request.getSession();
User
user=(User)session.getAttribute("user");
if("admin".equals(user.getUsername())){
sb.append("1=1
order
by
id
desc");
sb2.append("1=1");
}else{
sb.append("laoshi.id="+user.getId()+"order
by
id
desc");
sb2.append("laoshi.id="+user.getId());
}
String
where=sb.toString();
String
where2=sb2.toString();
int
currentpage=1;
int
pagesize=10;
if(request.getParameter("pagenum")!=null){
currentpage=Integer.parseInt(request.getParameter("pagenum"));
}
int
total=jiuyeDao.selectBeanCount(where2);
request.setAttribute("list",jiuyeDao.selectBeanList((current1)*pagesize,pagesize,where));
request.setAttribute("pagerinfo",Pager.getPagerNormal(total,pagesize,
currentpage,"method!jiuyelist","共有"+total+"條記錄"));
request.setAttribute("url","method!jiuyelist");
this.setUrl("jiuye/jiuyelist.jsp");
return
SUCCESS;
}
5.2.2教師飲食管理功能設(shè)計(jì)在教師飲食管理功能中,通過(guò)考慮教師的身高、體重、年齡、性別以及活動(dòng)水平來(lái)推算其每日必需的熱量,并據(jù)此提供一周的建議菜譜。所用到的計(jì)量表達(dá)式主要基于人體的基礎(chǔ)代謝所需的基本熱量(REE)的精準(zhǔn)計(jì)算公式,詳細(xì)公式如表5.1所示。表5.1基本熱量精確算法表女子18-30歲14.6x體重(公斤)+45031-60歲8.6x體重(公斤)+83060歲以上10.4x體重(公斤)+600男子18-30歲15.2x體重(公斤)+68031-60歲11.5x體重(公斤)+8360歲以上13.4x體重(公斤)+490每天所需的熱量=REE×活動(dòng)系數(shù)=(大卡)表5.2活動(dòng)系數(shù)表活動(dòng)內(nèi)容活動(dòng)系數(shù)臥床(全天)1.2輕活動(dòng)生活模式(多坐或緩步)1.3一般活動(dòng)度1.5-1.75活動(dòng)量大的生活模式2.0該功能具體界面如圖5.3所示:圖5.3教師飲食管理功能界面5.2.3教師健康日志功能設(shè)計(jì)用戶(hù)可以記錄自己的健康數(shù)據(jù),包括每日睡眠質(zhì)量、飲酒和吸煙習(xí)慣、血壓和體重變化,以及心情狀態(tài)。同時(shí),允許用戶(hù)輸入當(dāng)天的飲食情況,以便維護(hù)健康日記。這一功能通過(guò)使用kindeditor文本編輯器實(shí)現(xiàn),具體界面展示見(jiàn)下圖圖5.4健康日志功能界面5.2.4教師體檢管理功能設(shè)計(jì)后臺(tái)校醫(yī)院可以上傳體檢報(bào)告,教師可以通過(guò)該平臺(tái)查看各次體檢結(jié)果,并且利用Highcharts描繪出某些體檢項(xiàng)目如血壓,血糖等隨時(shí)間波動(dòng)的趨勢(shì)圖。體檢管理功能的具體界面視圖參見(jiàn)圖5.5。圖5.5教師體檢管理功能界面5.2.5疾病預(yù)測(cè)評(píng)估功能設(shè)計(jì)主要針對(duì)高血壓與糖尿病這兩種病癥,通過(guò)用戶(hù)的健康檢查數(shù)據(jù)以及近十年同類(lèi)病患的數(shù)據(jù)庫(kù)資料,我們能夠識(shí)別出引發(fā)這兩種疾病的關(guān)鍵風(fēng)險(xiǎn)因素?;跀?shù)學(xué)的線性回歸理論,我們構(gòu)建了一個(gè)預(yù)測(cè)模型。在未來(lái)的健康檢查中,體檢者可以通過(guò)輸入相關(guān)的健康數(shù)據(jù),通過(guò)我們的預(yù)測(cè)模型模擬計(jì)算出他們得病的可能性,如圖5.6所示。圖5.6疾病預(yù)測(cè)模型圖疾病預(yù)測(cè)評(píng)估界面具體如圖5.7所示:圖5.7疾病預(yù)測(cè)功能界面5.2.6注冊(cè)功能設(shè)計(jì)新用戶(hù)可以根據(jù)指示完成注冊(cè),確保所提供的信息是有效的。具體的注冊(cè)界面展示如圖5.8。圖5.8注冊(cè)功能界面5.3后臺(tái)功能設(shè)計(jì)5.3.1管理員登錄功能管理員使用用戶(hù)名密碼登陸系統(tǒng),界面如圖5.9所示:圖5.9管理員后臺(tái)登錄界面管理員登陸后臺(tái)顯示后臺(tái)主要功能:圖5.10后臺(tái)歡迎界面5.3.2管理管理員功能主要的管理員管理包括查詢(xún)、添加和刪除功能。如圖所示:圖5.11管理員查詢(xún)及刪除界面添加管理員如圖5.12所示:圖5.12管理員添加界面5.3.3管理員管理體檢結(jié)果管理系統(tǒng)可呈現(xiàn)所有教師的健康檢查結(jié)果,并有權(quán)刪除無(wú)關(guān)的記錄。結(jié)果以分頁(yè)形式展示,每一頁(yè)默認(rèn)展示10條信息。圖5.13詳細(xì)展示了結(jié)果顯示和刪除的具體界面。核心代碼:
public
String
zhiweilist(){
HttpServletRequest
request=ServletActionContext.getRequest();
String
zhiweimingchen=request.getParameter("zhiweimingchen");
String
zhiweileibie=request.getParameter("zhiweileibie");
StringBuffer
sb=new
StringBuffer();
sb.append("where");
StringBuffer
sb2=new
StringBuffer();
sb2.append("where");
if(zhiweimingchen!=null&&!"".equals(zhiweimingchen)){
sb.append("zhiweimingchen
like'%"+zhiweimingchen+"%'");
sb.append("and");
sb2.append("zhiweimingchen
like'%"+zhiweimingchen+"%'");
sb2.append("and");
request.setAttribute("zhiweimingchen",zhiweimingchen);
}
if(zhiweileibie!=null&&!"".equals(zhiweileibie)){
sb.append("zhiweileibie
like'%"+zhiweileibie+"%'");
sb.append("and");
sb2.append("zhiweileibie
like'%"+zhiweileibie+"%'");
sb2.append("and");
request.setAttribute("zhiweileibie",zhiweileibie);
}
HttpSession
session=request.getSession();
User
user=(User)session.getAttribute("user");
sb.append("zhiweilock=0
and
zhiweifaburen.id="+user.getId()+"order
by
id
desc");
String
where=sb.toString();
sb2.append("zhiweilock=0
and
zhiweifaburen.id="+user.getId());
String
where2=sb2.toString();
int
currentpage=1;
int
pagesize=10;
if(request.getParameter("pagenum")!=null){
currentpage=Integer.parseInt(request.getParameter("pagenum"));
}
int
total=zhiweiDao.selectBeanCount(where2);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026中國(guó)科學(xué)院科技戰(zhàn)略咨詢(xún)研究科技發(fā)展戰(zhàn)略研究所特別研究助理(博士后)招聘1人考試參考題庫(kù)及答案解析
- 2026內(nèi)蒙古赤峰市寧城縣八里罕中學(xué)招聘公益性崗位人員1人筆試備考題庫(kù)及答案解析
- 2026廣西河池市羅城仫佬族自治縣農(nóng)業(yè)農(nóng)村局招聘就業(yè)見(jiàn)習(xí)人員3人考試參考試題及答案解析
- 醫(yī)用生物化學(xué)檢測(cè)與分析儀器:精準(zhǔn)診斷的核心支撐體系全面解析
- 2026年金華市青少年宮公開(kāi)招聘外聘(兼職)教師33人筆試備考試題及答案解析
- 2026重慶某國(guó)有企業(yè)員工招聘2人考試參考題庫(kù)及答案解析
- 2026年甘肅蘭州永登縣婦幼保健院招聘筆試備考題庫(kù)及答案解析
- 2026南昌市南鋼學(xué)校教育集團(tuán)勞務(wù)派遣教師招聘考試備考題庫(kù)及答案解析
- 2026湖南懷化市溆浦縣社會(huì)保險(xiǎn)服務(wù)中心公益性崗位招聘2人考試備考試題及答案解析
- 大連市西崗區(qū)2026年教育系統(tǒng)自主招聘應(yīng)屆畢業(yè)生備考題庫(kù)有答案詳解
- 2026年數(shù)據(jù)管理局考試題庫(kù)及實(shí)戰(zhàn)解答
- 2024年集美大學(xué)馬克思主義基本原理概論期末考試筆試真題匯編
- 2025年上海師范大學(xué)馬克思主義基本原理概論期末考試筆試真題匯編
- 2026國(guó)家電投秋招面試題及答案
- 智啟萬(wàn)物:全球AI應(yīng)用平臺(tái)市場(chǎng)全景圖與趨勢(shì)洞察報(bào)告
- 2025年高職植物保護(hù)(植物檢疫技術(shù))試題及答案
- 數(shù)字化背景下幼兒園教育評(píng)價(jià)反饋策略與實(shí)施路徑研究教學(xué)研究課題報(bào)告
- 2026年中國(guó)科學(xué)院心理研究所國(guó)民心理健康評(píng)估發(fā)展中心招聘?jìng)淇碱}庫(kù)及答案詳解(新)
- 全身麻醉后惡心嘔吐的預(yù)防與護(hù)理
- 艾滋病初篩實(shí)驗(yàn)室標(biāo)準(zhǔn)
- 藥物相互作用與不良反應(yīng)預(yù)防解析講座
評(píng)論
0/150
提交評(píng)論