版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 畢 業(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é)號 12011242631 學(xué)生姓名 曹靖森 指導(dǎo)教師 馬子睿 2015年 5 月 8 日基于B/S結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)數(shù)學(xué)計算機學(xué)院計算機科學(xué)與技術(shù)專業(yè)2015屆 曹靖森摘要:在傳統(tǒng)的醫(yī)院掛號過程中,信息處理停留在手工方式,勞動強度大且工作效率低,有的病人排很長時間的隊也不一定能掛上自己滿意的號,而用網(wǎng)上預(yù)約的方式,使病人不用出門就可以掛到自己想要的號.本系統(tǒng)采用的是基于廣域網(wǎng)的B/S結(jié)構(gòu)平臺,網(wǎng)頁采用的是JSP技術(shù)
2、,它擁有卓越的系統(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中圖分類號:TP311.1The design and the implementation of the booking system of the online hospital registration based on the B/S structure Abstract: In the traditional hospital process,the manual infor
3、mation processing remain labor-intersive and low efficiency,some patients stood in line for a long time also to can not hang themselves.By using the method of online booking,The patient need not to go out while use.The system is designed as B/S structure based on the wide area network,JSP technics f
4、or it has excellent portability,coupled with a strong background MySql database data support,it can realize the function of the system very well.This article mainly introduces the design and implementation of hospital online registration system,and on the use of technology as well.Keywords: Hospital
5、; online registration; JSP;MySql 目錄1 緒論1 1.1 課題背景及研究意義11.2 國內(nèi)外研究現(xiàn)狀21.3 系統(tǒng)簡介21.3.1 系統(tǒng)解決的主要問題21.3.2 系統(tǒng)的特點32 開發(fā)環(huán)境及開發(fā)技術(shù)52.1 B/S架構(gòu)52.2 mvc設(shè)計模式52.2.1 mvc設(shè)計模式簡介52.2.2 mvc設(shè)計模式的優(yōu)缺點62.3 javaEE架構(gòu)72.3.1 javaEE簡介72.3.2 javaEE的優(yōu)勢72.4 ajax技術(shù)82.4.1 ajax的優(yōu)點82.5 數(shù)據(jù)庫MySql93 系統(tǒng)設(shè)計11 3.1 需求模型的建立113.1.1 用例分析113.2 基本模型的建立
6、133.2.1 系統(tǒng)中的類的設(shè)計133.2.2 類圖分析133.3 輔助模型153.3.1活動圖153.3.2順序圖16 3.4 ER圖173.5數(shù)據(jù)庫設(shè)計194 系統(tǒng)實現(xiàn)224.1 系統(tǒng)首頁的實現(xiàn)224.2 登錄功能實現(xiàn)224.2 用戶功能的實現(xiàn)234.2.1 用戶注冊功能的實現(xiàn)23 4.2.2 用戶查詢醫(yī)生功能的實現(xiàn)254.2.3 預(yù)約模塊的實現(xiàn)254.3 管理員模塊的實現(xiàn)26 4.3.1 醫(yī)生管理分頁的實現(xiàn)264.3.2 增加醫(yī)生模塊的實現(xiàn)284.3.3 掛號信息管理模塊的實現(xiàn)295 總結(jié)30參考文獻(xiàn)32致謝33基于B/S結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)1 緒論 1.1 課題背景及研究
7、意義隨著經(jīng)濟與科學(xué)技術(shù)的高速發(fā)展,信息化的進(jìn)程不斷加快.隨著計算機性能不斷提高,價格不斷下降,計算機已在醫(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)的新型掛
8、號系統(tǒng),是衛(wèi)生信息化建設(shè)的基礎(chǔ)的項目之一2.利用該預(yù)約掛號系統(tǒng),用戶就可以在網(wǎng)上預(yù)約醫(yī)院的專家、??铺?,而無須再受排隊之苦.它能更好的改善就醫(yī)環(huán)境,簡化就醫(yī)環(huán)節(jié),節(jié)約就醫(yī)時間,真正體現(xiàn)了以病人為中心,一切從方便患者出發(fā),符合當(dāng)今醫(yī)院人性化溫馨服務(wù)的理念.目前,門診一直是困擾醫(yī)院提高服務(wù)質(zhì)量的一個復(fù)雜環(huán)節(jié),特別是醫(yī)療水平高、門診量大的醫(yī)院,而造成門診質(zhì)量難以提高的因素主要有兩方面:一方面集中式掛號(現(xiàn)在流行的分層掛號只是相對而言一個范圍較小的集中式掛號),就診人員流量不均、具有不確定性,有明顯的就診高峰和低谷(表現(xiàn)在整個醫(yī)院不同門診時間段及同科室的不同時間段).高峰期病人掛號排隊長,就診時間長,
9、醫(yī)生熟人插號現(xiàn)象,環(huán)境擁擠混亂,醫(yī)生問診時間短、不仔細(xì)、態(tài)度差.而低谷期,醫(yī)生無病人看、溜號,醫(yī)院資源浪費.另一方面專家號(特別是名專家號)難掛,出現(xiàn)倒號、炒號現(xiàn)象,嚴(yán)重?fù)p害病人利益,影響到醫(yī)院的聲譽.而采用網(wǎng)上預(yù)約掛號,可有效的解決這一現(xiàn)象,還通過有效的身份驗證,杜絕倒、炒專家號的現(xiàn)象,提高醫(yī)院門診服務(wù)質(zhì)量,取得良好的社會效益和經(jīng)濟效益.此外,病人到醫(yī)院就診前對醫(yī)院的相關(guān)信息了解不多,對所要掛的專科醫(yī)生的情況又不太了解,只能憑經(jīng)驗和印象進(jìn)行選擇,具有較大的盲目性.而當(dāng)醫(yī)院開通網(wǎng)上掛號預(yù)約服務(wù)以后,求醫(yī)者只需坐在家中,輕點兒下鼠標(biāo),就可以掛上醫(yī)院專家門診號,可以做到“足不出戶選醫(yī)生”.網(wǎng)上預(yù)約
10、正悄然改變著都市求醫(yī)者的看病觀念.擁有相對固定的個人醫(yī)生和習(xí)慣,預(yù)約看病,將不再遙遠(yuǎn),所以應(yīng)用必將越來越廣泛3. 1.2 國內(nèi)外研究現(xiàn)狀隨著互聯(lián)網(wǎng)絡(luò)的迅猛發(fā)展,Internet用戶已呈幾何級數(shù)增長,目前已經(jīng)有很多醫(yī)院投入使用網(wǎng)上掛號系統(tǒng).據(jù)了解,預(yù)約掛號在國外頗為普及.在西方國家,病人看病都需要事先進(jìn)行預(yù)約.隨著預(yù)約掛號的深入推廣,國內(nèi)越來越多的醫(yī)院也意識到預(yù)約服務(wù)在節(jié)約看病時間、分流患者、減輕醫(yī)院壓力上的作用4.據(jù)了解,盡管存在很多困難,但全國各地的醫(yī)院在嘗試預(yù)約掛號的實踐中還是提供了很多有益的做法.在中國傳統(tǒng)的醫(yī)院門診掛號是即時掛號、即時就診門診模式的.但是這種就診的模式給患者帶來許多不便
11、1.掛號時間長、候診時間長、交費時間長、看病時問短.據(jù)統(tǒng)計,患者在門診有60%以上的時間都是用來等候的,真正就診的時間卻很短.這樣就給病人及家屬帶來了眾多的不便.而在歐美國家,患者看病一般都需要預(yù)約掛號.除非急診,很少有人直接到醫(yī)院找醫(yī)生的.沒有提前24小時的電話預(yù)約,醫(yī)院一般也不會接診.一些醫(yī)院設(shè)立的預(yù)約掛號部門,一般都由經(jīng)驗豐富的醫(yī)生、護士擔(dān)任接線員,以便根據(jù)患者自訴癥狀建議應(yīng)掛科室,推薦專家.也有部分的醫(yī)院可以同時通過網(wǎng)站預(yù)約的5. 隨著網(wǎng)絡(luò)功能及宣傳手段不斷優(yōu)化和人民群眾觀念的不斷更新,網(wǎng)上預(yù)約掛號前景無疑是可觀的.按現(xiàn)在的中國門診預(yù)約就診患者的年齡及受教育程度和使用網(wǎng)絡(luò)資源程度的情況
12、分析來看,各種預(yù)約方式和諧并存著才能滿足不用類型的患者的需求.網(wǎng)上預(yù)約掛號的實施剛起步不久,預(yù)約掛號系統(tǒng)的不斷改善優(yōu)化還是一個循序漸進(jìn)的過程,要先向更好地為習(xí)慣使用這一資源的患者服務(wù)的目標(biāo)進(jìn)發(fā). 1.3 系統(tǒng)簡介 1.3.1 系統(tǒng)解決的主要問題 病人去醫(yī)院就醫(yī)首先要到掛號窗口進(jìn)行掛號,病人獲得有效醫(yī)療服務(wù)最重要的保證就是能夠掛到一個滿意的號.目前病人掛號難已成為全國各個醫(yī)院的首要問題,但是一直沒有能夠徹底解決.醫(yī)院門診掛號一直是大中型醫(yī)院提高服務(wù)質(zhì)量的關(guān)鍵環(huán)節(jié),特別是門診量較大、人口密度高、醫(yī)療設(shè)備先進(jìn)、技術(shù)先進(jìn)的綜合型大醫(yī)院,門診掛號秩序混亂一直是普遍存在的現(xiàn)象.就上述問題著重分析了已下三個
13、方面的問題6.(1) 針對病人掛號集中的問題針對病人掛號集中、就診人員流量變化大、不確定性明顯等問題進(jìn)行分析.很多醫(yī)院高峰期病人必須排長隊掛號,就診需要等待的時間較長,更是有個別醫(yī)生熟人肆意插號的現(xiàn)象,使得掛號秩序更加混亂;還有掛號醫(yī)生多的時候,醫(yī)生由于時間有限,導(dǎo)致醫(yī)生詢問病情不仔細(xì),病人就診時間短,有時發(fā)生接待病人態(tài)度差等現(xiàn)象.采用網(wǎng)上掛號能很好的解決這些問題,病人在網(wǎng)上預(yù)約好時間,到時間過去就行,不用等待很長時間排隊;每個病人就診時間經(jīng)過合理分配,使醫(yī)生可以詳細(xì)了解病人病情并進(jìn)行診斷. (2) 針對專家號一號難求的問題一般專家一天最多能看20-30個患者,而一些患者為了獲得寶貴的就診號需
14、要排上幾個小時的隊,也導(dǎo)致了“炒號”、“倒號”等不良現(xiàn)象的產(chǎn)生,損害了患者的經(jīng)濟利益,耽誤了患者的就診時間,甚至影響了醫(yī)院的就診質(zhì)量和聲譽.網(wǎng)上掛號因為采用的是實名認(rèn)證的方式進(jìn)行的注冊,每個身份證號只能注冊一次,而且本人掛號只能本人就診,杜絕了“炒號”、“倒號”等現(xiàn)象的發(fā)生,做到了相對的公平.(3) 醫(yī)院網(wǎng)上預(yù)約掛號的設(shè)計本文研究的基于WEB服務(wù)的預(yù)約掛號系統(tǒng)可以有效的解決掛號難的問題.患者不必去醫(yī)院,只需坐在電腦前,通過瀏覽掛號系統(tǒng)網(wǎng)頁,就能選擇適合自己病情的醫(yī)生進(jìn)行掛號.不僅能大大減少患者的排隊時間,還能緩解醫(yī)院就診掛號高峰期的擁擠,利用網(wǎng)絡(luò)巨大的資源和空間,盡量為病人提供更優(yōu)質(zhì)的服務(wù).1
15、.3.2 系統(tǒng)的特點(1) 系統(tǒng)功能的方便性使用醫(yī)院網(wǎng)上掛號系統(tǒng)可以在任意地方登錄網(wǎng)站進(jìn)行掛號,也可以根據(jù)自己的狀況選擇合適自己病情的科室、專家及合適的就診時間等,最后醫(yī)院完成確認(rèn),以完成患者的預(yù)約掛號.該系統(tǒng)操作十分方便、省事.(2) 系統(tǒng)功能的實效性病人患病后都希望早日到醫(yī)院就診治療,以解除病痛的困擾.正常情況去門診掛號是帶醫(yī)院完成的第一件事,掛上號之后再去門診進(jìn)行就醫(yī).對于醫(yī)療技術(shù)較高的大中型醫(yī)院來說,患者掛號總是需要排長隊,有時排長時間的對也不一定能掛上號.網(wǎng)上預(yù)約掛號系統(tǒng)為用戶提供了省時省力且實效的服務(wù),為患者解決了掛號難的問題.(3) 系統(tǒng)資源信息的共享性計算機網(wǎng)絡(luò)的應(yīng)用及信息共享
16、之后,醫(yī)院相關(guān)負(fù)責(zé)人員就可以把計劃好的醫(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ù)約掛號不僅減輕了患
17、者和家人的麻煩,也在一定程度上緩解并改善了掛號窗口的緊張局面. 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ù). 2.1 B/S架構(gòu)本系統(tǒng)采用的是B/S架構(gòu),及瀏覽器和服務(wù)器結(jié)構(gòu),示意圖如圖2-1所示.瀏覽器顯示出用戶操作界面,接收用戶在頁面上輸入的各種操作信息,在接到提交命令后向服務(wù)器發(fā)出請求,并接收由服務(wù)器返回的數(shù)據(jù)結(jié)果,然后向用戶展示相應(yīng)的信息.服務(wù)器端在這里的角色就如同橋梁,用來連接用戶瀏覽器與數(shù)據(jù)庫,將所需要的數(shù)據(jù)信息
18、進(jìn)行分析傳輸7.對于醫(yī)院網(wǎng)上掛號系統(tǒng)來說,采用B/S架構(gòu)的系統(tǒng)所有的客戶端都是瀏覽器,不需要對它做任何維護.絕大部分事務(wù)邏輯都是由服務(wù)器端來進(jìn)行處理,然后在通過用戶的瀏覽器實現(xiàn),在客戶端也就是前端界面只是有少量的邏輯需要處理.系統(tǒng)管理人員只需要做硬件維護,降低了系統(tǒng)管理人員工作量,提高了其工作效率.系統(tǒng)架構(gòu)如圖2.1所示:發(fā)出操作請求JDBC瀏覽器Tomcat數(shù)據(jù)庫返回查詢結(jié)果返回結(jié)果集圖2.1系統(tǒng)架構(gòu) 2.2 mvc設(shè)計模式 2.2.1 mvc設(shè)計模式簡介MVC由Trygve Reenskaug提出,首先被應(yīng)用在SmallTalk-80環(huán)境中,使許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ),Microsof
19、t的MFC基礎(chǔ)類也遵循了MVC的思想8. 對于界面設(shè)計可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制三種部件. 模型部件是軟件所處理問題邏輯在獨立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了問題的核心數(shù)據(jù)、邏輯和功能的計算關(guān)系,他獨立于具體的界面表達(dá)和I/O操作. 視圖部件把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶.它從模型獲得顯示信息,對于相同的信息可以有多個不同的顯示形式或視圖. 控制部件是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實現(xiàn)對模型的計算控制,是使模型和視圖協(xié)
20、調(diào)工作的部件.通常一個視圖具有一個控制器. 模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖.如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所 有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化.因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新.這實際上是一種模 型的變化-傳播機制. 2.2.2 mvc設(shè)計模式的優(yōu)缺點MVC的優(yōu)點表現(xiàn)在以下幾個方面9: (1) 可以為一個模型在運行時同時建立和使用多個視圖.變化-傳播機制可以確保所有相關(guān)的視圖及時得到模型數(shù)據(jù)變化,從而使所有關(guān)聯(lián)的視圖和控制器做到行為同步. (2) 視圖與控制器的可接插性,允許更換視圖和控制器
21、對象,而且可以根據(jù)需求動態(tài)的打開或關(guān)閉、甚至在運行期間進(jìn)行對象替換. (3) 模型的可移植性.因為模型是獨立于視圖的,所以可以把一個模型獨立地移植到新的平臺工作.需要做的只是在新平臺上對視圖和控制器進(jìn)行新的修改. (4) 潛在的框架結(jié)構(gòu).可以基于此模型建立應(yīng)用程序框架,不僅僅是用在設(shè)計界面的設(shè)計中. MVC的缺點表現(xiàn)在以下幾個方面: (1) 增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性.對于簡單的界面,嚴(yán)格遵循MVC,使模型、視圖與控制器分離,會增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過多的更新操作,降低運行效率. (2) 視圖與控制器間的過于緊密的連接.視圖與控制器是相互分離,但確實聯(lián)系緊密的部件,視圖沒有控制器的存在
22、,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用. (3) 視圖對模型數(shù)據(jù)的低效率訪問.依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù).對未變化數(shù)據(jù)的不必要的頻繁訪問,也將損害操作性能. (4) 目前,一般高級的界面工具或構(gòu)造器不支持MVC模式.改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價是很高的,從而造成使用MVC的困難. 2.3 javaEE架構(gòu)2.3.1 javaEE簡介J2EE的基礎(chǔ)部分是由 JSP(Java Server Page)和Java Servlet這兩種技術(shù)共同構(gòu)成.其定義了一套有用的API、一個運行時平臺、應(yīng)用程序接口和一個內(nèi)置模型,并能
23、夠?qū)⑵渌泄δ芙M合成一個可擴展的、可移植的和設(shè)計得更好的應(yīng)用程序10.J2EE平臺支持簡化的、基于組件開發(fā)模型.我們將組件技術(shù)加以利用,就可以把程序分割成許多小模塊以適應(yīng)不同程序員擅長的技術(shù),使開發(fā)進(jìn)行分工操作,并行開發(fā)讓開發(fā)人員的技能得到最大限度的應(yīng)用,最大限度的提高開發(fā)的效率.由于EJB模型遵循了高內(nèi)聚低耦合的編程理念,使其代碼的可移植性與重用性增強.基于組件的設(shè)計簡化了應(yīng)用程序的維護.由于組件耦合度低,所以能被獨立地更新和替代,通過應(yīng)用程序中特定的組件被更新,使其很容易將新的功能增加進(jìn)來,更易于維護.以下是 J2EE 典型的四層結(jié)構(gòu)如圖2.211所示:圖2.2 J2EE的四層結(jié)構(gòu)圖2.3
24、.2 javaEE的優(yōu)勢javaEE平臺平臺對分步式企業(yè)應(yīng)用開發(fā)而言,在保存企業(yè)現(xiàn)有IT資產(chǎn)減少重復(fù)性投入的同時也滿足了未來商業(yè)應(yīng)用的需要,具有以下優(yōu)點:(1) javaEE建立了企業(yè)應(yīng)用開發(fā)所需要的一些技術(shù)標(biāo)準(zhǔn),如企業(yè)業(yè)務(wù)組件(EJB)等;(2) javaEE自身具備完善的目錄服務(wù)支持、高度的安全機制、高效的性能展現(xiàn)等眾多技術(shù)優(yōu)勢,并且基于開放的標(biāo)準(zhǔn),可以促進(jìn)技術(shù)的更好發(fā)展;(3) javaEE為企業(yè)系統(tǒng)提供了完美的機制和統(tǒng)一的平臺,不僅簡化開發(fā)過程,也使得Web應(yīng)用程序資源利用率更高.讓系統(tǒng)具有高可用性、高可擴展性、易維護性;(4) javaEE縮短了產(chǎn)品研發(fā)時間,絕大多數(shù)的供應(yīng)商的產(chǎn)品是
25、根據(jù)JavaEE標(biāo)準(zhǔn)而開發(fā)的,因此開發(fā)者可以擺脫中間件的困擾而專注于各自業(yè)務(wù)邏輯的應(yīng)用開發(fā);(5) javaEE使用負(fù)載平衡策略,使系統(tǒng)軟硬件資源利用率及性能表現(xiàn)最大化,能夠消除系統(tǒng)中的瓶頸,允許多臺服務(wù)器集成部署,實現(xiàn)可高度伸縮的系統(tǒng). 2.4 ajax技術(shù) Ajax的工作原理相當(dāng)于在用戶和服務(wù)器之間加了一個中間層,使用戶操作與服務(wù)器響應(yīng)異步化. 在目前的Web2.0熱潮中,Ajax正吸引著全世界的眼球,成為人們談?wù)撟疃嗟募夹g(shù)術(shù)語.組成Aj ax的各種技術(shù)使Web應(yīng)用的交互如Flickr, Backpack和Google在這方面已經(jīng)有質(zhì)的飛躍.這個術(shù)語源自描述從基于網(wǎng)頁的Web應(yīng)用到基于數(shù)據(jù)
26、的應(yīng)用的轉(zhuǎn)換.它使瀏覽器可以為用戶提供更為自然的瀏覽體驗.每當(dāng)需要更新時,客戶端Web頁面的修改是異步的和逐步增加的12.這樣,匆Ajax在提交Web頁面內(nèi)容時大大提高了用戶界面的速度.在使用Ajax的應(yīng)用程序中沒必要長時間等待整個頁面的刷新.頁面中需要更新的那部分才進(jìn)行修改,如果可能的話,更新是在本地完成的,并且是異步的.2.4.1 ajax的優(yōu)點相對于傳統(tǒng)的WEB應(yīng)用程序來說,采用Ajax技術(shù)的WEB應(yīng)用程序具有如下的三個優(yōu)點:(1) 瀏覽器分擔(dān)一部分的業(yè)務(wù)邏輯,而不再是僅僅顯示內(nèi)容.在傳統(tǒng)的WEB應(yīng)用程序中,瀏覽器只顯示內(nèi)容.它的作用僅僅是顯示服務(wù)器傳送回來的頁面,無法做出自己的判斷,即
27、不參與到整個業(yè)務(wù)邏輯的處理中,也不了解用戶在整個業(yè)務(wù)流程中的狀態(tài).所有的信息和邏輯都是在服務(wù)器進(jìn)行處理,服務(wù)器決定了一切.而使用Ajax,一部分的業(yè)務(wù)邏輯就可以在客戶端實現(xiàn).通過JavaScript代碼,客戶端可以一直跟蹤用戶在整個業(yè)務(wù)流程中的狀態(tài).當(dāng)用戶進(jìn)行操作時它可以相應(yīng)的改變頁面顯示.在處理用戶的輸入時可以由它來決定是提交給服務(wù)器處理還是在本地單獨進(jìn)行處理,或者兩種兼而有之.這樣Ajax分擔(dān)了一部分的業(yè)務(wù)邏輯,與傳統(tǒng)的WEB應(yīng)用程序的瘦客戶端相比,它實現(xiàn)了一種胖客戶端m,緩解了服務(wù)器端所承擔(dān)的壓力,有效的利用了客戶端的資源.(2) 服務(wù)器僅僅傳送數(shù)據(jù),而不是內(nèi)容.在傳統(tǒng)的WEB應(yīng)用程序中
28、,服務(wù)器向客戶端傳送的東西混合了數(shù)據(jù)、內(nèi)容和模板文件.有時用戶僅僅是進(jìn)行了很少一部分的改動,只需要引起頁面的部分改動,但是如果想和服務(wù)器交互的話,服務(wù)器仍然會將改動的數(shù)據(jù)連同整個頁面全部傳回客戶端.而使用Aj ax,客戶端只需要向服務(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ò)帶寬,緩
29、解了網(wǎng)絡(luò)壓力.(3) 與用戶的交互更具有流暢性和連貫性.傳統(tǒng)的WEB應(yīng)用程序提供了兩種方式來實現(xiàn)客戶端與服務(wù)器的交互:超級鏈接和Form表單.無論使用哪種方式,與服務(wù)器的交互都需要重新刷新整個頁面,用戶在服務(wù)器的返回結(jié)果之前只能等待,整個操作失去了流暢性和連貫性.而使用Aj ax,由于Aj ax與服務(wù)器的交互是異步的,瀏覽器使用不同的線程來偵聽服務(wù)器的響應(yīng)和用戶的其他操作.這樣,用戶在向服務(wù)器提交完數(shù)據(jù)后,可以繼續(xù)進(jìn)行其他的操作,完全沒有停頓的感覺,使整個WEB程序就像使用桌面應(yīng)用程序一樣流暢自如. 2.5 數(shù)據(jù)庫MySqlMySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),
30、目前屬于Oracle公司13.MySQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(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ù)庫的最常用標(biāo)準(zhǔn)化語言,MySQL由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫.MySQL數(shù)據(jù)庫的主要特點包括以下幾點:(1)
31、性能出色:MySQL的核心程序采用完全的多線程編程,并且支持多處理器,極大地提高了程序的運行效率.因在開發(fā)MySQL這款數(shù)據(jù)庫的時候運用了C語言作為編程語言,并且運用了多線程,所以它對CPU的充分利用變得更加容易.(2) 開源數(shù)據(jù)庫:操作方便,使用成本較低,版本更新較快,提供的接口支持多種語言連接操作.MySQL有一個非常靈活而且安全的權(quán)限和口令系統(tǒng).當(dāng)客戶操作客戶端向服務(wù)器發(fā)出請求與MySQL服務(wù)器建立連接時,MySQL與客戶之間所有口令信息的傳送都會得到加密處理,這突出了MySQL的安全性.(3) 多樣性:MySQL能夠根據(jù)不同用戶的需求差異,提供相應(yīng)的用戶界面供其選擇,支持多種程序語言界
32、面還為這些編程語言提供了API.可以使用封裝好的客戶端也可以寫一個合適的應(yīng)用程序.MySQL可用于多種操作系統(tǒng)平臺,如:Unix、Windows,也可以使用在PC機和服務(wù)器上.3 系統(tǒng)設(shè)計 3.1 需求模型的建立 3.1.1 用例分析用例是對參與者使用系統(tǒng)的一項功能時所進(jìn)行的交互過程的描述,其中包含由雙方交替執(zhí)行的一系列動作.一個用例是通過使用系統(tǒng)功能的某些部分而使用的一種具體方式,每個用例包括一個由參與者發(fā)動的完整的事件過程14.發(fā)現(xiàn)用例的方法是:(1) 全面地了解和收集用戶所要求的各項系統(tǒng)功能,確定系統(tǒng)邊界,找出所有的參與者,向用戶和領(lǐng)域?qū)<伊私馀c各項功能有關(guān)業(yè)務(wù)流程.(2) 把用戶所提出
33、的功能組織成適當(dāng)?shù)膯挝唬矗阂豁椆δ芡瓿梢豁椡暾毩⒌墓ぷ?,并且是通過參與者與系統(tǒng)的一次交互能夠完成的.(3) 以窮舉得方式考慮每一類參與者與系統(tǒng)的交互情況,看看每個參與者要求系統(tǒng)提供什么功能,以及參與者的每一項輸入信息將要求系統(tǒng)做出什么反應(yīng),進(jìn)行什么處理,定義相應(yīng)的用檢查用戶對系統(tǒng)的各項功能需求是否都通過相應(yīng)的用例做了描述.用戶用例圖如圖3.1所示: 圖3.1 用戶用例圖 用戶(患者)可以查詢系統(tǒng)內(nèi)已有的科室信息和醫(yī)師信息,根據(jù)自己情況預(yù)約和取消預(yù)約.所以本模塊中用例如下:登錄系統(tǒng)、查詢醫(yī)院信息、查詢科室、查詢醫(yī)生、預(yù)約掛號、查看掛號、取消掛號.用例分析:用戶通過登錄來進(jìn)入系統(tǒng),登錄以后可
34、以查看醫(yī)院信息,也可以根據(jù)自己的病情查詢需要的科室以便進(jìn)入科室選擇醫(yī)生掛號.用戶也可以直接選擇自己想要掛號的醫(yī)生進(jìn)行掛號,選擇完醫(yī)生后如果掛號人數(shù)沒有滿用戶可以在該醫(yī)生處進(jìn)行掛號.用戶還可以查看自己的掛號,如果因為一些情況不能就醫(yī),可以取消自己的掛號.管理員用例圖如圖3.2所示:圖3.2 管理員用例圖 管理員可以發(fā)布,刪除,修改通知,管理用戶信息,如刪除賬號,還可以對醫(yī)生進(jìn)行添加、刪除的操作,審核掛號,刪除過期掛號.所以本模塊中用例如下:登錄系統(tǒng)、發(fā)布通知、修改通知、刪除通知、審核注冊信息、審核掛號、刪除過期掛號、添加醫(yī)生、刪除醫(yī)生.用例分析:管理員通過登錄來進(jìn)入系統(tǒng),登錄后可以發(fā)布通知,也可
35、以對已經(jīng)發(fā)布的通知進(jìn)行修改,還可以刪除已經(jīng)發(fā)布的通知.管理員可以添加能夠掛號的醫(yī)生,還可以刪除不能掛號的醫(yī)生.管理員能夠?qū)τ脩舻膾焯栠M(jìn)行審核,刪除過期掛號. 3.2 基本模型的建立 3.2.1 系統(tǒng)中的類的設(shè)計 類圖最集中、最完整地體現(xiàn)了面向?qū)ο蟮母拍?,同時也為面向?qū)ο蟮木幊烫峁┝俗钪苯印⒆羁煽康囊罁?jù).構(gòu)成類圖中的主要成分是類、屬性、操作、一般-特殊結(jié)構(gòu)、整體-部分結(jié)構(gòu)、關(guān)聯(lián)和消息.系統(tǒng)中類圖如圖3.3所示.圖3.3 類圖3.2.2 類圖分析(1) 用戶類 在本系統(tǒng)中 最主要的類為管理員與病人,因為管理員、病人類都具有登錄、修改密碼功能,因此特意抽象出一個類用戶,管理員、病人用戶繼承類用戶,為
36、一般-特殊關(guān)系.(2) 管理員類 在管理員里,用戶管理是修改密碼和刪除普通用戶等操作;醫(yī)生信息管理較為復(fù)雜,需要由管理員對醫(yī)生及醫(yī)生信息進(jìn)行增、刪、改、查等操作,醫(yī)生這一類完全由管理員操作,它自己沒有任何操作功能. (3) 病人類 屬性:真實姓名(real name)、性別(sex)、年齡(age)、密碼(password)、身份證號(identification card numbers)、病狀(symptom) 操作:用戶登錄(login)、用戶注冊(users register)、修改密碼(change password)、醫(yī)生資料查詢(check doctor information
37、)、個人信息查詢 (check personal information). 這個類中,之所以要求病人用戶填寫真實姓名和身份證號,是為了讓管理員能夠?qū)徍藪焯柕娜耸欠袷钦鎸嵈嬖诘?,可以提高系統(tǒng)性能和可靠性. (4) 類名:醫(yī)生(doctors) 屬性:姓名(doctor name)、年齡(age)、編號(id)、畢業(yè)學(xué)校(School of Graduation)、從醫(yī)年齡(how long to be a doctor)、科室(Departments)、職稱(job title)、專長(special skill). 此類與病人類和管理員類不同,因為它只是用來讓管理員添加和讓病人用戶來預(yù)約而已
38、,他自己既不能查看自己的信息,也沒有登錄和注冊功能,故它不是用戶的子類. (5) 類名:預(yù)約信息(orders information) 屬性:預(yù)約編號(order id)、預(yù)約時間(order times)、預(yù)約人(order people)、預(yù)約醫(yī)生(ordered doctors)、科室(Departments)、專長(special skill). 此類可供病人查看自己的預(yù)約信息和管理員查看所用病人的預(yù)約信息和刪除不合格的預(yù)約信息. (6) 類名:掛號(order) 屬性:用戶名(user name)、密碼(password). 操作:登錄(Login)、取消預(yù)約(cancel ord
39、er),處理預(yù)約(deal with orders).這里的掛號是用戶的一個操作功能,之所以把它封裝成一個類,是為了讓此功類圖分析更加清晰,方便系統(tǒng)的分析,方便今后的工作. 3.3 輔助模型 3.3.1活動圖 對管理員和用戶兩個模塊進(jìn)行分析,判斷各模塊主要有哪些活動,然后對這些活動進(jìn)行分析,判斷出活動圖中的各個元素和活動圖的流程.在用戶模塊中可以看出主要是進(jìn)行查找醫(yī)生然后掛號的活動,所以用戶模塊中只需要用戶掛號活動圖;在管理員模塊中除了發(fā)布通知活動復(fù)雜外,其他活動一目了然. (1) 用戶掛號活動圖如圖3.4所示圖3.4 用戶活動圖用戶第一個動作為登錄,登錄在判斷后分為登陸成功和登錄失敗.登錄失
40、敗可以選擇繼續(xù)登錄還是活動結(jié)束.登陸成功后可以查詢科室,查詢科室以后可以查詢該科室的醫(yī)生,在查詢醫(yī)生以后可以進(jìn)行預(yù)約掛號,如果掛號人數(shù)已滿則該掛號取消,如果為等待驗證則掛號通過,然后活動結(jié)束.(2) 管理員發(fā)布通知活動圖如圖3.5所示 圖3.5 管理員活動圖管理員第一個動作為登錄,如果為登錄失敗則可以選擇繼續(xù)登錄還是結(jié)束活動.登錄成功后可以撰寫通知,通知撰寫后如果直接發(fā)布則后續(xù)可能有兩種情況,一種是刪除通知,另一種是結(jié)束活動.如果撰寫后等待發(fā)布則后續(xù)可能有三種情況,一種是刪除通知,另一種是發(fā)布通知,和上述直接發(fā)布一致.還有一種是修改通知,修改通知如果后續(xù)動作為等待發(fā)布,則和前面等待發(fā)布一致,如
41、果后續(xù)動作為發(fā)布,則和前面發(fā)布一致. 3.3.2順序圖 順序圖主要體現(xiàn)完成某一操作的順序關(guān)系. 從用戶登錄到網(wǎng)站首頁,和自己要選擇的登錄模塊(患者,醫(yī)生,管理員) 患者圖: 患者登錄、注冊后進(jìn)行預(yù)約掛號,查詢修改信息.用戶順序圖如圖3.6所示. 管理員: 登錄后對醫(yī)生信息和醫(yī)生的管理,管理員順序圖如圖3.7所示.圖3.6用戶順序圖圖3.7管理員順序圖 3.4 ER圖 ER模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用ER圖來表示數(shù)據(jù)模型.它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關(guān),用戶容易接受15. E-R圖為實體-聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實
42、世界的概念模型. 構(gòu)成E-R圖的基本要素是實體型、屬性和聯(lián)系,其表示方法為16: · 實體型:用矩形表示,矩形框內(nèi)寫明實體名; · 屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來; · 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1 : 1,1 : n或m : n).科室信息屬性圖如圖3.8所示,在該圖中實體為科室信息,科室信息有兩個屬性:科室名稱和科室概況.科 室 信 息科 室 名 稱科 室 概 況圖3.8 科室信息屬性圖管理員信息屬性圖如圖3.9所示,在該圖中實體為管理員,管理員有兩個屬性:賬戶
43、名和密碼.管 理 員賬號名密 碼圖3.9管理員信息屬性圖患者信息屬性圖如圖3.10所示,在該圖中實體為患者,患者的屬性分別為真實姓名、登錄名、登錄密碼、性別等.患 者姓 名登 錄 名登錄密碼類別性 別聯(lián)系電話地 址身份證號編號圖3.10患者信息屬性圖醫(yī)生信息屬性圖如圖3.11所示,在該圖中實體為醫(yī)生,醫(yī)生的屬性分別為醫(yī)生名稱、醫(yī)生職稱和醫(yī)生簡介.圖3.11醫(yī)生信息屬性圖醫(yī)生信息醫(yī)生職稱醫(yī)生名稱醫(yī)生簡介本系統(tǒng)的E-R圖如圖3.6所示,圖中顯示了4個用矩形表示的實體類型:用戶,科室信息,醫(yī)師信息和時間表,各個實體類型又有其對應(yīng)的類型,在上述圖中可以找到,實體與實體間存在四個聯(lián)系,根據(jù)不同的實際情況
44、給輸了聯(lián)系類型.從圖中可以清晰的看出各個實體的特點以及它們之間的關(guān)聯(lián)性. 圖3.6 系統(tǒng)E-R圖 圖3.12系統(tǒng)圖3.5數(shù)據(jù)庫設(shè)計在完成系統(tǒng)的ER圖之后,需要將ER模型轉(zhuǎn)化為關(guān)系模型,也就是說,要設(shè)計出所需要的表格.在這里,選用的是關(guān)系數(shù)據(jù)庫.因為關(guān)系數(shù)據(jù)庫中的二維表格可以很清楚地描述數(shù)據(jù)之間的聯(lián)系.管理員表如表3.1所示用來存儲管理員的基本信息,包括管理員的登錄名和密碼,在管理員登錄的時候使用.表3.1管理員表結(jié)構(gòu)字段名稱字段類型說明aid(k)int(4)ID序列號unameVarchar(20)登錄賬號UpwdVarchar(6)登錄密碼醫(yī)生信息表如表3.2所示主要用來存儲醫(yī)生的個人信息
45、,包括醫(yī)生姓名,性別,年齡,職稱等,在用戶查詢醫(yī)生時會顯示查出的該表中醫(yī)生個人信息. 表3.2醫(yī)生信息表結(jié)構(gòu)字段名稱字段類型說明did(k)int(4)ID序列號 NameVarchar(30)醫(yī)生名字 SexVarchar(2)性別 AgeInt(3)年齡 LevelVarchar(20)職稱 SpecialVarchar(20)擅長 SectionVarchar(20)科室 imgVarchar(100)醫(yī)生照片 患者信息表如表3.3所示用來存儲患者的基本信息,包括患者的登錄名,密碼,真實姓名,身份證號等.其中登錄名和密碼是患者在登錄系統(tǒng)是使用的.表3.3患者信息表結(jié)構(gòu)字段名稱字段類型說明
46、pid(k)int(4)ID序列號 NameVarchar(32)用戶姓名 UnameVarchar(32)登錄名稱 UpwdVarchar(32)登錄密碼 SexVarchar(2)性別 AgeVarchar(3)年齡 Address Varchar(32)地址 Phone Varchar(32)聯(lián)系電話 Id Varchar(18)醫(yī)生預(yù)約時間信息表如表3.4所示用來存儲醫(yī)生的預(yù)約信息,包括預(yù)約日期,上午/下午,醫(yī)生現(xiàn)在能夠掛號的數(shù)量,醫(yī)生id,其中醫(yī)生編號是醫(yī)生表中的主鍵作為醫(yī)生預(yù)約時間信息表的外鍵,為了將預(yù)約時間表和醫(yī)生聯(lián)系在一起.表3.4醫(yī)生預(yù)約時間信息表結(jié)構(gòu)字段名稱字段類型說明 c
47、id(k)int(12)ID序列號 dateVarchar(32)日期 apVarchar(32)上午/下午 numberint(12)掛號數(shù)量 didint(12)醫(yī)生編號病人掛號表如表3.5所示用來表示病人在某個醫(yī)生處掛號的基本信息,包括醫(yī)生編號,病人編號,預(yù)約日期,上午/下午,醫(yī)生姓名,其中病人編號是病人表中的主鍵作為病人掛號表的外鍵,醫(yī)生編號是醫(yī)生表中的主鍵作為掛號表的外鍵,為了將掛號表與醫(yī)生表和病人表聯(lián)系在一起.表3.5病人掛號表結(jié)構(gòu)字段名稱字段類型說明oidInt(12)ID序列號didInt(12)醫(yī)生編號pidInt(12)病人編號date Verchar(12)日期ap Ve
48、rchar(12)上午/下午docName Verchar(32)醫(yī)生姓名4 系統(tǒng)實現(xiàn) 4.1 系統(tǒng)首頁的實現(xiàn)基于WEB服務(wù)的醫(yī)院網(wǎng)上掛號系統(tǒng)首頁如圖4.1所示完成醫(yī)院概述,新聞公告,科室導(dǎo)航等,如果用戶已經(jīng)登錄可以查看自己的掛號信息,沒有登錄則不能查看.瀏覽者可以輸入自己想要掛號的醫(yī)生姓名或科室名稱查找自己想要掛號的醫(yī)生,查找后會顯示該科室的醫(yī)生姓名或該醫(yī)生的姓名,支持模糊查詢.瀏覽者點擊醫(yī)生姓名后會顯示該醫(yī)生的信息和掛號信息,如果已經(jīng)登錄點擊確認(rèn)預(yù)約后會判斷是否已經(jīng)在該醫(yī)生處掛過號,如果沒有則掛號成功,如果有則掛號失敗,如果用戶沒有登錄則點擊預(yù)約掛號后會跳轉(zhuǎn)到登錄界面.查找自己系統(tǒng)主界面不
49、需要登錄密碼等信息,為瀏覽者任意開放,供瀏覽者了解醫(yī)院情況和查找醫(yī)生,瀏覽者不需要登錄就可以使用這些功能.圖4.1 首頁 4.2 登錄功能實現(xiàn)在登錄窗口,用戶可以選擇管理員還是用戶登錄,選擇完以后輸入用戶名和密碼,用戶名和密碼輸入完成后點擊登錄按鈕提交到servlet.servlet取得用戶輸入的用戶名和密碼,然后判斷用戶選擇的是管理員登陸還是用戶登錄,根據(jù)用戶的選擇調(diào)用相應(yīng)的dao查詢數(shù)據(jù)庫中是否存在該用戶或者管理員.servlet取得返回值后判斷是否登陸成功,如果登錄成功則跳轉(zhuǎn)到管理員界面或用戶界面,如果用戶登錄失敗,會跳轉(zhuǎn)回登陸界面并且提示“用戶名或密碼錯誤”,用戶重新輸入用戶名和密碼繼
50、續(xù)上面的步驟.用戶登錄頁面如圖4.2所示.圖4.2 用戶登錄頁面 4.2 用戶功能的實現(xiàn)4.2.1 用戶注冊功能的實現(xiàn)如果需要注冊新用戶,可以使用用戶注冊功能,添加的信息包括用戶的真實姓名、性別、登陸名、登陸密碼、地址等其他信息.當(dāng)用戶輸入完一條信息后鼠標(biāo)移開,會在javaScript進(jìn)行驗證,如果輸入錯誤會提示輸入錯誤信息,用戶看到錯誤信息后應(yīng)該根據(jù)提示的信息對輸入的信息進(jìn)行修改.只有當(dāng)用戶的所有需要填寫的信息都正確時,用戶才可以進(jìn)行注冊.用戶點擊注冊按鈕后會把所有信息傳遞到servlet,servlet調(diào)用該模塊Dao里的方法,把所有信息插入數(shù)據(jù)庫.Servlet根據(jù)返回的信息判斷是否插入
51、(注冊)成功,如果注冊成功則跳轉(zhuǎn)到登錄頁面,注冊失敗跳轉(zhuǎn)回注冊頁面.在判斷用戶名和身份證的時候使用了ajax方法,用戶輸入完用戶名后鼠標(biāo)移開,進(jìn)入判斷用戶名是否存在的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ù)器通信,
52、不需要打斷用戶的操作.所以在判斷用戶名的時候使用ajax進(jìn)行判斷,不會清除用戶輸入的其他信息.在使用ajax的時候剛開始得不到ajax方法得不到servlet返回的值,所以ajax方法不能使用.最后解決方法是通過“JSONArray json = JSONArray.fromObject(check);”把得到的數(shù)據(jù)轉(zhuǎn)化成json格式,然后通過“out.write(json.toString();”返回到ajax中,通過這樣的方式可以得到servlet的返回值.判斷用戶名ajax代碼如下: $.getJSON( /url "http:/localhost:8080/Hos/Check
53、Uname", /data "name":$("#Loginname").val(), function(data) /判斷,如果為true 提示成功,否則失敗 if(data0.value=1)/清除表單 $("#login_msg") .empty() .html("用戶名已存在"); else $("#login_msg") .empty() .html("用戶名可以使用") 先定義ajax的跳轉(zhuǎn)路徑和傳遞參數(shù),用戶名是判斷用戶名是否存在的servlet名,參
54、數(shù)是用戶輸入的用戶名.然后取得servlet返回的數(shù)據(jù),判斷用戶名是否已存在,如果存在則提示用戶“用戶名已存在”,用戶需要重新填寫用戶名,如果不存在則提示用戶“用戶名可以使用”,用戶可以繼續(xù)填寫下面的信息. 4.2.2 用戶查詢醫(yī)生功能的實現(xiàn)患者可以根據(jù)自己的病情查詢自己想要掛號的醫(yī)生,可以通過下拉框選擇輸入醫(yī)生姓名或醫(yī)生科室查找醫(yī)生,本模塊采用的是模糊搜索,也就是說用戶不輸入醫(yī)生的完整姓名或者科室的完整名稱也可以進(jìn)行查詢.用戶輸入完成后點擊搜索按鈕跳轉(zhuǎn)到servlet,servlet取得用戶輸入的參數(shù)和用戶選擇的是按醫(yī)生姓名查詢還是按醫(yī)生科室進(jìn)行查詢,判斷患者的選擇后調(diào)用本模塊dao中相應(yīng)的
55、方法,查詢數(shù)據(jù)庫中的醫(yī)生姓名.查詢完后servlet跳轉(zhuǎn)到用戶查找醫(yī)生頁面進(jìn)行顯示,顯示的是查詢出的醫(yī)生姓名.用戶選擇自己想要掛號的醫(yī)生姓名點擊進(jìn)入預(yù)約掛號模塊.String select = request.getParameter("quicksearch1$select");String name = request.getParameter("txt");/醫(yī)生姓名or科室名稱List<Doctor> list = new ArrayList<Doctor>();if("1".equals(select)/按姓名查詢醫(yī)生信息PatientDao pdao = new PatientImpl();list = pdao.CheckDoctor1(name);else/按科室查詢
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手房屋買賣合同的還款合同違約3篇
- 學(xué)校與單位合作共建協(xié)議范本版3篇
- 國際會議贊助合同樣本3篇
- 農(nóng)村灌溉井承包協(xié)議書3篇
- 農(nóng)資平臺入住合同范例
- 健身房承包經(jīng)營管理合同范文3篇
- 農(nóng)用化肥買賣協(xié)議書3篇
- 合同補充協(xié)議書模板2篇
- 國際買賣合同模版3篇
- 個人租電腦合同范例
- 福建省莆田市2023-2024學(xué)年八年級上學(xué)期期末質(zhì)量監(jiān)測數(shù)學(xué)試卷(含解析)
- 2023-2024年人教版七年級上冊數(shù)學(xué)期末試題(含簡單答案)
- 人教版六年級上冊數(shù)學(xué)《圓》大單元作業(yè)設(shè)計
- 【培訓(xùn)課件】proe工程圖培訓(xùn)
- 國家集采藥品培訓(xùn)課件
- 鳥類的遷徙與繁殖方式教學(xué)教案
- 航空公司乘務(wù)長的述職報告
- 南京市玄武區(qū)2023-2024學(xué)年八年級上學(xué)期期末歷史試卷(含答案解析)
- 公司轉(zhuǎn)讓債權(quán)股東會決議
- 露天礦設(shè)備運行分析報告
- 防高空墜物安全教育課件
評論
0/150
提交評論