基于JAVA的醫(yī)院門診信息管理系統(tǒng)設(shè)計與實現(xiàn)(含源文件)_第1頁
基于JAVA的醫(yī)院門診信息管理系統(tǒng)設(shè)計與實現(xiàn)(含源文件)_第2頁
基于JAVA的醫(yī)院門診信息管理系統(tǒng)設(shè)計與實現(xiàn)(含源文件)_第3頁
基于JAVA的醫(yī)院門診信息管理系統(tǒng)設(shè)計與實現(xiàn)(含源文件)_第4頁
基于JAVA的醫(yī)院門診信息管理系統(tǒng)設(shè)計與實現(xiàn)(含源文件)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 編 號: 審定成績: 畢業(yè)設(shè)計(論文)設(shè)計(論文)題目:基于JAVA的醫(yī)院門診信息管理系統(tǒng)設(shè)計與實現(xiàn)學 院 名 稱 :計算機科學與技術(shù)學院學 生 姓 名 :XXX專 業(yè) :計算機網(wǎng)絡(luò)技術(shù)班 級 :XXXXXXXX學 號 :XXXXXXXXX指 導 教 師 :XXX答辯組 負責人 :填表時間: 摘 要醫(yī)院門診信息管理系統(tǒng)是一個基于Internet的應(yīng)用系統(tǒng),它是一個面對當前的醫(yī)院門診管理工作基本還處于手工和半信息自動化處理狀態(tài)而應(yīng)運而生的一個基于Internet的一個信息自動化的系統(tǒng),整個系統(tǒng)從符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā),完成預(yù)約、診斷、開具處方、保存病歷管理的全過程。

2、醫(yī)療事業(yè)單位只需具備訪問Internet的條件即可在系統(tǒng)發(fā)布的站點上進行醫(yī)療門診的管理。在圖型化的人機界面中完成日常的醫(yī)療門診管理工作.一方面擺脫了時間和空間的限制,另一方面有效的解決的數(shù)據(jù)共享的問題。經(jīng)過實際使用證明,本文所設(shè)計的醫(yī)院門診信息管理系統(tǒng)可以滿足醫(yī)院在門診管理方面的需要?!娟P(guān)鍵詞】 JSP 醫(yī)院門診 信息管理系統(tǒng)ABSTRACTHospital outpatient information management system is an Internet-based application system. It is an Internet-based automated inf

3、ormation system that solves the outpatient medical management of the basic work is still in the manual and semi-automated processing of information. The entire system is simple, friendly interface, flexible, practical and safe, and complete the entire process of booking, diagnosis, prescribing and m

4、edical records management preservation. Medical institutions only need visit the Internet can use the system for the release site medical clinic management. Using the pattern of the man-machine interface complete routine outpatient medical management. While out of time and space constraints, on the

5、other hand, it is an effective solution to the data sharing problem. Through practical show that JSP-based hospital outpatient information management system to meet the hospital in-patient management needs. 【Key Words】 JSP Hospital Outpatient Information Management System目 錄第一章 緒論.1第一節(jié) 課題研究現(xiàn)狀分析.1第二節(jié)

6、技術(shù)發(fā)展的趨勢.1 第二章 醫(yī)院門診信息管理系統(tǒng)需求分析.2第一節(jié) 業(yè)務(wù)分析.2一、業(yè)務(wù)角色.2二、業(yè)務(wù)詞匯.3第二節(jié)系統(tǒng)需求定義.3第三章 醫(yī)院門診信息管理系統(tǒng)技術(shù)解決方案比較.5第一節(jié)Web應(yīng)用解決方案.5第二節(jié) 基于JSP + JavaBean的解決方案.5一、什么是JSP.5二、使用JSP的好處.6三、什么是JavaBean.6四、使用JavaBean的好處.6五、使用JSP+JavaBea的好處.7第三節(jié) JSP及JavaBean工作原理介紹.8一、JSP內(nèi)置對象.8二、JSP+JavaBean的運行環(huán)境.11第四章 醫(yī)院門診信息管理系統(tǒng)概要設(shè)計.13第一節(jié) 醫(yī)院門診信息管理系統(tǒng)文檔

