畢業(yè)論文-基于bs結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
畢業(yè)論文-基于bs結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
畢業(yè)論文-基于bs結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
畢業(yè)論文-基于bs結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
畢業(yè)論文-基于bs結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(2015屆)題目基于B/S結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)學(xué)院數(shù)學(xué)計算機學(xué)院專業(yè)計算機科學(xué)與技術(shù)年級2011級學(xué)生學(xué)號學(xué)生姓名指導(dǎo)教師2015年5月8日基于B/S結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)摘要在傳統(tǒng)的醫(yī)院掛號過程中,信息處理停留在手工方式,勞動強度大且工作效率低,有的病人排很長時間的隊也不一定能掛上自己滿意的號,而用網(wǎng)上預(yù)約的方式,使病人不用出門就可以掛到自己想要的號本系統(tǒng)采用的是基于廣域網(wǎng)的B/S結(jié)構(gòu)平臺,網(wǎng)頁采用的是JSP技術(shù),它擁有卓越的系統(tǒng)可移植性,加上MYSQL數(shù)據(jù)庫強大的后臺數(shù)據(jù)支持,可以很好的實現(xiàn)系統(tǒng)的功能本文主要介紹了醫(yī)院網(wǎng)上掛號系統(tǒng)的設(shè)計與實現(xiàn),對所用到的技術(shù)也做了一定的介紹關(guān)鍵字醫(yī)院;網(wǎng)上掛號;JSP;MYSQL中圖分類號TP3111THEDESIGNANDTHEIMPLEMENTATIONOFTHEBOOKINGSYSTEMOFTHEONLINEHOSPITALREGISTRATIONBASEDONTHEB/SSTRUCTUREABSTRACTINTHETRADITIONALHOSPITALPROCESS,THEMANUALINFORMATIONPROCESSINGREMAINLABORINTERSIVEANDLOWEFFICIENCY,SOMEPATIENTSSTOODINLINEFORALONGTIMEALSOTOCANNOTHANGTHEMSELVESBYUSINGTHEMETHODOFONLINEBOOKING,THEPATIENTNEEDNOTTOGOOUTWHILEUSETHESYSTEMISDESIGNEDASB/SSTRUCTUREBASEDONTHEWIDEAREANETWORK,JSPTECHNICSFORITHASEXCELLENTPORTABILITY,COUPLEDWITHASTRONGBACKGROUNDMYSQLDATABASEDATASUPPORT,ITCANREALIZETHEFUNCTIONOFTHESYSTEMVERYWELLTHISARTICLEMAINLYINTRODUCESTHEDESIGNANDIMPLEMENTATIONOFHOSPITALONLINEREGISTRATIONSYSTEM,ANDONTHEUSEOFTECHNOLOGYASWELLKEYWORDSHOSPITALONLINEREGISTRATIONJSP;MYSQL目錄1緒論111課題背景及研究意義112國內(nèi)外研究現(xiàn)狀213系統(tǒng)簡介2131系統(tǒng)解決的主要問題2132系統(tǒng)的特點32開發(fā)環(huán)境及開發(fā)技術(shù)521B/S架構(gòu)522MVC設(shè)計模式5221MVC設(shè)計模式簡介5222MVC設(shè)計模式的優(yōu)缺點623JAVAEE架構(gòu)7231JAVAEE簡介7232JAVAEE的優(yōu)勢724AJAX技術(shù)8241AJAX的優(yōu)點825數(shù)據(jù)庫MYSQL93系統(tǒng)設(shè)計1131需求模型的建立11311用例分析1132基本模型的建立13321系統(tǒng)中的類的設(shè)計13322類圖分析1333輔助模型15331活動圖15332順序圖1634ER圖1735數(shù)據(jù)庫設(shè)計194系統(tǒng)實現(xiàn)2241系統(tǒng)首頁的實現(xiàn)2242登錄功能實現(xiàn)2242用戶功能的實現(xiàn)23421用戶注冊功能的實現(xiàn)23422用戶查詢醫(yī)生功能的實現(xiàn)25423預(yù)約模塊的實現(xiàn)2543管理員模塊的實現(xiàn)26431醫(yī)生管理分頁的實現(xiàn)26432增加醫(yī)生模塊的實現(xiàn)28433掛號信息管理模塊的實現(xiàn)295總結(jié)30參考文獻32致謝33基于B/S結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)1緒論11課題背景及研究意義隨著經(jīng)濟與科學(xué)技術(shù)的高速發(fā)展,信息化的進程不斷加快隨著計算機性能不斷提高,價格不斷下降,計算機已在醫(yī)院醫(yī)療,教學(xué),科研,管理的各個方面得到越來越廣泛的應(yīng)用1然而,我國還有部分醫(yī)院的信息處理停留在手工方式,勞動強度大且工作效率低,醫(yī)師護士和管理人員的大量時間都消耗在事務(wù)性工作上,病人排隊等候時間長,輾轉(zhuǎn)過程多,影響了醫(yī)療的秩序計算機化的醫(yī)院信息系統(tǒng)已成為現(xiàn)代化醫(yī)院運營必不可少的基礎(chǔ)設(shè)施與技術(shù)支撐環(huán)境門診掛號系統(tǒng)是整個醫(yī)院管理信息系統(tǒng)的第一個窗口,是病人到醫(yī)院就診要做的第一項工作它用于收集病人的信息,協(xié)調(diào)科室醫(yī)生管理,控制各科室的流量等等醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)是一種基于互聯(lián)網(wǎng)的新型掛號系統(tǒng),是衛(wèi)生信息化建設(shè)的基礎(chǔ)的項目之一2利用該預(yù)約掛號系統(tǒng),用戶就可以在網(wǎng)上預(yù)約醫(yī)院的專家、??铺枺鵁o須再受排隊之苦它能更好的改善就醫(yī)環(huán)境,簡化就醫(yī)環(huán)節(jié),節(jié)約就醫(yī)時間,真正體現(xiàn)了以病人為中心,一切從方便患者出發(fā),符合當今醫(yī)院人性化溫馨服務(wù)的理念目前,門診一直是困擾醫(yī)院提高服務(wù)質(zhì)量的一個復(fù)雜環(huán)節(jié),特別是醫(yī)療水平高、門診量大的醫(yī)院,而造成門診質(zhì)量難以提高的因素主要有兩方面一方面集中式掛號現(xiàn)在流行的分層掛號只是相對而言一個范圍較小的集中式掛號,就診人員流量不均、具有不確定性,有明顯的就診高峰和低谷表現(xiàn)在整個醫(yī)院不同門診時間段及同科室的不同時間段高峰期病人掛號排隊長,就診時間長,醫(yī)生熟人插號現(xiàn)象,環(huán)境擁擠混亂,醫(yī)生問診時間短、不仔細、態(tài)度差而低谷期,醫(yī)生無病人看、溜號,醫(yī)院資源浪費另一方面專家號特別是名專家號難掛,出現(xiàn)倒號、炒號現(xiàn)象,嚴重損害病人利益,影響到醫(yī)院的聲譽而采用網(wǎng)上預(yù)約掛號,可有效的解決這一現(xiàn)象,還通過有效的身份驗證,杜絕倒、炒專家號的現(xiàn)象,提高醫(yī)院門診服務(wù)質(zhì)量,取得良好的社會效益和經(jīng)濟效益此外,病人到醫(yī)院就診前對醫(yī)院的相關(guān)信息了解不多,對所要掛的??漆t(yī)生的情況又不太了解,只能憑經(jīng)驗和印象進行選擇,具有較大的盲目性而當醫(yī)院開通網(wǎng)上掛號預(yù)約服務(wù)以后,求醫(yī)者只需坐在家中,輕點兒下鼠標,就可以掛上醫(yī)院專家門診號,可以做到“足不出戶選醫(yī)生”網(wǎng)上預(yù)約正悄然改變著都市求醫(yī)者的看病觀念擁有相對固定的個人醫(yī)生和習(xí)慣,預(yù)約看病,將不再遙遠,所以應(yīng)用必將越來越廣泛312國內(nèi)外研究現(xiàn)狀隨著互聯(lián)網(wǎng)絡(luò)的迅猛發(fā)展,INTERNET用戶已呈幾何級數(shù)增長,目前已經(jīng)有很多醫(yī)院投入使用網(wǎng)上掛號系統(tǒng)據(jù)了解,預(yù)約掛號在國外頗為普及在西方國家,病人看病都需要事先進行預(yù)約隨著預(yù)約掛號的深入推廣,國內(nèi)越來越多的醫(yī)院也意識到預(yù)約服務(wù)在節(jié)約看病時間、分流患者、減輕醫(yī)院壓力上的作用4據(jù)了解,盡管存在很多困難,但全國各地的醫(yī)院在嘗試預(yù)約掛號的實踐中還是提供了很多有益的做法在中國傳統(tǒng)的醫(yī)院門診掛號是即時掛號、即時就診門診模式的但是這種就診的模式給患者帶來許多不便1掛號時間長、候診時間長、交費時間長、看病時問短據(jù)統(tǒng)計,患者在門診有60以上的時間都是用來等候的,真正就診的時間卻很短這樣就給病人及家屬帶來了眾多的不便而在歐美國家,患者看病一般都需要預(yù)約掛號除非急診,很少有人直接到醫(yī)院找醫(yī)生的沒有提前24小時的電話預(yù)約,醫(yī)院一般也不會接診一些醫(yī)院設(shè)立的預(yù)約掛號部門,一般都由經(jīng)驗豐富的醫(yī)生、護士擔任接線員,以便根據(jù)患者自訴癥狀建議應(yīng)掛科室,推薦專家也有部分的醫(yī)院可以同時通過網(wǎng)站預(yù)約的5隨著網(wǎng)絡(luò)功能及宣傳手段不斷優(yōu)化和人民群眾觀念的不斷更新,網(wǎng)上預(yù)約掛號前景無疑是可觀的按現(xiàn)在的中國門診預(yù)約就診患者的年齡及受教育程度和使用網(wǎng)絡(luò)資源程度的情況分析來看,各種預(yù)約方式和諧并存著才能滿足不用類型的患者的需求網(wǎng)上預(yù)約掛號的實施剛起步不久,預(yù)約掛號系統(tǒng)的不斷改善優(yōu)化還是一個循序漸進的過程,要先向更好地為習(xí)慣使用這一資源的患者服務(wù)的目標進發(fā)13系統(tǒng)簡介131系統(tǒng)解決的主要問題病人去醫(yī)院就醫(yī)首先要到掛號窗口進行掛號,病人獲得有效醫(yī)療服務(wù)最重要的保證就是能夠掛到一個滿意的號目前病人掛號難已成為全國各個醫(yī)院的首要問題,但是一直沒有能夠徹底解決醫(yī)院門診掛號一直是大中型醫(yī)院提高服務(wù)質(zhì)量的關(guān)鍵環(huán)節(jié),特別是門診量較大、人口密度高、醫(yī)療設(shè)備先進、技術(shù)先進的綜合型大醫(yī)院,門診掛號秩序混亂一直是普遍存在的現(xiàn)象就上述問題著重分析了已下三個方面的問題61針對病人掛號集中的問題針對病人掛號集中、就診人員流量變化大、不確定性明顯等問題進行分析很多醫(yī)院高峰期病人必須排長隊掛號,就診需要等待的時間較長,更是有個別醫(yī)生熟人肆意插號的現(xiàn)象,使得掛號秩序更加混亂;還有掛號醫(yī)生多的時候,醫(yī)生由于時間有限,導(dǎo)致醫(yī)生詢問病情不仔細,病人就診時間短,有時發(fā)生接待病人態(tài)度差等現(xiàn)象采用網(wǎng)上掛號能很好的解決這些問題,病人在網(wǎng)上預(yù)約好時間,到時間過去就行,不用等待很長時間排隊;每個病人就診時間經(jīng)過合理分配,使醫(yī)生可以詳細了解病人病情并進行診斷2針對專家號一號難求的問題一般專家一天最多能看2030個患者,而一些患者為了獲得寶貴的就診號需要排上幾個小時的隊,也導(dǎo)致了“炒號”、“倒號”等不良現(xiàn)象的產(chǎn)生,損害了患者的經(jīng)濟利益,耽誤了患者的就診時間,甚至影響了醫(yī)院的就診質(zhì)量和聲譽網(wǎng)上掛號因為采用的是實名認證的方式進行的注冊,每個身份證號只能注冊一次,而且本人掛號只能本人就診,杜絕了“炒號”、“倒號”等現(xiàn)象的發(fā)生,做到了相對的公平3醫(yī)院網(wǎng)上預(yù)約掛號的設(shè)計本文研究的基于WEB服務(wù)的預(yù)約掛號系統(tǒng)可以有效的解決掛號難的問題患者不必去醫(yī)院,只需坐在電腦前,通過瀏覽掛號系統(tǒng)網(wǎng)頁,就能選擇適合自己病情的醫(yī)生進行掛號不僅能大大減少患者的排隊時間,還能緩解醫(yī)院就診掛號高峰期的擁擠,利用網(wǎng)絡(luò)巨大的資源和空間,盡量為病人提供更優(yōu)質(zhì)的服務(wù)132系統(tǒng)的特點1系統(tǒng)功能的方便性使用醫(yī)院網(wǎng)上掛號系統(tǒng)可以在任意地方登錄網(wǎng)站進行掛號,也可以根據(jù)自己的狀況選擇合適自己病情的科室、專家及合適的就診時間等,最后醫(yī)院完成確認,以完成患者的預(yù)約掛號該系統(tǒng)操作十分方便、省事2系統(tǒng)功能的實效性病人患病后都希望早日到醫(yī)院就診治療,以解除病痛的困擾正常情況去門診掛號是帶醫(yī)院完成的第一件事,掛上號之后再去門診進行就醫(yī)對于醫(yī)療技術(shù)較高的大中型醫(yī)院來說,患者掛號總是需要排長隊,有時排長時間的對也不一定能掛上號網(wǎng)上預(yù)約掛號系統(tǒng)為用戶提供了省時省力且實效的服務(wù),為患者解決了掛號難的問題3系統(tǒng)資源信息的共享性計算機網(wǎng)絡(luò)的應(yīng)用及信息共享之后,醫(yī)院相關(guān)負責人員就可以把計劃好的醫(yī)生出診信息及時發(fā)布到相關(guān)網(wǎng)站,患者及家屬只需在家里的電腦上網(wǎng)就可以了解醫(yī)院的掛號信息,因此,可以說計算機系統(tǒng)資源的共享性為醫(yī)院掛號工作奠定了基礎(chǔ),為醫(yī)院信息管理系統(tǒng)提供了方便使用的技術(shù)通過計算機網(wǎng)絡(luò)可以再最短的時間內(nèi)把醫(yī)生出診信息及臨時變化情況公布出來,在網(wǎng)上供患者和社會用戶參考,避免了他們到醫(yī)院就診的盲目性4系統(tǒng)功能的適用性大醫(yī)院的門診大廳一般都是擁擠這等候掛號的人們,有的排隊一夜甚至幾天這是真實的掛號情況,也是我國眾多患病人群與現(xiàn)今有限的衛(wèi)生醫(yī)療服務(wù)機構(gòu)之間的矛盾的具體體現(xiàn)醫(yī)療衛(wèi)生部門管理者必須首要考慮這些問題網(wǎng)絡(luò)預(yù)約掛號不僅減輕了患者和家人的麻煩,也在一定程度上緩解并改善了掛號窗口的緊張局面2開發(fā)環(huán)境及開發(fā)技術(shù)醫(yī)院網(wǎng)上掛號系統(tǒng)是以SERVLET框架為主要的技術(shù)框架,以JSP技術(shù)為客戶端的主要顯示技術(shù),以MYSQL數(shù)據(jù)庫作為系統(tǒng)的數(shù)據(jù)存儲單元下面我們來介紹下本系統(tǒng)的開發(fā)環(huán)境以及開發(fā)中所用到的相關(guān)技術(shù)21B/S架構(gòu)本系統(tǒng)采用的是B/S架構(gòu),及瀏覽器和服務(wù)器結(jié)構(gòu),示意圖如圖21所示瀏覽器顯示出用戶操作界面,接收用戶在頁面上輸入的各種操作信息,在接到提交命令后向服務(wù)器發(fā)出請求,并接收由服務(wù)器返回的數(shù)據(jù)結(jié)果,然后向用戶展示相應(yīng)的信息服務(wù)器端在這里的角色就如同橋梁,用來連接用戶瀏覽器與數(shù)據(jù)庫,將所需要的數(shù)據(jù)信息進行分析傳輸7對于醫(yī)院網(wǎng)上掛號系統(tǒng)來說,采用B/S架構(gòu)的系統(tǒng)所有的客戶端都是瀏覽器,不需要對它做任何維護絕大部分事務(wù)邏輯都是由服務(wù)器端來進行處理,然后在通過用戶的瀏覽器實現(xiàn),在客戶端也就是前端界面只是有少量的邏輯需要處理系統(tǒng)管理人員只需要做硬件維護,降低了系統(tǒng)管理人員工作量,提高了其工作效率系統(tǒng)架構(gòu)如圖21所示圖21系統(tǒng)架構(gòu)22MVC設(shè)計模式221MVC設(shè)計模式簡介MVC由TRYGVEREENSKAUG提出,首先被應(yīng)用在SMALLTALK80環(huán)境中,使許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ),MICROSOFT的MFC基礎(chǔ)類也遵循了MVC的思想8對于界面設(shè)計可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制三種部件模型部件是軟件所處理問題邏輯在獨立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,數(shù)據(jù)庫JDBC返回結(jié)果集TOMCAT發(fā)出操作請求返回查詢結(jié)果瀏覽器封裝了問題的核心數(shù)據(jù)、邏輯和功能的計算關(guān)系,他獨立于具體的界面表達和I/O操作視圖部件把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶它從模型獲得顯示信息,對于相同的信息可以有多個不同的顯示形式或視圖控制部件是處理用戶與軟件的交互操作的,其職責是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進而實現(xiàn)對模型的計算控制,是使模型和視圖協(xié)調(diào)工作的部件通常一個視圖具有一個控制器模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新這實際上是一種模型的變化傳播機制222MVC設(shè)計模式的優(yōu)缺點MVC的優(yōu)點表現(xiàn)在以下幾個方面91可以為一個模型在運行時同時建立和使用多個視圖變化傳播機制可以確保所有相關(guān)的視圖及時得到模型數(shù)據(jù)變化,從而使所有關(guān)聯(lián)的視圖和控制器做到行為同步2視圖與控制器的可接插性,允許更換視圖和控制器對象,而且可以根據(jù)需求動態(tài)的打開或關(guān)閉、甚至在運行期間進行對象替換3模型的可移植性因為模型是獨立于視圖的,所以可以把一個模型獨立地移植到新的平臺工作需要做的只是在新平臺上對視圖和控制器進行新的修改4潛在的框架結(jié)構(gòu)可以基于此模型建立應(yīng)用程序框架,不僅僅是用在設(shè)計界面的設(shè)計中MVC的缺點表現(xiàn)在以下幾個方面1增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性對于簡單的界面,嚴格遵循MVC,使模型、視圖與控制器分離,會增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過多的更新操作,降低運行效率2視圖與控制器間的過于緊密的連接視圖與控制器是相互分離,但確實聯(lián)系緊密的部件,視圖沒有控制器的存在,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用3視圖對模型數(shù)據(jù)的低效率訪問依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)對未變化數(shù)據(jù)的不必要的頻繁訪問,也將損害操作性能4目前,一般高級的界面工具或構(gòu)造器不支持MVC模式改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價是很高的,從而造成使用MVC的困難23JAVAEE架構(gòu)231JAVAEE簡介J2EE的基礎(chǔ)部分是由JSPJAVASERVERPAGE和JAVASERVLET這兩種技術(shù)共同構(gòu)成其定義了一套有用的API、一個運行時平臺、應(yīng)用程序接口和一個內(nèi)置模型,并能夠?qū)⑵渌泄δ芙M合成一個可擴展的、可移植的和設(shè)計得更好的應(yīng)用程序10J2EE平臺支持簡化的、基于組件開發(fā)模型我們將組件技術(shù)加以利用,就可以把程序分割成許多小模塊以適應(yīng)不同程序員擅長的技術(shù),使開發(fā)進行分工操作,并行開發(fā)讓開發(fā)人員的技能得到最大限度的應(yīng)用,最大限度的提高開發(fā)的效率由于EJB模型遵循了高內(nèi)聚低耦合的編程理念,使其代碼的可移植性與重用性增強基于組件的設(shè)計簡化了應(yīng)用程序的維護由于組件耦合度低,所以能被獨立地更新和替代,通過應(yīng)用程序中特定的組件被更新,使其很容易將新的功能增加進來,更易于維護以下是J2EE典型的四層結(jié)構(gòu)如圖2211所示圖22J2EE的四層結(jié)構(gòu)圖232JAVAEE的優(yōu)勢JAVAEE平臺平臺對分步式企業(yè)應(yīng)用開發(fā)而言,在保存企業(yè)現(xiàn)有IT資產(chǎn)減少重復(fù)性投入的同時也滿足了未來商業(yè)應(yīng)用的需要,具有以下優(yōu)點1JAVAEE建立了企業(yè)應(yīng)用開發(fā)所需要的一些技術(shù)標準,如企業(yè)業(yè)務(wù)組件EJB等;2JAVAEE自身具備完善的目錄服務(wù)支持、高度的安全機制、高效的性能展現(xiàn)等眾多技術(shù)優(yōu)勢,并且基于開放的標準,可以促進技術(shù)的更好發(fā)展;3JAVAEE為企業(yè)系統(tǒng)提供了完美的機制和統(tǒng)一的平臺,不僅簡化開發(fā)過程,也使得WEB應(yīng)用程序資源利用率更高讓系統(tǒng)具有高可用性、高可擴展性、易維護性;4JAVAEE縮短了產(chǎn)品研發(fā)時間,絕大多數(shù)的供應(yīng)商的產(chǎn)品是根據(jù)JAVAEE標準而開發(fā)的,因此開發(fā)者可以擺脫中間件的困擾而專注于各自業(yè)務(wù)邏輯的應(yīng)用開發(fā);5JAVAEE使用負載平衡策略,使系統(tǒng)軟硬件資源利用率及性能表現(xiàn)最大化,能夠消除系統(tǒng)中的瓶頸,允許多臺服務(wù)器集成部署,實現(xiàn)可高度伸縮的系統(tǒng)24AJAX技術(shù)AJAX的工作原理相當于在用戶和服務(wù)器之間加了一個中間層,使用戶操作與服務(wù)器響應(yīng)異步化在目前的WEB20熱潮中,AJAX正吸引著全世界的眼球,成為人們談?wù)撟疃嗟募夹g(shù)術(shù)語組成AJAX的各種技術(shù)使WEB應(yīng)用的交互如FLICKR,BACKPACK和GOOGLE在這方面已經(jīng)有質(zhì)的飛躍這個術(shù)語源自描述從基于網(wǎng)頁的WEB應(yīng)用到基于數(shù)據(jù)的應(yīng)用的轉(zhuǎn)換它使瀏覽器可以為用戶提供更為自然的瀏覽體驗每當需要更新時,客戶端WEB頁面的修改是異步的和逐步增加的12這樣,匆AJAX在提交WEB頁面內(nèi)容時大大提高了用戶界面的速度在使用AJAX的應(yīng)用程序中沒必要長時間等待整個頁面的刷新頁面中需要更新的那部分才進行修改,如果可能的話,更新是在本地完成的,并且是異步的241AJAX的優(yōu)點相對于傳統(tǒng)的WEB應(yīng)用程序來說,采用AJAX技術(shù)的WEB應(yīng)用程序具有如下的三個優(yōu)點1瀏覽器分擔一部分的業(yè)務(wù)邏輯,而不再是僅僅顯示內(nèi)容在傳統(tǒng)的WEB應(yīng)用程序中,瀏覽器只顯示內(nèi)容它的作用僅僅是顯示服務(wù)器傳送回來的頁面,無法做出自己的判斷,即不參與到整個業(yè)務(wù)邏輯的處理中,也不了解用戶在整個業(yè)務(wù)流程中的狀態(tài)所有的信息和邏輯都是在服務(wù)器進行處理,服務(wù)器決定了一切而使用AJAX,一部分的業(yè)務(wù)邏輯就可以在客戶端實現(xiàn)通過JAVASCRIPT代碼,客戶端可以一直跟蹤用戶在整個業(yè)務(wù)流程中的狀態(tài)當用戶進行操作時它可以相應(yīng)的改變頁面顯示在處理用戶的輸入時可以由它來決定是提交給服務(wù)器處理還是在本地單獨進行處理,或者兩種兼而有之這樣AJAX分擔了一部分的業(yè)務(wù)邏輯,與傳統(tǒng)的WEB應(yīng)用程序的瘦客戶端相比,它實現(xiàn)了一種胖客戶端M,緩解了服務(wù)器端所承擔的壓力,有效的利用了客戶端的資源2服務(wù)器僅僅傳送數(shù)據(jù),而不是內(nèi)容在傳統(tǒng)的WEB應(yīng)用程序中,服務(wù)器向客戶端傳送的東西混合了數(shù)據(jù)、內(nèi)容和模板文件有時用戶僅僅是進行了很少一部分的改動,只需要引起頁面的部分改動,但是如果想和服務(wù)器交互的話,服務(wù)器仍然會將改動的數(shù)據(jù)連同整個頁面全部傳回客戶端而使用AJAX,客戶端只需要向服務(wù)器發(fā)送一個異步請求,服務(wù)器經(jīng)過處理后僅將改變的數(shù)據(jù)返回給客戶端,而并不是將頁面混合數(shù)據(jù)傳回來然后客戶端再根據(jù)傳回的數(shù)據(jù)對頁面實行部分更新或者部分加載它消除了整個頁面的加載,有利于增量修改,而不是完全的更新YS由于服務(wù)器僅僅傳送數(shù)據(jù),這樣使用AJAX可以有效的實現(xiàn)內(nèi)容與數(shù)據(jù)的分離同時服務(wù)器與客戶端之間的通信量大大降低,減少了網(wǎng)絡(luò)流量,有效的利用了網(wǎng)絡(luò)帶寬,緩解了網(wǎng)絡(luò)壓力3與用戶的交互更具有流暢性和連貫性傳統(tǒng)的WEB應(yīng)用程序提供了兩種方式來實現(xiàn)客戶端與服務(wù)器的交互超級鏈接和FORM表單無論使用哪種方式,與服務(wù)器的交互都需要重新刷新整個頁面,用戶在服務(wù)器的返回結(jié)果之前只能等待,整個操作失去了流暢性和連貫性而使用AJAX,由于AJAX與服務(wù)器的交互是異步的,瀏覽器使用不同的線程來偵聽服務(wù)器的響應(yīng)和用戶的其他操作這樣,用戶在向服務(wù)器提交完數(shù)據(jù)后,可以繼續(xù)進行其他的操作,完全沒有停頓的感覺,使整個WEB程序就像使用桌面應(yīng)用程序一樣流暢自如25數(shù)據(jù)庫MYSQLMYSQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MYSQLAB公司開發(fā),目前屬于ORACLE公司13MYSQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MYSQL是最好的RDBMSRELATIONALDATABASEMANAGEMENTSYSTEM關(guān)系數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件之一,MYSQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性,MYSQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言,MYSQL由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇MYSQL作為網(wǎng)站數(shù)據(jù)庫MYSQL數(shù)據(jù)庫的主要特點包括以下幾點1性能出色MYSQL的核心程序采用完全的多線程編程,并且支持多處理器,極大地提高了程序的運行效率因在開發(fā)MYSQL這款數(shù)據(jù)庫的時候運用了C語言作為編程語言,并且運用了多線程,所以它對CPU的充分利用變得更加容易2開源數(shù)據(jù)庫操作方便,使用成本較低,版本更新較快,提供的接口支持多種語言連接操作MYSQL有一個非常靈活而且安全的權(quán)限和口令系統(tǒng)當客戶操作客戶端向服務(wù)器發(fā)出請求與MYSQL服務(wù)器建立連接時,MYSQL與客戶之間所有口令信息的傳送都會得到加密處理,這突出了MYSQL的安全性3多樣性MYSQL能夠根據(jù)不同用戶的需求差異,提供相應(yīng)的用戶界面供其選擇,支持多種程序語言界面還為這些編程語言提供了API可以使用封裝好的客戶端也可以寫一個合適的應(yīng)用程序MYSQL可用于多種操作系統(tǒng)平臺,如UNIX、WINDOWS,也可以使用在PC機和服務(wù)器上3系統(tǒng)設(shè)計31需求模型的建立311用例分析用例是對參與者使用系統(tǒng)的一項功能時所進行的交互過程的描述,其中包含由雙方交替執(zhí)行的一系列動作一個用例是通過使用系統(tǒng)功能的某些部分而使用的一種具體方式,每個用例包括一個由參與者發(fā)動的完整的事件過程14發(fā)現(xiàn)用例的方法是1全面地了解和收集用戶所要求的各項系統(tǒng)功能,確定系統(tǒng)邊界,找出所有的參與者,向用戶和領(lǐng)域?qū)<伊私馀c各項功能有關(guān)業(yè)務(wù)流程2把用戶所提出的功能組織成適當?shù)膯挝?,即一項功能完成一項完整而獨立的工作,并且是通過參與者與系統(tǒng)的一次交互能夠完成的3以窮舉得方式考慮每一類參與者與系統(tǒng)的交互情況,看看每個參與者要求系統(tǒng)提供什么功能,以及參與者的每一項輸入信息將要求系統(tǒng)做出什么反應(yīng),進行什么處理,定義相應(yīng)的用檢查用戶對系統(tǒng)的各項功能需求是否都通過相應(yīng)的用例做了描述用戶用例圖如圖31所示人人人人人人人人人人人人人人人圖31用戶用例圖用戶(患者)可以查詢系統(tǒng)內(nèi)已有的科室信息和醫(yī)師信息,根據(jù)自己情況預(yù)約和取消預(yù)約所以本模塊中用例如下登錄系統(tǒng)、查詢醫(yī)院信息、查詢科室、查詢醫(yī)生、預(yù)約掛號、查看掛號、取消掛號用例分析用戶通過登錄來進入系統(tǒng),登錄以后可以查看醫(yī)院信息,也可以根據(jù)自己的病情查詢需要的科室以便進入科室選擇醫(yī)生掛號用戶也可以直接選擇自己想要掛號的醫(yī)生進行掛號,選擇完醫(yī)生后如果掛號人數(shù)沒有滿用戶可以在該醫(yī)生處進行掛號用戶還可以查看自己的掛號,如果因為一些情況不能就醫(yī),可以取消自己的掛號管理員用例圖如圖32所示圖32管理員用例圖管理員可以發(fā)布,刪除,修改通知,管理用戶信息,如刪除賬號,還可以對醫(yī)生進行添加、刪除的操作,審核掛號,刪除過期掛號所以本模塊中用例如下登錄系統(tǒng)、發(fā)布通知、修改通知、刪除通知、審核注冊信息、審核掛號、刪除過期掛號、添加醫(yī)生、刪除醫(yī)生用例分析管理員通過登錄來進入系統(tǒng),登錄后可以發(fā)布通知,也可以對已經(jīng)發(fā)布的通知進行修改,還可以刪除已經(jīng)發(fā)布的通知管理員可以添加能夠掛號的醫(yī)生,還可以刪除不能掛號的醫(yī)生管理員能夠?qū)τ脩舻膾焯栠M行審核,刪除過期掛號32基本模型的建立321系統(tǒng)中的類的設(shè)計類圖最集中、最完整地體現(xiàn)了面向?qū)ο蟮母拍睿瑫r也為面向?qū)ο蟮木幊烫峁┝俗钪苯?、最可靠的依?jù)構(gòu)成類圖中的主要成分是類、屬性、操作、一般特殊結(jié)構(gòu)、整體部分結(jié)構(gòu)、關(guān)聯(lián)和消息系統(tǒng)中類圖如圖33所示圖33類圖322類圖分析1用戶類在本系統(tǒng)中最主要的類為管理員與病人,因為管理員、病人類都具有登錄、修改密碼功能,因此特意抽象出一個類用戶,管理員、病人用戶繼承類用戶,為一般特殊關(guān)系2管理員類在管理員里,用戶管理是修改密碼和刪除普通用戶等操作;醫(yī)生信息管理較為復(fù)雜,需要由管理員對醫(yī)生及醫(yī)生信息進行增、刪、改、查等操作,醫(yī)生這一類完全由管理員操作,它自己沒有任何操作功能3病人類屬性真實姓名(REALNAME)、性別SEX、年齡AGE、密碼PASSWORD、身份證號(IDENTIFICATIONCARDNUMBERS)、病狀SYMPTOM操作用戶登錄LOGIN、用戶注冊USERSREGISTER、修改密碼CHANGEPASSWORD、醫(yī)生資料查詢CHECKDOCTORINFORMATION、個人信息查詢CHECKPERSONALINFORMATION這個類中,之所以要求病人用戶填寫真實姓名和身份證號,是為了讓管理員能夠?qū)徍藪焯柕娜耸欠袷钦鎸嵈嬖诘?,可以提高系統(tǒng)性能和可靠性4類名醫(yī)生DOCTORS屬性姓名DOCTORNAME、年齡AGE、編號ID、畢業(yè)學(xué)校SCHOOLOFGRADUATION、從醫(yī)年齡HOWLONGTOBEADOCTOR、科室DEPARTMENTS、職稱JOBTITLE、專長SPECIALSKILL此類與病人類和管理員類不同,因為它只是用來讓管理員添加和讓病人用戶來預(yù)約而已,他自己既不能查看自己的信息,也沒有登錄和注冊功能,故它不是用戶的子類5類名預(yù)約信息ORDERSINFORMATION屬性預(yù)約編號ORDERID、預(yù)約時間ORDERTIMES、預(yù)約人ORDERPEOPLE、預(yù)約醫(yī)生ORDEREDDOCTORS、科室DEPARTMENTS、專長SPECIALSKILL此類可供病人查看自己的預(yù)約信息和管理員查看所用病人的預(yù)約信息和刪除不合格的預(yù)約信息6類名掛號ORDER屬性用戶名USERNAME、密碼PASSWORD操作登錄LOGIN、取消預(yù)約CANCELORDER,處理預(yù)約DEALWITHORDERS這里的掛號是用戶的一個操作功能,之所以把它封裝成一個類,是為了讓此功類圖分析更加清晰,方便系統(tǒng)的分析,方便今后的工作33輔助模型331活動圖對管理員和用戶兩個模塊進行分析,判斷各模塊主要有哪些活動,然后對這些活動進行分析,判斷出活動圖中的各個元素和活動圖的流程在用戶模塊中可以看出主要是進行查找醫(yī)生然后掛號的活動,所以用戶模塊中只需要用戶掛號活動圖;在管理員模塊中除了發(fā)布通知活動復(fù)雜外,其他活動一目了然1用戶掛號活動圖如圖34所示人人人人人人人人人人人人人人人人人圖34用戶活動圖用戶第一個動作為登錄,登錄在判斷后分為登陸成功和登錄失敗登錄失敗可以選擇繼續(xù)登錄還是活動結(jié)束登陸成功后可以查詢科室,查詢科室以后可以查詢該科室的醫(yī)生,在查詢醫(yī)生以后可以進行預(yù)約掛號,如果掛號人數(shù)已滿則該掛號取消,如果為等待驗證則掛號通過,然后活動結(jié)束2管理員發(fā)布通知活動圖如圖35所示人人人人人人人人人人人圖35管理員活動圖管理員第一個動作為登錄,如果為登錄失敗則可以選擇繼續(xù)登錄還是結(jié)束活動登錄成功后可以撰寫通知,通知撰寫后如果直接發(fā)布則后續(xù)可能有兩種情況,一種是刪除通知,另一種是結(jié)束活動如果撰寫后等待發(fā)布則后續(xù)可能有三種情況,一種是刪除通知,另一種是發(fā)布通知,和上述直接發(fā)布一致還有一種是修改通知,修改通知如果后續(xù)動作為等待發(fā)布,則和前面等待發(fā)布一致,如果后續(xù)動作為發(fā)布,則和前面發(fā)布一致332順序圖順序圖主要體現(xiàn)完成某一操作的順序關(guān)系從用戶登錄到網(wǎng)站首頁,和自己要選擇的登錄模塊(患者,醫(yī)生,管理員)患者圖患者登錄、注冊后進行預(yù)約掛號,查詢修改信息用戶順序圖如圖36所示管理員登錄后對醫(yī)生信息和醫(yī)生的管理,管理員順序圖如圖37所示圖36用戶順序圖圖37管理員順序圖34ER圖ER模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用ER圖來表示數(shù)據(jù)模型它有兩個明顯的優(yōu)點接近于人的思維,容易理解;與計算機無關(guān),用戶容易接受15ER圖為實體聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型構(gòu)成ER圖的基本要素是實體型、屬性和聯(lián)系,其表示方法為16實體型用矩形表示,矩形框內(nèi)寫明實體名;屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來;聯(lián)系用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標上聯(lián)系的類型(11,1N或MN)科室信息屬性圖如圖38所示,在該圖中實體為科室信息,科室信息有兩個屬性科室名稱和科室概況管理員信息屬性圖如圖39所示,在該圖中實體為管理員,管理員有兩個屬性賬戶名和密碼患者信息屬性圖如圖310所示,在該圖中實體為患者,患者的屬性分別為真實姓名、登錄名、登錄密碼、性別等醫(yī)生信息屬性圖如圖311所示,在該圖中實體為醫(yī)生,醫(yī)生的屬性分別為醫(yī)生名稱、醫(yī)生職稱和醫(yī)生簡介管理員賬號名密碼圖39管理員信息屬性圖科室信息科室名稱科室概況圖38科室信息屬性圖患者姓名登錄名登錄密碼類別更新時間性別聯(lián)系電話地址身份證號編號更新時間圖310患者信息屬性圖本系統(tǒng)的ER圖如圖36所示,圖中顯示了4個用矩形表示的實體類型用戶,科室信息,醫(yī)師信息和時間表,各個實體類型又有其對應(yīng)的類型,在上述圖中可以找到,實體與實體間存在四個聯(lián)系,根據(jù)不同的實際情況給輸了聯(lián)系類型從圖中可以清晰的看出各個實體的特點以及它們之間的關(guān)聯(lián)性圖36系統(tǒng)ER圖圖312系統(tǒng)圖35數(shù)據(jù)庫設(shè)計在完成系統(tǒng)的ER圖之后,需要將ER模型轉(zhuǎn)化為關(guān)系模型,也就是說,要設(shè)計出所需要的表格在這里,選用的是關(guān)系數(shù)據(jù)庫因為關(guān)系數(shù)據(jù)庫中的二維表格可以很清楚地描述數(shù)據(jù)之間的聯(lián)系管理員表如表31所示用來存儲管理員的基本信息,包括管理員的登錄名和密碼,在管理員登錄的時候使用圖311醫(yī)生信息屬性圖醫(yī)生信息醫(yī)生職稱醫(yī)生名稱醫(yī)生簡介表31管理員表結(jié)構(gòu)字段名稱字段類型說明AIDKINT4ID序列號UNAMEVARCHAR20登錄賬號UPWDVARCHAR6登錄密碼醫(yī)生信息表如表32所示主要用來存儲醫(yī)生的個人信息,包括醫(yī)生姓名,性別,年齡,職稱等,在用戶查詢醫(yī)生時會顯示查出的該表中醫(yī)生個人信息表32醫(yī)生信息表結(jié)構(gòu)字段名稱字段類型說明DIDKINT4ID序列號NAMEVARCHAR30醫(yī)生名字SEXVARCHAR2性別AGEINT(3)年齡LEVELVARCHAR(20)職稱SPECIALVARCHAR(20)擅長SECTIONVARCHAR(20)科室IMGVARCHAR(100)醫(yī)生照片患者信息表如表33所示用來存儲患者的基本信息,包括患者的登錄名,密碼,真實姓名,身份證號等其中登錄名和密碼是患者在登錄系統(tǒng)是使用的表33患者信息表結(jié)構(gòu)字段名稱字段類型說明PIDKINT4ID序列號NAMEVARCHAR32用戶姓名UNAMEVARCHAR32登錄名稱UPWDVARCHAR32登錄密碼SEXVARCHAR(2)性別AGEVARCHAR(3)年齡ADDRESSVARCHAR(32)地址PHONEVARCHAR(32)聯(lián)系電話IDVARCHAR(18)醫(yī)生預(yù)約時間信息表如表34所示用來存儲醫(yī)生的預(yù)約信息,包括預(yù)約日期,上午/下午,醫(yī)生現(xiàn)在能夠掛號的數(shù)量,醫(yī)生ID,其中醫(yī)生編號是醫(yī)生表中的主鍵作為醫(yī)生預(yù)約時間信息表的外鍵,為了將預(yù)約時間表和醫(yī)生聯(lián)系在一起表34醫(yī)生預(yù)約時間信息表結(jié)構(gòu)字段名稱字段類型說明CIDKINT12ID序列號DATEVARCHAR(32)日期APVARCHAR(32)上午/下午NUMBERINT12掛號數(shù)量DIDINT12醫(yī)生編號病人掛號表如表35所示用來表示病人在某個醫(yī)生處掛號的基本信息,包括醫(yī)生編號,病人編號,預(yù)約日期,上午/下午,醫(yī)生姓名,其中病人編號是病人表中的主鍵作為病人掛號表的外鍵,醫(yī)生編號是醫(yī)生表中的主鍵作為掛號表的外鍵,為了將掛號表與醫(yī)生表和病人表聯(lián)系在一起表35病人掛號表結(jié)構(gòu)字段名稱字段類型說明OIDINT(12)ID序列號DIDINT(12)醫(yī)生編號PIDINT(12)病人編號DATEVERCHAR(12)日期APVERCHAR(12)上午/下午DOCNAMEVERCHAR(32)醫(yī)生姓名4系統(tǒng)實現(xiàn)41系統(tǒng)首頁的實現(xiàn)基于WEB服務(wù)的醫(yī)院網(wǎng)上掛號系統(tǒng)首頁如圖41所示完成醫(yī)院概述,新聞公告,科室導(dǎo)航等,如果用戶已經(jīng)登錄可以查看自己的掛號信息,沒有登錄則不能查看瀏覽者可以輸入自己想要掛號的醫(yī)生姓名或科室名稱查找自己想要掛號的醫(yī)生,查找后會顯示該科室的醫(yī)生姓名或該醫(yī)生的姓名,支持模糊查詢?yōu)g覽者點擊醫(yī)生姓名后會顯示該醫(yī)生的信息和掛號信息,如果已經(jīng)登錄點擊確認預(yù)約后會判斷是否已經(jīng)在該醫(yī)生處掛過號,如果沒有則掛號成功,如果有則掛號失敗,如果用戶沒有登錄則點擊預(yù)約掛號后會跳轉(zhuǎn)到登錄界面查找自己系統(tǒng)主界面不需要登錄密碼等信息,為瀏覽者任意開放,供瀏覽者了解醫(yī)院情況和查找醫(yī)生,瀏覽者不需要登錄就可以使用這些功能圖41首頁42登錄功能實現(xiàn)在登錄窗口,用戶可以選擇管理員還是用戶登錄,選擇完以后輸入用戶名和密碼,用戶名和密碼輸入完成后點擊登錄按鈕提交到SERVLETSERVLET取得用戶輸入的用戶名和密碼,然后判斷用戶選擇的是管理員登陸還是用戶登錄,根據(jù)用戶的選擇調(diào)用相應(yīng)的DAO查詢數(shù)據(jù)庫中是否存在該用戶或者管理員SERVLET取得返回值后判斷是否登陸成功,如果登錄成功則跳轉(zhuǎn)到管理員界面或用戶界面,如果用戶登錄失敗,會跳轉(zhuǎn)回登陸界面并且提示“用戶名或密碼錯誤”,用戶重新輸入用戶名和密碼繼續(xù)上面的步驟用戶登錄頁面如圖42所示圖42用戶登錄頁面42用戶功能的實現(xiàn)421用戶注冊功能的實現(xiàn)如果需要注冊新用戶,可以使用用戶注冊功能,添加的信息包括用戶的真實姓名、性別、登陸名、登陸密碼、地址等其他信息當用戶輸入完一條信息后鼠標移開,會在JAVASCRIPT進行驗證,如果輸入錯誤會提示輸入錯誤信息,用戶看到錯誤信息后應(yīng)該根據(jù)提示的信息對輸入的信息進行修改只有當用戶的所有需要填寫的信息都正確時,用戶才可以進行注冊用戶點擊注冊按鈕后會把所有信息傳遞到SERVLET,SERVLET調(diào)用該模塊DAO里的方法,把所有信息插入數(shù)據(jù)庫SERVLET根據(jù)返回的信息判斷是否插入注冊成功,如果注冊成功則跳轉(zhuǎn)到登錄頁面,注冊失敗跳轉(zhuǎn)回注冊頁面在判斷用戶名和身份證的時候使用了AJAX方法,用戶輸入完用戶名后鼠標移開,進入判斷用戶名是否存在的AJAX方法中在AJAX方法中寫好需要跳轉(zhuǎn)的SERVLET名和用戶輸入的值,跳轉(zhuǎn)到SERVLET以后根據(jù)用戶輸入的值調(diào)用該模塊DAO里面的方法,通過查詢數(shù)據(jù)庫判斷用戶名是否已存在,SERVLET得到返回值后先轉(zhuǎn)化成JSON格式的數(shù)據(jù),然后傳回AJAX方法中根據(jù)返回值判斷用戶名是否已經(jīng)存在,如果存在提示用戶“用戶名已經(jīng)存在”,如果不存在提示用戶“用戶名可以使用”使用AJAX的優(yōu)點是不用刷新整個頁面,使用一步的方式與服務(wù)器通信,不需要打斷用戶的操作所以在判斷用戶名的時候使用AJAX進行判斷,不會清除用戶輸入的其他信息在使用AJAX的時候剛開始得不到AJAX方法得不到SERVLET返回的值,所以AJAX方法不能使用最后解決方法是通過“JSONARRAYJSONJSONARRAYFROMOBJECTCHECK”把得到的數(shù)據(jù)轉(zhuǎn)化成JSON格式,然后通過“OUTWRITEJSONTOSTRING”返回到AJAX中,通過這樣的方式可以得到SERVLET的返回值判斷用戶名AJAX代碼如下GETJSON/URL“HTTP/LOCALHOST8080/HOS/CHECKUNAME“,/DATA“NAME“LOGINNAME“VAL,FUNCTIONDATA/判斷,如果為TRUE提示成功,否則失敗IFDATA0VALUE1/清除表單“LOGIN_MSG“EMPTYHTML“用戶名已存在“ELSE“LOGIN_MSG“EMPTYHTML“用戶名可以使用“先定義AJAX的跳轉(zhuǎn)路徑和傳遞參數(shù),用戶名是判斷用戶名是否存在的SERVLET名,參數(shù)是用戶輸入的用戶名然后取得SERVLET返回的數(shù)據(jù),判斷用戶名是否已存在,如果存在則提示用戶“用戶名已存在”,用戶需要重新填寫用戶名,如果不存在則提示用戶“用戶名可以使用”,用戶可以繼續(xù)填寫下面的信息422用戶查詢醫(yī)生功能的實現(xiàn)患者可以根據(jù)自己的病情查詢自己想要掛號的醫(yī)生,可以通過下拉框選擇輸入醫(yī)生姓名或醫(yī)生科室查找醫(yī)生,本模塊采用的是模糊搜索,也就是說用戶不輸入醫(yī)生的完整姓名或者科室的完整名稱也可以進行查詢用戶輸入完成后點擊搜索按鈕跳轉(zhuǎn)到SERVLET,SERVLET取得用戶輸入的參數(shù)和用戶選擇的是按醫(yī)生姓名查詢還是按醫(yī)生科室進行查詢,判斷患者的選擇后調(diào)用本模塊DAO中相應(yīng)的方法,查詢數(shù)據(jù)庫中的醫(yī)生姓名查詢完后SERVLET跳轉(zhuǎn)到用戶查找醫(yī)生頁面進行顯示,顯示的是查詢出的醫(yī)生姓名用戶選擇自己想要掛號的醫(yī)生姓名點擊進入預(yù)約掛號模塊STRINGSELECTREQUESTGETPARAMETER“QUICKSEARCH1SELECT“STRINGNAMEREQUESTGETPARAMETER“TXT“/醫(yī)生姓名OR科室名稱LISTLISTNEWARRAYLISTIF“1“EQUALSSELECT/按姓名查詢醫(yī)生信息PATIENTDAOPDAONEWPATIENTIMPLLISTPDAOCHECKDOCTOR1NAMEELSE/按科室查詢醫(yī)生信息PATIENTDAOPDAONEWPATIENTIMPLLISTPDAOCHECKDEPTNAMEREQUESTSETATTRIBUTE“LIST“,LISTREQUESTGETREQUESTDISPATCHER“PATIENT/PATIENTCHECKDOCTORJSP“FORWARDREQUEST,RESPONSE通過IFELSE判斷用戶選擇的是按醫(yī)生姓名查詢還是按醫(yī)生科室查詢,然后調(diào)用DAO中對應(yīng)的方法,返回值保存到LIST中,然后通過REQUESTSETATTRIBUTE“LIST”,LIST設(shè)置值使JSP頁面中可以取到423預(yù)約模塊的實現(xiàn)用戶查詢到自己想要預(yù)約的醫(yī)生后會顯示醫(yī)生的基本信息和掛號信息,包括掛號日期和人數(shù)等,用戶在確定自己要在該醫(yī)生處掛號時點擊確認預(yù)約按鈕,點擊以后會彈出提示框“確定要掛號該醫(yī)生嗎”點擊確定后傳送數(shù)據(jù)到SERVLET,SERVLET會進行判斷用戶是否已經(jīng)登錄,如果沒有登錄則會跳轉(zhuǎn)到登錄頁面,如果已經(jīng)登錄SERVLET得到頁面?zhèn)鬟f的數(shù)據(jù)首先進行用戶是否已經(jīng)在該醫(yī)生處掛號判斷,從數(shù)據(jù)庫查找數(shù)據(jù),如果已經(jīng)掛過號,則系統(tǒng)提示“您已經(jīng)掛過號”,跳轉(zhuǎn)到我的掛號頁面,如果沒有掛號,則在數(shù)據(jù)庫中掛號表插入掛號信息,并且在掛號信息表中將掛號數(shù)量減一然后跳轉(zhuǎn)到我的掛號頁面在我的掛號頁面中會顯示出用戶的掛號信息在預(yù)約模塊中先對病人是否在該醫(yī)生處進行判斷,很好的防止了病人亂掛號的發(fā)生病人也可以點擊我的掛號查看自己的掛號信息,如果想要取消掛號的話可以點擊取消預(yù)約取消自己的掛號用戶點擊取消掛號后,跳轉(zhuǎn)到SERVLET后調(diào)DAO刪除該掛號,然后修改預(yù)約表里的掛號人數(shù),人數(shù)加一IFSESSIONGETATTRIBUTE“PATIENT“NULLRESPONSESENDREDIRECT“PATIENT/PATIENTLOGINJSP“ELSEPATIENTDAOPDNEWPATIENTIMPLBOOLEANRESPDCHECKTHEDOCFORORDDID,PID,DATESTRINGYES“NO“APPOINTMENTDAOADAONEWAPPOINTMENTIMPLIFRESYES“YES“REQUESTSETATTRIBUTE“YES“,YESREQUESTGETREQUESTDISPATCHER“CHECKAPPOINTMENTINFO“FORWARDREQUEST,RESPONSEELSEIFADAOINSERTORDERDID,PID,DATE,AP,NAME1IFADAOUPDATEAPPOINTMENTDID,DATE,NUMBER1REQUESTSETATTRIBUTE“YES“,YESSYSTEMOUTPRINTLN“SUCCESS“REQUESTGETREQUESTDISPATCHER“INDEXJSP“FORWARDREQUEST,RESPONSE先通過IF判斷用戶是否登錄,因為如果用戶已經(jīng)登錄過會在SESSION存儲“PATIENT”,所以如果IF判斷為空則用戶沒有登錄,跳轉(zhuǎn)到用戶登錄頁面如果不為空則調(diào)用DAO中的方法查詢用戶是否在該醫(yī)生處有沒有就診的過號如果有則跳轉(zhuǎn)到我的掛號頁面如果沒有則在數(shù)據(jù)庫中插入該用戶的掛號,并且醫(yī)生能掛號的人數(shù)減一43管理員模塊的實現(xiàn)431醫(yī)生管理分頁的實現(xiàn)由于數(shù)據(jù)庫采用的是MYSQL數(shù)據(jù)庫,所以分頁的實現(xiàn)是根據(jù)MYSQL數(shù)據(jù)庫的LIMIT關(guān)鍵字實現(xiàn)的以“SELECTFROMDOCTORLIMIT0,4”為例,0代表從第幾條數(shù)據(jù)開始顯示,4代表一共顯示多少條數(shù)據(jù)根據(jù)這種方法,把0的位置的數(shù)據(jù)設(shè)置成變量P,根據(jù)用戶點擊第幾頁后傳遞到SERVLET取得的數(shù)據(jù)進行處理,如果所得到的數(shù)據(jù)PP為1或NULL則SERVLET取得的數(shù)據(jù)賦值為0,也就是第一頁顯示數(shù)據(jù)從第一條數(shù)據(jù)開始,如果不為0則PPPP14,也就是第一頁顯示的最后一條數(shù)據(jù)是第PP1條數(shù)據(jù)然后傳到模塊對應(yīng)的DAO里面的方法查詢出這幾條數(shù)據(jù)而且在DAO中還要查詢出總的數(shù)據(jù)量COUNT,然后根據(jù)PAGECOUNTCOUNT41/4計算出一共可以分出多少頁SERVLET得到返回的寫好的分頁類類型的數(shù)據(jù),然后傳回JSP頁面中進行顯示使用LIMIT進行分頁的好處之一是代碼簡單,易于理解,不用寫很復(fù)雜的程序就可以做到分頁在進系統(tǒng)后點擊醫(yī)生管理連接的時候會報數(shù)據(jù)轉(zhuǎn)換異常的錯誤,經(jīng)過調(diào)試發(fā)現(xiàn)是剛開始PP1變量從JSP得到的是NULL值,而NULL轉(zhuǎn)換成INT類型PP時會拋出異常最后解決的方法是先把PP賦初值,然后進行IF判斷如果為NULL則PP0,如果不為NULL則進行數(shù)據(jù)類型轉(zhuǎn)換醫(yī)生管理頁面如圖43所示SERVLET中的代碼INTPP0RESPONSESETCONTENTTYPE“TEXT/HTML“STRINGPP1REQUESTGETPARAMETER“PP“IFPP1NULL|PP1“1“PP0ELSEPPINTEGERPARSEINTPP1PPPP14圖43醫(yī)生管理頁面432增加醫(yī)生模塊的實現(xiàn)管理員需要增加可以預(yù)約掛號的醫(yī)生是,先在主頁輸入管理員用戶名和密碼,然后點擊登錄按鈕,登陸成功后跳轉(zhuǎn)到管理員界面管理員點擊增加醫(yī)生跳轉(zhuǎn)到增加醫(yī)生界面,管理員根據(jù)提示輸入該醫(yī)生對應(yīng)的信息,醫(yī)生圖片是點擊瀏覽后用戶在電腦上選擇醫(yī)生的圖片其他信息提攜真實信息就可以了管理員點擊提交后跳轉(zhuǎn)到SERVLET,SERVLET先進行圖片的保存,圖片的保存是用SMARTUPLOAD組件保存的,在保存圖片名稱時為防止圖片重復(fù)而使用時間從年到毫秒的當前時間作為圖片名進行保存的在SMARTUPLOAD中通過傳統(tǒng)的“REQUESTGETPARAMTER”是取不到該屬性值得,要想取值只能通過“SMARTUPLOADSUNEWSMARTUPLOAD”,“SUGETREQUESTGETPARAMETER“DATE“”這種方式進行取值取值以后調(diào)用該模塊DAO里對應(yīng)的方法把該醫(yī)生信息插入數(shù)據(jù)庫,而醫(yī)生圖片插入的是該醫(yī)生的圖片名稱插入(增加)以后會跳轉(zhuǎn)到增加醫(yī)生頁面,管理員可以繼續(xù)插入其他醫(yī)生在做圖片上傳是遇到的問題是圖片傳不到該項目里指定的文件夾,最后的解決方法是傳到電腦的D盤里的一個文件夾里,運行以后可以在該文件夾里找到上傳的圖片如果想要顯示上傳圖片和項目里其他圖片的顯示路徑一致,可以在TOMCAT的SERVERXML配置文件中添加“”虛擬路徑,這樣在D盤JPG文件夾中的圖片可以按照HOS項目中IMAGES文件夾的路徑來顯示增加醫(yī)生頁面如圖44所示圖44增加醫(yī)生頁面433掛

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論