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

下載本文檔

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

文檔簡介

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

2、醫(yī)療事業(yè)單位只需具備訪問Internet的條件即可在系統(tǒng)發(fā)布的站點上進行醫(yī)療門診的管理。在圖型化的人機界面中完成日常的醫(yī)療門診管理工作.一方面擺脫了時間和空間的限制,另一方面有效的解決的數(shù)據(jù)共享的問題。經(jīng)過實際使用證明,本文所設計的醫(yī)院門診信息管理系統(tǒng)可以滿足醫(yī)院在門診管理方面的需要?!娟P鍵詞】 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、技術發(fā)展的趨勢.1 第二章 醫(yī)院門診信息管理系統(tǒng)需求分析.2第一節(jié) 業(yè)務分析.2一、業(yè)務角色.2二、業(yè)務詞匯.3第二節(jié)系統(tǒng)需求定義.3第三章 醫(yī)院門診信息管理系統(tǒng)技術解決方案比較.5第一節(jié)Web應用解決方案.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)概要設計.13第一節(jié) 醫(yī)院門診信息管理系統(tǒng)文檔

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

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

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

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

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

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

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

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

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

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

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

18、問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。 程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。二、使用JSP的好處JSP的設計目標主要是提供一種更為簡便、有效的動態(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)頁編寫的設計人員可以很容易進行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)容可以各種形式進行顯示,所以它可以為各種客戶提供服務:從使用HTML/DHTML的瀏覽器,到使用WML的各種手提無線設備(如,移動電話和個人數(shù)字設備PDA),再到使用XML的B2B應用,都可以使用JSP的動態(tài)頁面。 三、什么是JavaBeanJavaBean是一種可重復用、跨平臺的軟件組件。JavaBean可以為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒有用戶界面,主要負責處理事務(如數(shù)據(jù)運算,操縱數(shù)據(jù)庫)的JavaBean。JSP通常訪問的是后一種JavaBean。四、使用JavaBean的好處 Java

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

22、降低開發(fā)JSP網(wǎng)頁人員對java編程能力的要求。l JSP側重于生成動態(tài)網(wǎng)頁,事務處理由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() 獲得客戶端向服務器端傳送數(shù)據(jù)的方法。l getParameter(String name) 獲得客戶端傳送給服務器端的參數(shù)值。 l getParameterNames() 獲得客戶端傳送給服務器端的所有參數(shù)的名字。l getParameterValue(String name) 獲得指定參數(shù)的所有值。l getProtocol() 獲取客戶端向服務器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱。l getQueryString() 獲得查詢字符串。l getRequestURI() 獲取

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

26、rvletResponse接口,它封裝了JSP產(chǎn)生響應,然后被發(fā)送到客戶端以響應客戶的請求。和Request對象一樣,它由容器生成,作為jspService()方法的參數(shù)被傳入JSP。因為輸出流是緩沖的,所以可以設置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) 設置指定名字的HTTP文件頭的值。(3) pageContext對象:pageContext對象被封裝成javax.servlet.jsp.pageContext接口,它為JSP頁面包裝頁面的上下文,管理對屬于JSP中特殊可見部分中以命名對象的訪問。它的創(chuàng)建和初始化都是由容器完成的。pageContext對象中常用的方法有:l getAttribute scope() 檢索一個特定的已經(jīng)命名對象的范圍。l findAttribute() 用來按照頁面請求、會話以及

28、應用程序范圍的順序?qū)崿F(xiàn)對某個已經(jīng)命名屬性的搜索。l setAttribute() 用來設置默認頁面的范圍或特定范圍之中的已命名對象。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) 設置指定名字name的屬性值value,并存儲在session對象中。

30、(5) application對象:application對象為多個應用程序保存信息。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) 設置指定名字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、) 關閉輸出流。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)用的錯誤頁面的結果,只在錯誤頁面(在頁面指令里有isErrorPage=true的頁面

34、)中才可以使用。二、JSP + JavaBean運行環(huán)境本系統(tǒng)建立在Windows XP平臺上,用Apache+Tomcat作為JSP服務端引擎,采用Eclipse作為后臺設計開發(fā)環(huán)境。Apache是一個web服務器環(huán)境程序啟用他可以作為web服務器使用。不過只支持靜態(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)的桌面應用程序不同,Tomcat中的應用程序是一個WAR(WebArchive)文件。在Tomcat中,應用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。Eclipse是替代IBM Visual Age for Java的下一代IDE開發(fā)環(huán)境。根據(jù)Eclipse的體系結構,通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。Eclipse是開放源代碼的項目,其本身是用Java語言編寫,但下載的壓縮包中并不包含Jav

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

37、Servlet環(huán)境。hospital.db.DBConnection:與整個數(shù)據(jù)庫連接,返回Connection對象。hospital.db.Debug:記錄日志,將信息寫入指定的日志文件中。(2) hospital.db.operation包封裝了所有用戶角色有關的模型,具體如下: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ù)庫概念設計 醫(yī)院門診信息管理系統(tǒng)的數(shù)據(jù)庫功能主要體現(xiàn)在對各種信息的提供、保存、更新和查找操作上,主要包括患者信息、醫(yī)生信息、預約信息8。因此:l 患者和醫(yī)生有不同的權限因此身份不同。l 用戶信息記錄不同的用戶資料。l 預約信息有預約時間、

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

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 患者表的結構字段名類型備注約束條默認值PIDmediumint(8) unsignedauto_in

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論