7、結(jié)構(gòu)定義.13第二節(jié) 數(shù)據(jù)組織與定義.14一、數(shù)據(jù)庫概念設(shè)計.14二、數(shù)據(jù)庫邏輯設(shè)計.15第五章 基于JSP與JavaBean的醫(yī)院門診信息管理系統(tǒng)詳細設(shè)計.16第一節(jié) 系統(tǒng)功能模塊設(shè)計.16第二節(jié) 系統(tǒng)功能模塊實現(xiàn).17一、hospital.db包的類.17二、hospital.db.opreation包.22第六章 測試.46第一節(jié) 測試基本方法.47一、界面測試.47二、功能測試.47第二節(jié) 測試用例及測試結(jié)果.48結(jié) 論.56致 謝.57參考文獻.58附 錄.59IV緒 論醫(yī)院門診信息管理系統(tǒng)是信息管理系統(tǒng)在醫(yī)院門診部門中的應(yīng)用。隨著Internet技術(shù)的發(fā)展,其被廣泛應(yīng)用與各行各業(yè),

8、醫(yī)院門診部門是其一個重要的應(yīng)用領(lǐng)域。伴隨著醫(yī)院的改革,醫(yī)院信息化進程的加速,建立基于Web的醫(yī)院門診信息管理系統(tǒng)顯得尤為重要。第一節(jié) 課題研究現(xiàn)狀分析隨著醫(yī)療衛(wèi)生事業(yè)的發(fā)展,醫(yī)院改革的深入,信息的有效、高效利用,已受到人們的關(guān)注。充分利用現(xiàn)代科技手段,加強各種信息的利用開發(fā),是醫(yī)院信息管理的一個重要內(nèi)容,也是當今醫(yī)院的需要。目前的醫(yī)院僅僅把醫(yī)院的信息管理系統(tǒng)作為微機工具系統(tǒng),而沒有發(fā)揮其管理的真正功能;系統(tǒng)分散設(shè)計,各部門獨立實施,沒有考慮信息的關(guān)聯(lián)和共享,存在信息孤島現(xiàn)象;醫(yī)院管理錯綜復(fù)雜,從而形成了醫(yī)院信息管理系統(tǒng)數(shù)據(jù)的多樣化,數(shù)據(jù)量大等特點1。通過本次醫(yī)院門診信息系統(tǒng)的設(shè)計,解決醫(yī)院系統(tǒng)

9、中各種信息管理的集成問題,使醫(yī)院系統(tǒng)的各種信息管理一體化。同時,了解醫(yī)院門診的流程,把握信息管理系統(tǒng)開發(fā)概念,掌握動態(tài)網(wǎng)站技術(shù),熟悉系統(tǒng)開發(fā)的進程,做到會用相關(guān)工具設(shè)計和開發(fā)相關(guān)系統(tǒng),并實現(xiàn)。第二節(jié) 技術(shù)發(fā)展趨勢隨著Internet技術(shù)的普及和發(fā)展基本上各種不同操作系統(tǒng)平臺上都有相應(yīng)的Web瀏覽器程序,這就使得醫(yī)院門診信息管理系統(tǒng)具有非常廣泛的平臺兼容性??蛻舳藘H需一個Web瀏覽器程序,不再需要安裝其它軟件??蛻舫绦蛑饕℉TML頁面和一些特殊的數(shù)據(jù)庫訪問程序,它們都存放在Web服務(wù)器上,客戶應(yīng)用系統(tǒng)的設(shè)計、維護和更新工作只需在Web服務(wù)器上進行,這樣就大大降低了系統(tǒng)安裝、測試、維護的工作量

10、2。通過基于Web的醫(yī)院門診信息管理系統(tǒng)的開發(fā),可以實現(xiàn)對醫(yī)院門診相關(guān)信息的整合管理以及共享,并且通過組件技術(shù)的應(yīng)用,可以使得本醫(yī)院門診信息管理系統(tǒng)具有很大的可擴展性和可移植性3。第二章 醫(yī)院門診信息管理系統(tǒng)需求分析第一節(jié) 業(yè)務(wù)分析一、業(yè)務(wù)角色(1) 患者角色l 可聯(lián)機注冊成為用戶,設(shè)定自己的登陸名及密碼;l 可按醫(yī)生姓名自定義查詢;l 可基于查詢結(jié)果進行預(yù)約,若指定醫(yī)生當日預(yù)約量已滿,則預(yù)約失 敗。預(yù)約結(jié)果隨機返回給患者;l 可對已經(jīng)進行的預(yù)約情況查看或撤銷。圖2.1 患者用例圖 (2) 醫(yī)生角色l 可查看預(yù)約患者的情況;l 可查詢患者病歷;l 可創(chuàng)建患者病歷;l 可對患者的病歷進行修改。圖

11、2.2 醫(yī)生用例圖(3) 管理員角色l 可添加或刪除醫(yī)生賬號。圖2.3 管理員用例圖二、業(yè)務(wù)詞匯(1) 醫(yī)院門診:門診是醫(yī)院接診病人的場所。病人到醫(yī)院之后首先在門診由醫(yī)護人員進行接診,經(jīng)過一整套的診斷手段,給病人得出初步診斷,并且進行進一步治療的指導。(2) 預(yù)約:由于醫(yī)院某些專家的就診患者多,醫(yī)生為了確保有時間問診患者并且患者為了確定來醫(yī)院就診時可以準時接收醫(yī)生的診斷而采用的一種手段。(3) 電子病歷:由于傳統(tǒng)的紙質(zhì)病歷不利于保存和查詢,而且浪費資源,所以采用將病歷信息電子化,便于整個醫(yī)院信息的共享和交流。(4) 醫(yī)生基本信息:記錄醫(yī)生編號、姓名、年齡、登錄時的密碼、職稱、所屬科室和專家門診

12、科目等醫(yī)生相關(guān)信息。(5) 患者基本信息:記錄注冊患者的編號、姓名、登錄時用戶名、登錄時密碼、年齡、性別、家庭住址和聯(lián)系電話等患者相關(guān)信息。(6) 病歷基本信息:記錄病歷記錄的編號、主治醫(yī)生編號、癥狀、診斷、患者編號、處方等病歷相關(guān)的信息。(7) 預(yù)約信息:記錄預(yù)約記錄的編號、主治醫(yī)生的編號、患者編號、預(yù)約時間、預(yù)約就診時間等預(yù)約相關(guān)信息。第二節(jié) 系統(tǒng)需求定義本系統(tǒng)是基于JSP的醫(yī)療門診信息管理系統(tǒng),要求實現(xiàn)對醫(yī)院里醫(yī)生信息、病人、病歷以及醫(yī)藥信息進行有效管理及其開發(fā),主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面4,重點解決的問題包括:(1) 病歷基本信息管理:病歷信息包括病歷

13、記錄的編號、主治醫(yī)生的編號、癥狀、診斷、患者編號、處方等內(nèi)容,醫(yī)生可以創(chuàng)建病歷并且可以添加病歷信息和修改病歷信息,病人可以查詢自己的病歷信息。(2) 患者基本信息管理:患者基本信息包括患者編號、姓名、登錄系統(tǒng)的用戶名、登錄密碼、年齡、性別、家庭住址和聯(lián)系電話等。患者注冊時向患者表中插入一條記錄。(3) 醫(yī)生基本信息管理:醫(yī)生基本信息包括醫(yī)生的編號、姓名、年齡、性別、職稱、所屬科室、學歷等內(nèi)容,管理員通過登錄可以添加和刪除醫(yī)生信息。(4) 預(yù)約信息管理:預(yù)約信息包括記錄編號、主治醫(yī)生編號、患者編號、預(yù)約就診時間等內(nèi)容,病人可以預(yù)約醫(yī)生和取消預(yù)約,醫(yī)生登錄后可以查詢自己的預(yù)約信息。本課題的應(yīng)用難點

14、有:(1) 病歷基本信息管理:傳統(tǒng)的紙質(zhì)病歷既不便于患者、醫(yī)生查詢信息,也不便于保存,本系統(tǒng)才用電子病歷5。病歷基本信息管理系統(tǒng)選擇基于三層結(jié)構(gòu)的C/S、B/S混合模式,三層結(jié)構(gòu)中,底層是電子病歷數(shù)據(jù)庫服務(wù)器,用于存儲和管理病歷等數(shù)據(jù);中間層是應(yīng)用服務(wù)器和Web服務(wù)器,其中應(yīng)用服務(wù)器用于實現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯,完成各種復(fù)雜的管理操作和數(shù)據(jù)存取,Web服務(wù)器用于提供系統(tǒng)的Web服務(wù),還可以通過網(wǎng)關(guān)與外部系統(tǒng)進行數(shù)據(jù)交換和信息傳遞;最上層是客戶端,位于門診大廳,Windows用戶通過專用程序完成相關(guān)操作,IE用戶通過瀏覽器使用。(2) 預(yù)約信息管理:患者登錄系統(tǒng)預(yù)約醫(yī)生,信息插入預(yù)約表,或者取消預(yù)約,

15、即從預(yù)約表中刪除相關(guān)預(yù)約信息;醫(yī)生通過登錄可以創(chuàng)建病歷,通過給預(yù)約的患者看病在病歷表中添加病歷信息。第三章 醫(yī)院門診信息管理系統(tǒng)技術(shù)解決方案比較第一節(jié) Web應(yīng)用解決方案本系統(tǒng)采用動態(tài)網(wǎng)站技術(shù)。早期的動態(tài)網(wǎng)站開發(fā)技術(shù)使用的是CGI-BIN接口。這種開發(fā)技術(shù)存在著嚴重的擴展性問題:每一個新的CGI程序要求在服務(wù)器上新增一個進程。為克服這一弊端,微軟公司提出了Active Server Pages(ASP)技術(shù),該技術(shù)利用“插件”和API簡化了Web應(yīng)用程序的開發(fā)。Hypertext Preprocessor(超文本預(yù)處理器),即PHP動態(tài)網(wǎng)站開發(fā)技術(shù)與ASP相似,也是一種嵌入HTML文檔的服務(wù)器

16、端腳本語言。還有一些技術(shù),如Java Servlets技術(shù),利用該技術(shù)可以很容易地用Java語言編寫交互式的服務(wù)器端代碼。太陽微系統(tǒng)公司(Sun Microsystems Inc.)在Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開發(fā)工具供應(yīng)商間廣泛支持與合作下,整合并平衡了已經(jīng)存在的對Java編程環(huán)境(例如Java Servlets和JavaBeans)進行支持的技術(shù)和工具后產(chǎn)生了一種新的、開發(fā)基于Web應(yīng)用程序的方法JavaServer Pages技術(shù)(JSP)。這種動態(tài)網(wǎng)站開發(fā)技術(shù)能夠在任何的Web或應(yīng)用服務(wù)器上運行,而且分離了應(yīng)用程序的邏輯和頁面顯示,能夠進行快速的開發(fā)和測試,并且簡化了開發(fā)基

17、于Web的交互式應(yīng)用程序的過程?;诖?,我們選擇JSP+JavaBean技術(shù)來實現(xiàn)相應(yīng)模塊的開發(fā)。第二節(jié) 基于JSP + JavaBean的解決方案一、 什么是JSPJSP(Java Server Pages)是Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準。 JSP技術(shù)是用JAVA語言作為腳本語言的,JSP網(wǎng)頁為整個服務(wù)器端的JAVA庫單元提供了一個接口來服務(wù)于HTTP的應(yīng)用程序6。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪

18、問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。 程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。二、使用JSP的好處JSP的設(shè)計目標主要是提供一種更為簡便、有效的動態(tài)網(wǎng)頁編寫手段,并且增強網(wǎng)頁程序的獨立性、兼容性和可重用性。它是通過以下幾個方面加以實現(xiàn)的: (1) 簡便性和有效性 JSP動態(tài)網(wǎng)頁的編寫與一般的靜態(tài)HTML的網(wǎng)頁的編寫十

19、分相似,只是在原來的HTML網(wǎng)頁中加入一些JSP專有的標簽,或是一些腳本程序(而且此項不是必需的)。這樣,一個熟悉HTML網(wǎng)頁編寫的設(shè)計人員可以很容易進行JSP網(wǎng)頁的開發(fā)。而且開發(fā)人員完全可以不自己編寫腳本程序,而只是通過JSP獨有的標簽利用別人已寫好的部件來實現(xiàn)動態(tài)網(wǎng)頁的編寫。這樣,一個不熟悉腳本語言的網(wǎng)頁開發(fā)者,完全可以利用JSP做出漂亮的動態(tài)網(wǎng)頁,而這在其他的動態(tài)網(wǎng)頁開發(fā)中是不可思議的。 (2) 程序的獨立性 JSP是Java API家族的一部分,它擁有一般的Java程序的跨平臺的特性,換句話說,就是擁有程序的對平臺的獨立性。即:Write once, Run anywhere! (3)

20、 程序的兼容性 因為 JSP中的動態(tài)內(nèi)容可以各種形式進行顯示,所以它可以為各種客戶提供服務(wù):從使用HTML/DHTML的瀏覽器,到使用WML的各種手提無線設(shè)備(如,移動電話和個人數(shù)字設(shè)備PDA),再到使用XML的B2B應(yīng)用,都可以使用JSP的動態(tài)頁面。 三、什么是JavaBeanJavaBean是一種可重復(fù)用、跨平臺的軟件組件。JavaBean可以為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒有用戶界面,主要負責處理事務(wù)(如數(shù)據(jù)運算,操縱數(shù)據(jù)庫)的JavaBean。JSP通常訪問的是后一種JavaBean。四、使用JavaBean的好處 Java

21、Bean最大的優(yōu)點在于可以實現(xiàn)代碼的可重用性。同時,JavaBean又具有一下特性:l JavaBean是一個公共的(public)類;l JavaBean有一個不帶數(shù)的構(gòu)造方法;l JavaBean通過get方法沒置屬性,通過set方法獲取屬性;l 易于維護、使用、編寫;l 可移植性強,但僅限于Java工作平臺;l 便于傳輸,不論是本地還是網(wǎng)絡(luò);l 可以以其它部件的模式進行工作。五、使用JSP + JavaBean的好處JSP與JavaBean搭配使用,有3個好處:l 使得html與Java程序分離,這樣便于維護代碼。如果把所有的程序 代碼都寫到JSP網(wǎng)中,會使得代碼繁雜,難以維護。l 可以

22、降低開發(fā)JSP網(wǎng)頁人員對java編程能力的要求。l JSP側(cè)重于生成動態(tài)網(wǎng)頁,事務(wù)處理由JavaBean來完成,這樣可以充分利用JavaBean組件的可重用性特點,提高開發(fā)網(wǎng)站的效率。第三節(jié) JSP及JavaBean工作原理介紹一、 JSP內(nèi)置對象JSP有九種內(nèi)置對象:request,reponse,out,session,application,config,pagecontext,page,exception7。(1) request對象:request對象代表請求對象,它被包裝在HttpServletRequest接口。通過getParameter方法可以得到request的參數(shù),通過G

23、ET、POST、HEAD等方法可以得到request的類型,通過Cookies、Referer等可以得到請求的HTTP頭。來自客戶端的請求經(jīng)Servlet容器處理后,有Request對象進行封裝。它作為jspService()方法的一個參數(shù)有容器傳遞給JSP頁面。Request對象主要方法:l getAttribute(String name) 返回name屬性值。l getAttributeNames() 返回request對象所有屬性名字。l getCookies() 返回客戶端的cookies對象。l getHeader(String name) 獲得HTTP協(xié)議定義的文件頭信息。l g

24、etHeaders(String name) 返回指定名字的request Header的所有值。l getMethod() 獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法。l getParameter(String name) 獲得客戶端傳送給服務(wù)器端的參數(shù)值。 l getParameterNames() 獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字。l getParameterValue(String name) 獲得指定參數(shù)的所有值。l getProtocol() 獲取客戶端向服務(wù)器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱。l getQueryString() 獲得查詢字符串。l getRequestURI() 獲取

25、發(fā)出請求字符串的客戶端地址。l getRemoteAddr() 獲取客戶端的IP地址。 l getRemoteHost() 獲取客戶端的名字。l getServerName() 獲取服務(wù)器的名字。l getServletPath() 獲取客戶端所請求的腳本文件的文件路徑。l getServerPort() 獲取服務(wù)器的端口號。l setAttribute(String name, java.lang.Object objt) 設(shè)置名字為name的request參數(shù)的值,該值是由java.lang.Object類型的objt指定。(2) response對象:response被包裝成HttpSe

26、rvletResponse接口,它封裝了JSP產(chǎn)生響應(yīng),然后被發(fā)送到客戶端以響應(yīng)客戶的請求。和Request對象一樣,它由容器生成,作為jspService()方法的參數(shù)被傳入JSP。因為輸出流是緩沖的,所以可以設(shè)置HTTP狀態(tài)碼和response頭。Response對象的主要方法有:l addCookie(Cookie cook) 添加一個cookie對象,用來保存客戶端的用戶信息。l addHeader(String name , String value) 添加HTTP文件頭信息。l containsHeader(String name) 判斷指定名字的HTTP文件頭是否已經(jīng)存在。l s

27、endError(int) 向客戶端發(fā)送錯誤的信息。l setHeader(String name , String value) 設(shè)置指定名字的HTTP文件頭的值。(3) pageContext對象:pageContext對象被封裝成javax.servlet.jsp.pageContext接口,它為JSP頁面包裝頁面的上下文,管理對屬于JSP中特殊可見部分中以命名對象的訪問。它的創(chuàng)建和初始化都是由容器完成的。pageContext對象中常用的方法有:l getAttribute scope() 檢索一個特定的已經(jīng)命名對象的范圍。l findAttribute() 用來按照頁面請求、會話以及

28、應(yīng)用程序范圍的順序?qū)崿F(xiàn)對某個已經(jīng)命名屬性的搜索。l setAttribute() 用來設(shè)置默認頁面的范圍或特定范圍之中的已命名對象。l removeAttribute() 用來刪除默認頁面范圍或特定范圍之中已命名的對象。(4) session對象:session對象用來保存每個用戶的信息,以便跟蹤每個用戶的操作狀態(tài)。其中,session信息保存在容器里,session的ID保存在客戶機的Cookie中。session對象的主要方法:l getAttribute(String name) 獲取與指定名字name相聯(lián)系的信息。l getAttributeNames() 返回session對象中存儲

29、的每一個屬性對象。l getCreationTime() 返回session被創(chuàng)建的時間。l getId() 返回唯一的標識,為每一個session而產(chǎn)生。l getLastAccessedTime() 返回當前session對象最后被客戶發(fā)送的時間。l getMaxInactiveInterval() 返回總時間(秒)。l removeAttribute(String name) 刪除與指定名字name的相聯(lián)系的信息。l setAttribute(String name , java.lang.object value) 設(shè)置指定名字name的屬性值value,并存儲在session對象中。

30、(5) application對象:application對象為多個應(yīng)用程序保存信息。application對象的主要方法:l getAttribute(String name) 返回由name指定的名字application對象的屬性的值。l getAttributeNames() 返回所有application對象的屬性的名字。l getInitParameter(String name) 返回由name指定的名字的application對象的某個屬性的初始值。l getServletInfo() 返回servlet編譯器當前版本信息。l setAttribute(String name

31、, Object object) 設(shè)置指定名字name的application對象的屬性值object.(6) out對象:out對象被封裝成javax.servlet.jsp.JspWriter接口。他主要用來向客戶端輸出數(shù)據(jù),代表輸出流的對象。out對象的主要方法:l out.print/println (boolean | char | char | double | float | int | long | object | string |) 輸出各種類型的數(shù)據(jù)。l out.newLine() 輸出一個換行字符。l out.flush() 輸出緩沖區(qū)里的數(shù)據(jù)。l out.close(

32、) 關(guān)閉輸出流。l out.clearBuffer() 清除緩沖區(qū)里的是數(shù)據(jù),并把數(shù)據(jù)輸出到客戶端。l out.clear() 清除緩沖區(qū)里的是數(shù)據(jù),但不會把數(shù)據(jù)輸出到客戶端。l out.getBufferSize() 獲得緩沖區(qū)的大小。l out.getRemaining() 獲取緩沖區(qū)中沒有被占用的空間的大小。l out.isAutoFlush() 返回布爾值。(7) config對象:config對象被封裝成javax.servlet.ServletConfig接口,它表示Servlet的配置。config對象的主要方法:getServletContext() 返回執(zhí)行者的Servlet

33、上下文。getServletName() 返回Servlet的名字。getInitParameter(String name) 返回名字為name的初始參數(shù)的值。getInitParameterNames() 返回這個JSP的所有的初始參數(shù)的名字。(8) page對象:page對象是類java.lang.Object類的一個實例,它是JSP本身,通過這個可以對它進行訪問。(9) exception對象:exception對象是java.lang.Throwable類的一個實例。它指的是運行時的異常,也就是被調(diào)用的錯誤頁面的結(jié)果,只在錯誤頁面(在頁面指令里有isErrorPage=true的頁面

34、)中才可以使用。二、JSP + JavaBean運行環(huán)境本系統(tǒng)建立在Windows XP平臺上,用Apache+Tomcat作為JSP服務(wù)端引擎,采用Eclipse作為后臺設(shè)計開發(fā)環(huán)境。Apache是一個web服務(wù)器環(huán)境程序啟用他可以作為web服務(wù)器使用。不過只支持靜態(tài)網(wǎng)頁,不支持動態(tài)網(wǎng)頁,如(.asp,.jsp)等。如果要在Apache環(huán)境下運行jsp網(wǎng)頁,就需要一個解釋器來執(zhí)行jsp網(wǎng)頁,而這個jsp解釋器就是Tomcat。Tomcat是一個免費且開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache、Sun和其它一些公司及個人共同開發(fā)而成。由

35、于有了Sun的參與和支持,最新的Servlet和jsp規(guī)范總能在Tomcat中得到體現(xiàn)。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個WAR(WebArchive)文件。在Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。Eclipse是替代IBM Visual Age for Java的下一代IDE開發(fā)環(huán)境。根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。Eclipse是開放源代碼的項目,其本身是用Java語言編寫,但下載的壓縮包中并不包含Jav

36、a運行環(huán)境,需要用戶自己另行安裝JRE,并且要在操作系統(tǒng)的環(huán)境變量中指明JRE中bin的路徑。Eclipse提供的核心框架和可擴展的插件機制給廣大的程序員提供了無限的想象和創(chuàng)造空間。第四章 醫(yī)院門診信息管理系統(tǒng)概要設(shè)計第一節(jié) 醫(yī)院門診信息管理系統(tǒng)文檔結(jié)構(gòu)定義本系統(tǒng)包括兩個邏輯層包hospital.db包和hospital.db.operation包以及一些.jsp文件。(1) hospital.db包封裝了整個網(wǎng)站用于完成基礎(chǔ)功能的類,具體包括:hospital.db.Util:輔助類,用于完成一些JSP中常用的功能,比如字符集的轉(zhuǎn)換。hospital.db.InitServlet:初始化整個

37、Servlet環(huán)境。hospital.db.DBConnection:與整個數(shù)據(jù)庫連接,返回Connection對象。hospital.db.Debug:記錄日志,將信息寫入指定的日志文件中。(2) hospital.db.operation包封裝了所有用戶角色有關(guān)的模型,具體如下:hospital.db.dboperation.DBOperation:建立用戶的抽象模型,供子類繼承。hospital.db.dboperation.Admin:繼承自DBOperation,定義管理員模型。hospital.db.dboperation.Doctor:繼承自DBOperation,定義醫(yī)生模型。

38、hospital.db.dboperation.Patient:繼承自DBOperation,定義患者模型。hospital.db.dboperation.InvalidUserException:繼承自Exception,用以封裝一個表示“非法用戶名”的異常。(3) jsp文件:以適當?shù)姆绞酵ㄟ^邏輯層與數(shù)據(jù)層交互及一些頁面代碼。第二節(jié) 數(shù)據(jù)組織與定義一、數(shù)據(jù)庫概念設(shè)計 醫(yī)院門診信息管理系統(tǒng)的數(shù)據(jù)庫功能主要體現(xiàn)在對各種信息的提供、保存、更新和查找操作上,主要包括患者信息、醫(yī)生信息、預(yù)約信息8。因此:l 患者和醫(yī)生有不同的權(quán)限因此身份不同。l 用戶信息記錄不同的用戶資料。l 預(yù)約信息有預(yù)約時間、

39、預(yù)約用戶等。經(jīng)過上述功能分析和需求總結(jié),考慮到將來功能上的擴展,設(shè)計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):l 管理員信息:包括數(shù)據(jù)項管理員名、密碼等。l 醫(yī)生信息:包括數(shù)據(jù)項醫(yī)生名、密碼等。l 患者信息:包括數(shù)據(jù)項用戶名、密碼等。l 預(yù)約信息:包括數(shù)據(jù)項醫(yī)生名、預(yù)約時間等。二、數(shù)據(jù)庫邏輯設(shè)計根據(jù)以上分析知,系統(tǒng)需要的基本信息表有:管理員信息表、醫(yī)生信息表、患者信息表、病歷記錄表和預(yù)約記錄表。本系統(tǒng)是一個多用戶系統(tǒng),牽涉多個管理人員和多用戶,因此需要針對不同類別的用戶進行密碼認證和權(quán)限限制,防止出現(xiàn)越權(quán)現(xiàn)象。部分具體數(shù)據(jù)庫設(shè)計如下:(1) 醫(yī)生表:用于存儲醫(yī)生的個人信息。表4.1 醫(yī)生表的結(jié)構(gòu)字段名類型備注約

40、束條默認值DIDvarcher(5)醫(yī)生編號主鍵Namevarchar(12)姓名索引Agetinyint(3) unsigned年齡0Passwordvarchar(20)密碼初始:=DIDSextinyint(3) unsigned性別1 - 男2 - 女1Levelvarchar(12)醫(yī)生職稱Sectionvarchar(12)所屬科室索引Specialismvarchar(20)專家門診科目Phonevarchar(15)聯(lián)系電話可為空(2) 患者表:用于存儲患者的個人信息。表4.2 患者表的結(jié)構(gòu)字段名類型備注約束條默認值PIDmediumint(8) unsignedauto_in

41、crement患者編號主鍵Namevarchar姓名UserNamevarchar登錄時用戶名唯一索引Passwordvarchar密碼Agetinyint(3) unsigned年齡0Sextinyint(1) unsigned性別1 男2 女1AddressTinyText家庭住址可為空Phonevarchar聯(lián)系電話可為空(3) 病歷記錄表:病歷記錄表記錄了患者的病歷信息。表4.3 病歷記錄表的結(jié)構(gòu)字段名類型備注約束條默認值HIDint unsigned(10)auto_increment病歷記錄編號主鍵Doctorvarchar(5)主治醫(yī)生編號索引DescriptionTinyTex

42、t癥狀DiagnoseTinyText診斷Patientmediumint(8) unsigned患者編號索引0RxTinyText處方SdateDatetime開始時間0000-00-00 00:00:00FdateDatetime結(jié)束時間可為空0000-00-00 00:00:00Finishedtinyint(1) unsigned就診過程是否結(jié)束1 是2 否0(4) 預(yù)約記錄表:預(yù)約記錄表記錄了已預(yù)約但尚未創(chuàng)建病歷的患者信息。表4.4 預(yù)約記錄表的結(jié)構(gòu)字段名類型備注約束條默認值QIDint unsigned(10)auto_increment記錄編號主鍵Doctorvarchar(5)

43、主治醫(yī)生編號索引Patientmediumint(8) unsigned患者編號索引0DateDatetime預(yù)約時間0000-00-00 00:00:00Daytinyint(1) unsigned預(yù)約就診時間0 - 周日1 周一2 周二3 周三4 周四5 周五6 周六0APtinyint(1) unsigned預(yù)約就診時間0 上午1 下午0(5) 管理員表:管理員表存儲了與管理員有關(guān)的信息。表4.5 管理員表結(jié)構(gòu)字段名類型備注約束條默認值A(chǔ)IDtinyint(2) unsignedauto_increment管理員編號主鍵Usernamevarchar(20)登錄時的用戶名唯一索引Pass

44、wordVarchar(20)登錄時密碼EmailVarchar(20)電子郵件NameVarchar(12)姓名PhoneVarchar(15)聯(lián)系電話可為空第五章 基于JSP與JavaBean的醫(yī)院門診信息管理系統(tǒng)詳細設(shè)計第一節(jié) 系統(tǒng)功能模塊設(shè)計根據(jù)客戶要求,操作者的權(quán)限層次要有明確的分類,進入軟件時需要進行身份驗證;出于對患者個人隱私的負責,患者的病歷記錄只能在患者就醫(yī)期間有主治醫(yī)生條約,其它任何人包括管理員無權(quán)查閱。整個系統(tǒng)需要實現(xiàn)以下功能,如圖所示:醫(yī)療門診信息管理系統(tǒng)病歷基本信息管理模塊醫(yī)生基本信息管理模塊患者基本信息管理模塊預(yù)約信息管理模塊圖 5.1 系統(tǒng)功能模塊圖第二節(jié) 系統(tǒng)功能模塊實現(xiàn)一、hospital.db包中的類圖5.2 hospital.db包的UML圖與數(shù)據(jù)庫建立連接類DBConnection本類位于hospital.db包中,由于Connection是一個非常耗費資源的對象,因此在這里使用單例模式設(shè)計DBConnection類

溫馨提示

  • 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

提交評論