jsp病例管理ssh-qk論文_第1頁
jsp病例管理ssh-qk論文_第2頁
jsp病例管理ssh-qk論文_第3頁
jsp病例管理ssh-qk論文_第4頁
jsp病例管理ssh-qk論文_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課題簡介1.1課題引入1991年,美國醫(yī)學研究所發(fā)表了CPR研究委員會的專題報告。報告研究了自1915年美國開始有病史歷程,總結(jié)了近40年來實現(xiàn)病例記錄計算機化的經(jīng)驗,全面論述了CPR發(fā)展的各個方面,指出實現(xiàn)CPR系統(tǒng)必須解決的問題。該報告對當前醫(yī)院信息系統(tǒng)(HIS)的發(fā)展有首重要的指導意義。1993年9月,在法國馬賽召開首次健康卡系統(tǒng)國際會議,研討健康卡的應用、效益分析、實施策略、安全保密、標準化及發(fā)展趨勢等問題。在中國,1994年第6屆醫(yī)藥信息學大會上,國家衛(wèi)生部提出"希望到本世紀末,全國將有若干家醫(yī)院能夠真正實現(xiàn)完整的CPR系統(tǒng)"。這一切,都表明電子病例已成為目前醫(yī)院信息系統(tǒng)發(fā)展的重要目標之一。

目前醫(yī)院使用的傳統(tǒng)病例主要是記錄在紙張和膠片上。傳統(tǒng)病例在使用中有許多不足之處,如易變質(zhì)、占地多、不易保管、查找和存取麻煩、不能幾個人同時借閱同一份病例等。用計算機化的病史記錄系統(tǒng)代替手寫病案始終是醫(yī)院信息系統(tǒng)研究的主要課題這一。計算機應用于醫(yī)院40多年來,人們一直為實現(xiàn)病例管理和病程記錄計算機化,作出了不懈的努力,取得了很大的進步。本系統(tǒng)通過對門診病人信息管理系統(tǒng)方案的設計和實施,提出一種對病人在就診過程中產(chǎn)生的信息進行數(shù)字化管理的技術(shù),為門診建立起信息高速公路,促使醫(yī)院門診逐步形成方便、科學、合理的管理模式。從根本上改變傳統(tǒng)的依靠文件等信息的傳遞方式,實現(xiàn)無紙化辦公,簡化就診手續(xù),加快信息流通速度,提高治療效率,基本實現(xiàn)醫(yī)院門診系統(tǒng)的數(shù)字化管理。同時,本系統(tǒng)對門診病人既往病史以及用藥記錄存檔,既便于醫(yī)生更加準確的對當前病人的診斷,同時也有利于醫(yī)生對各種病例進行分析研究。病例模板的套餐制更具靈活性。隨著計算機的迅猛發(fā)展和普及,以及數(shù)據(jù)庫技術(shù)的廣泛應用,各企事業(yè)單位和商業(yè)機構(gòu)逐漸實現(xiàn)了信息化管理,越來越多的醫(yī)療機構(gòu)也逐漸步入了信息化系統(tǒng)化的進程?,F(xiàn)代化的醫(yī)院也應該有現(xiàn)代化的管理系統(tǒng)。在科技日益發(fā)達的今天,人們的身體健康也在不斷受到重視。因此,醫(yī)院進行現(xiàn)代化管理就變得尤為重要。病例是病人就診治病,根據(jù)自己的身體狀況進行科學的,實際的統(tǒng)一的進行記錄。對自己的病情進行科學的總結(jié),對自己病情的發(fā)展程度進行階段性的記錄。近些年,隨著醫(yī)療機構(gòu)多年來醫(yī)治的病人不斷的增加,手動記載病人的病例越來越不方便,病例資料積攢越來越多,對空間的占用越來越嚴重,隨著時間的推移,出現(xiàn)了各種各樣的問題,也弊端和缺陷顯現(xiàn)的越來明顯起來。電子病例是信息技術(shù)和網(wǎng)絡技術(shù)在醫(yī)療領(lǐng)域的必然產(chǎn)物是醫(yī)院病例現(xiàn)代化管理的必然趨勢。病例無論是對醫(yī)院、病人、醫(yī)生都有重要的意義和價值。電子病例除了具有紙張病例所有的傳統(tǒng)功能外,還給我們帶來了傳統(tǒng)紙張病例所不具有的很多優(yōu)點。比如,加快了醫(yī)療信息傳遞共享、提高工作效率;能夠輔助醫(yī)生做出判斷,提高醫(yī)療工作質(zhì)量;能夠加強環(huán)節(jié)管理,方便病人信息的異地共享等。在醫(yī)院管理中,醫(yī)務人員與患者是醫(yī)院最寶貴的資源,也是醫(yī)院的“生命線”,因此醫(yī)院病例管理系統(tǒng)是醫(yī)院的計算機管理信息系統(tǒng)重要組成部分。而醫(yī)院病例管理又是醫(yī)務人員與患者資源管理的重中之重。實行電子化的醫(yī)院病例管理,可以讓醫(yī)務人員與患者資源管理人員從繁重瑣碎的案頭工作解脫出來,去完成更重要的工作。醫(yī)院病例管理信息系統(tǒng)的實現(xiàn)可以減輕比較繁瑣的手工信息管理。1.2課題背景近幾年,隨著醫(yī)院的規(guī)模不斷擴大,用原來的只靠人管理病例的方法已不合時宜。目前我國醫(yī)院的信息處理基本上還停留在手工方式,勞動強度大且工作效率低,醫(yī)務人員和管理人員的大量時間都消耗在事務性工作上;病案、臨床檢驗、病理檢查等許多寶貴的數(shù)據(jù)資料的檢索十分費事甚至難以實現(xiàn);對這些資料深入的統(tǒng)計分析手工方式無法進行,不能充分為醫(yī)學科研利用。隨著計算機應用日益廣泛;各行各業(yè)對生產(chǎn)管理的自動化、信息化、系統(tǒng)化的要求也不斷提高;因而,降低勞動強度、提高勞動效率也就必然促使了醫(yī)院中電子病例的使用。1.3國內(nèi)外研究現(xiàn)狀電子病例是一個很復雜的項目,國際上有很多國家都要建健康檔案,就是想把病例電子化。美國在新奧爾良由于颶風影響導致了大致有50、60萬人的醫(yī)學檔案,這些病例都是由紙質(zhì)的,在社區(qū)的診所或者區(qū)域的醫(yī)院保存,這些人的醫(yī)學檔案丟失,包括當?shù)氐闹菡J為這是一個巨大的事故。從這件事反過來認識到建立病例電子化的緊迫性和重要性,因為電子病例的存放、利用會更加安全。聯(lián)邦政府也成立了建立電子病例的委員會,提出了三個基本的原則。第一,要分級保密,可能有些是及其保密的,有些可以為公眾共享,這是關(guān)于安全私密性的原則。第二,更新的保真性,建立電子病例的靜態(tài)環(huán)境以后會有些變化,包括臨床診斷和治療在這個電子病例應該有記錄,至少應該知道是誰診斷的,是什么醫(yī)生在什么場合下做的修改。第三,必須具有相當方便容易讓人訪問,不能有一些政策的堡壘,只要是經(jīng)過授權(quán)的,無論是職業(yè)的醫(yī)師、有關(guān)方面需要訪問的話應該能夠得到這個病例。1.4本課題研究的意義電子病例將提高醫(yī)院各項工作的效率和質(zhì)量,促進醫(yī)學科研、教學;減輕各類事務性工作的勞動強度,使他們騰出更多的精力和時間來服務于病人。電子病例與紙病例相比,最顯著的優(yōu)點就是對信息數(shù)據(jù)的共享和反復利用。病人看病不需要攜帶病例,只需提供自己的姓名、病例號或其他信息,醫(yī)生通過計算機即可得到該病人所有信息。本系統(tǒng)以B/S(Browser/Server)模式作為基本結(jié)構(gòu),所有程序和數(shù)據(jù)庫存放在服務器上,瀏覽器端只需安裝操作系統(tǒng)和瀏覽器即可,系統(tǒng)由用戶瀏覽器、Web服務器二個層次組成,體現(xiàn)了其開發(fā)維護簡單性的特點。電子病例(CPR,Computer-BasedPatientRecord),它是用電子設備(計算機、健康卡等)保存、管理、傳輸和重現(xiàn)的數(shù)字化的病人的醫(yī)療記錄,取代手寫紙張病例。

2系統(tǒng)概述與技術(shù)介紹作了一個管理系統(tǒng),首先布局一定要新穎、有特色,只有這樣才能引起用戶的關(guān)注,最大限度的滿足人們的需求,而且要有很強的易用性,易用性差的管理系統(tǒng)會讓用戶產(chǎn)生厭煩情緒。當然一個好的管理系統(tǒng)還要有很完整的處理信息的功能,以便及時的處理系統(tǒng)信息。通過對用戶的調(diào)查和對現(xiàn)有的電子病例管理系統(tǒng)運行的流程分析,為了滿足大多數(shù)用戶的需求,所以我的目標是要構(gòu)建一個頁面簡單清晰但包含信息相對全面、易用性強的病例管理系統(tǒng)。2.1B/S結(jié)構(gòu)介紹B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件,只要有一臺能上網(wǎng)的電腦就能使用,客戶端零安裝、零維護。系統(tǒng)的擴展非常容易。B/S結(jié)構(gòu)的使用越來越多,特別是由需求推動了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增加了交互性,能進行局部實時刷新。架構(gòu)特點\o"編輯本段"編輯(1)維護和升級方式簡單。當前,軟件系統(tǒng)的改進和升級越發(fā)頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規(guī)模有多大,有多少分支機構(gòu)都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網(wǎng)即可,實現(xiàn)遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節(jié)省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。(2)成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標準配置,但在服務器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位。當前的趨勢是凡使用B/S架構(gòu)的應用管理軟件,只需安裝在Linux服務器上即可,而且安全性高。所以服務器操作系統(tǒng)的選擇是很多的,不管選用哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面電腦操作系統(tǒng)不受影響,這就使得最流行免費的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費的以外,連數(shù)據(jù)庫也是免費的,這種選擇非常盛行。比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務器用的是什么操作系統(tǒng),而事實上大部分網(wǎng)站確實沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。(3)應用服務器運行數(shù)據(jù)負荷較重。由于B/S架構(gòu)管理軟件只安裝在服務器端(Server)上,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡管理人員只需要做硬件維護。但是,應用服務器運行數(shù)據(jù)負荷較重,一旦發(fā)生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數(shù)據(jù)庫存儲服務器,以防萬一。聯(lián)系\o"編輯本段"編輯C/S是Client/Server的縮寫。服務器通常采用高性能的PC、工作站或小型機,并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。B/S是Browser/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如NetscapeNavigator或InternetExplorer,服務器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn)。瀏覽器通過WebServer同數(shù)據(jù)庫進行數(shù)據(jù)交互。系統(tǒng)開發(fā)中C/S結(jié)構(gòu)(Client/Server)中Client(客戶端)往往可以由B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))的Browser(瀏覽器)及其載體承擔,C/S結(jié)構(gòu)的Web應用與B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))具有緊密聯(lián)系。大系統(tǒng)和復雜系統(tǒng)中,C/S結(jié)構(gòu)和B/S結(jié)構(gòu)的嵌套也很普遍。區(qū)別\o"編輯本段"編輯1.硬件環(huán)境不同:C/S一般建立在專用的網(wǎng)絡上,小范圍里的網(wǎng)絡環(huán)境,局域網(wǎng)之間再通過專門服務器提供連接和數(shù)據(jù)交換服務。B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡硬件環(huán)境,例如電話上網(wǎng),租用設備.信息自己管理.有比C/S更強的適應范圍,一般只要有操作系統(tǒng)和瀏覽器就行。2.對安全要求不同C/S一般面向相對固定的用戶群,對信息安全的控制能力很強。一般高度機密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜??梢酝ㄟ^B/S發(fā)布部分可公開信息。B/S建立在廣域網(wǎng)之上,對安全的控制能力相對弱,可能面向不可知的用戶。3.對程序架構(gòu)不同C/S程序可以更加注重流程,可以對權(quán)限多層次校驗,對系統(tǒng)運行速度可以較少考慮。B/S對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎之上.比C/S有更高的要求B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從MS的.Net系列的BizTalk2000Exchange2000等,全面支持網(wǎng)絡的構(gòu)件搭建的系統(tǒng)。SUN和IBM推JavaBean構(gòu)件技術(shù)等,使B/S更加成熟.。4.軟件重用不同C/S程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好。B/S對的多重結(jié)構(gòu),要求構(gòu)件相對獨立的功能.能夠相對較好的重用.就如買來的餐桌可以再利用,而不是做在墻上的石頭桌子5.系統(tǒng)維護不同C/S程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級.升級難.可能是再做一個全新的系統(tǒng)B/S構(gòu)件組成,方面構(gòu)件個別的更換,實現(xiàn)系統(tǒng)的無縫升級.系統(tǒng)維護開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級。6.處理問題不同C/S程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高,需求與操作系統(tǒng)相關(guān).應該都是相同的系統(tǒng)。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法作到的。與操作系統(tǒng)平臺關(guān)系最小。7.用戶接口不同。C/S多是建立的Window平臺上,表現(xiàn)方法有限,對程序員普遍要求較高。B/S建立在瀏覽器上,有更加豐富和生動的表現(xiàn)方式與用戶交流.并且大部分難度減低,減低開發(fā)成本。8.信息流不同C/S程序一般是典型的中央集權(quán)的機械式處理,交互性相對低。B/S信息流向可變化,B-BB-CB-G等信息、流向的變化,更像交易中心。2.2SQLServer介紹SQLServer是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。MicrosoftSQLServer近年來不斷更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用戶見面;SQLServer2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的SQLSERVER2012。特點1.真正的客戶機/服務器體系結(jié)構(gòu)。2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。3.豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。4.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。5.具有很好的伸縮性,可跨越從運行Windows95/98的膝上型電腦到運行Windows2000的大型多處理器等多種平臺使用。6.對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。7.SQLServer提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。SQLServer2000與以前版本相比較,又具有以下新特性:1.支持XML(ExtensiveMarkupLanguage,擴展標記語言)2.強大的基于Web的分析3.支持OLEDB和多種查詢4.支持分布式的分區(qū)視圖配置要求安裝、運行SQLServer2000的硬件需求1.計算機Intel及其兼容計算機,Pentium166Mz或者更高處理器或DECAlpha和其兼容系統(tǒng)。2.內(nèi)存(RAM)企業(yè)版最少64MB內(nèi)存,其他版本最少需要32MB內(nèi)存,建議使用更多的內(nèi)存。3.硬盤空間完全安裝(Full)需要180MB的空間,典型安裝(Typical)需要170MB的空間,最小安裝(Minimum)需要65MB的空間。詳細介紹\o"編輯本段"編輯SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL語言標準。雖然很多數(shù)據(jù)庫都對SQL語句進行了再開發(fā)和擴展,但是包括Select,Insert,Update,Delete,Create,以及Drop在內(nèi)的標準的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。SQLServerSQLServer是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應用。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫管理系統(tǒng),該版本繼承了SQLServer7.0版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點,可跨越從運行MicrosoftWindows98的膝上型電腦到運行MicrosoftWindows2000的大型多處理器的服務器等多種平臺使用。2.3MyEclipse介紹本系統(tǒng)是跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。構(gòu)建電子病例管理系統(tǒng)所用的網(wǎng)頁編輯器為MyEclipse,MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。2.4JavaScrip語言Javascript是一種解釋性的,基于對象的腳本語言,Javascript主要是基于客戶端運行的,用戶點擊帶有Javascript的網(wǎng)頁,網(wǎng)頁里的Javascript就傳到瀏覽器,由瀏覽器對此作處理。它的代碼可以直接嵌入到HTML命令中,最大特點是可以方便操縱網(wǎng)站上的元素,并與Web瀏覽器交互,同時JavaScrip可以捕捉用戶操作并作出反映。JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應用戶的各種操作。JavaScript的一個重要功能就是面向?qū)ο蟮墓δ?,通過基于對象的程序設計,可以用更直觀、模塊化和可重復使用的方式進行程序開發(fā)。在HTML基礎上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁。Javascript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了javascript技術(shù),比如說,檢驗用戶輸入數(shù)據(jù)的有效性,是否重復,是否為空等等。2.5JSP技術(shù)JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Servlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎,而且大型的Web應用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。JSP技術(shù)的優(yōu)點:(1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。(4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下(5)支持服務器端組件。web應用需要強大的服務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調(diào)用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來實現(xiàn)復雜商務功能。內(nèi)部對象說明:request客戶端請求,此請求會包含來自GET/POST請求的參數(shù);response網(wǎng)頁傳回客戶端的響應;pageContext網(wǎng)頁的屬性是在這里管理;session與請求有關(guān)的會話;applicationservlet正在執(zhí)行的內(nèi)容;out用來傳送響應的輸出流;config代碼片段配置對象;pageJSP網(wǎng)頁本身;exception針對錯誤網(wǎng)頁,未捕捉的例外。2.6MVC模式為了滿足系統(tǒng)對先進性、安全性、跨平臺性、可擴展性、可移植性、分布式等方面的要求,系統(tǒng)總體架構(gòu)設計采用先進的基于java的B/S的三層體系結(jié)構(gòu)。MVC是三個單詞的縮寫,分別為:模型(Model),視圖(View)和控制Controller)[9]。MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。View層用于與用戶的交互,通常用JSP來實現(xiàn)。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。Web瀏覽技術(shù)已經(jīng)廣泛地應用于Internet,并被廣大用戶接受和使用。Web技術(shù)是隨http和html一起出現(xiàn)的。Web服務器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務器一旦檢索到信息,Web瀏覽器就會以靜態(tài)和交互(如文本、圖像)方式顯示各種對象。在電子商務業(yè)務進行過程中,需要在各種貿(mào)易角色之間瀏覽和交換各種信息,此時就要使用Web瀏覽技術(shù)。這種模型使系統(tǒng)結(jié)構(gòu)更加清楚,分工更加明確,有利于整個系統(tǒng)后期的維護和升級。MVC(ModelViewController)模型(model)-視圖(view)-控制器(controller)MVC本來是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。模型-視圖-控制器(MVC)是XeroxPARC在八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司JavaEE平臺的設計模式,并且受到越來越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。三層體系結(jié)構(gòu)由瀏覽器、web服務器和數(shù)據(jù)庫組成,并結(jié)合HTML語言、jsp、JavaScript腳本語言、Ajax、ODBC等技術(shù),后臺的數(shù)據(jù)庫采用微軟的SQLServer2005,系統(tǒng)一般的MVC模型如圖2-1所示。圖2-1系統(tǒng)MVC結(jié)構(gòu)圖如圖2-1可知,用戶界面層是用戶和整個系統(tǒng)的接口,客戶端只需安裝通用的瀏覽器即可建立與本系統(tǒng)的連接。業(yè)務邏輯層負責處理用戶輸入的信息,或?qū)⑦@些信息發(fā)送給數(shù)據(jù)庫層進行保存,或調(diào)用數(shù)據(jù)庫層中的函數(shù)再次讀出這些數(shù)據(jù)。數(shù)據(jù)訪問層是整個分層體系的最底層,它主要用來實現(xiàn)與數(shù)據(jù)庫的交互,即完成查詢、插入、刪除和修改數(shù)據(jù)庫中數(shù)據(jù)的功能MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。分層概念視圖,模型,控制器。視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標識語言和Webservices。如何處理應用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。MVC模型還可以實現(xiàn)軟件工程的高內(nèi)聚,低耦合的終極目標。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求自己本身并不參與業(yè)務邏輯處理,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。MVC的優(yōu)點:1)低耦合性2)高重用性和可適用性3)較低的生命周期成本4)快速的部署5)可維護性6)有利于軟件工程化管理3需求分析 3.1可行性研究該階段通過對系統(tǒng)目標的初步調(diào)研和分析,提出可行性方案并進行論證。我們在這里主要從技術(shù)可行性、經(jīng)濟可行性和操作可行等方面進行分析。3.1.1經(jīng)濟可行性開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的相關(guān)系統(tǒng)進行調(diào)查采集,所需的其他應用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點,可以節(jié)省不少人力、物力及財力。所以,從經(jīng)濟的角度來看,該系統(tǒng)可行。3.1.2技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本系統(tǒng)用的是JSP開發(fā)語言,調(diào)試相對簡單,當前的計算機硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對可行的。軟件方面:由于目前單機模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。本系統(tǒng)的開發(fā),是典型的Mis開發(fā)。采用JSP編程語言,已無技術(shù)上的問題。3.1.3運行可行性運行可行性是對組織結(jié)構(gòu)的影響,現(xiàn)有人員和機構(gòu)和環(huán)境對系統(tǒng)的適應性及人員培訓補充計劃的可行性。當前信息化技術(shù)已經(jīng)相當普及,各類操作人員水平都有相當?shù)母叨?,所以在運行上是可行性的。3.1.4時間可行性從時間上看,在兩個月的時間里學習相關(guān)知識,并開發(fā)系統(tǒng),時間上是有點緊,但是不是不可能實現(xiàn),通過兩個多月的努力功能基本實現(xiàn)。3.1.5法律可行性①所有技術(shù)資料都為合法。②開發(fā)過程中不存在知識產(chǎn)權(quán)問題。③未抄襲任何系統(tǒng),不存在侵犯版權(quán)問題。④開發(fā)過程中未涉及任何法律責任。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟上、從法律上都是完全可靠的。4系統(tǒng)概要設計4.1系統(tǒng)設計概述系統(tǒng)設計是在系統(tǒng)分析的基礎上由抽象到具體的過程,同時,還應考慮到系統(tǒng)所實現(xiàn)的內(nèi)外環(huán)境和主客觀條件,本著實事求是的態(tài)度進行這一階段的工作。系統(tǒng)設計階段的主要目的是將系統(tǒng)分析階段所提出的反映用戶信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實施的基于計算機與通信系統(tǒng)的物理方案。這一階段的主要任務就是從管理信息系統(tǒng)的總體目標出發(fā),根據(jù)系統(tǒng)分析階段對系統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟、技術(shù)和運行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計算機和通信的軟、硬件設備,提出系統(tǒng)的實施計劃,確保系統(tǒng)總體目標的實現(xiàn)[11]。系統(tǒng)設計工作的特點:1系統(tǒng)設計階段,大量工作是技術(shù)性的。2允許用戶對已提出的信息需求做非原則性的修改或補充。3用戶在操作使用和運行環(huán)境等方面的具體要求也要在系統(tǒng)設計階段加以明確并在系統(tǒng)的技術(shù)方案中得反映,因此系統(tǒng)設計人員還要同管理環(huán)境打交道。4系統(tǒng)設計工作的環(huán)境是管理環(huán)境和技術(shù)環(huán)境的結(jié)合,是系統(tǒng)設計工作的重要特點也是整個系統(tǒng)成功的一個必不可缺的環(huán)節(jié)。系統(tǒng)設計原則1)階段開發(fā)原則:系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)全面設計,具體功能實現(xiàn)分階段進行。2)易用性原則:方便上網(wǎng)客戶瀏覽和操作,最大限度地減輕后臺管理人員的負擔,做到部分業(yè)務的自動化處理,提供良好的用戶體驗。3)業(yè)務完整性原則:對于業(yè)務進行中的特殊情況能夠做出及時、正確的響應,保證業(yè)務數(shù)據(jù)的完整性,減少數(shù)據(jù)的誤讀。4)業(yè)務規(guī)范化原則:在系統(tǒng)設計的同時,也為將來的業(yè)務流程制定了較為完善的規(guī)范,具有較強的實際操作性,也給整個系統(tǒng)帶來安全性。5)可擴展性原則:系統(tǒng)設計要考慮到業(yè)務未來發(fā)展的需要,要盡可能設計得簡明,各個功能模塊間的耦合度小,便于系統(tǒng)的擴展。如果存在舊有的數(shù)據(jù)庫系統(tǒng),則需要充分考慮兼容性,比如說瀏覽器的兼容。4.2系統(tǒng)用例圖醫(yī)生的操作: 1、醫(yī)生可以管理病人病例基本信息。 2、會員可以管理病人診斷信息。醫(yī)生用例圖,如圖4-1所示:圖4-1醫(yī)生用例圖管理員的操作:1、管理員可以管理科室信息。2、管理員可以管理科室項目信息。3、管理員可以管理醫(yī)生信息。管理員用例圖,如圖4-2所示:圖4-2管理員用例圖4.3系統(tǒng)流程圖用戶想到進入系統(tǒng)進行操作,必須要先登錄,登錄成功后才能進入系統(tǒng)進行操作。不同權(quán)限用戶進入系統(tǒng)后,可以進行相應操作。系統(tǒng)基本流程如下圖4-3所示:圖4-3系統(tǒng)流程圖4.4系統(tǒng)功能分析圖4-4醫(yī)生用戶功能圖 這就是醫(yī)生用戶功能框圖(如圖4-4所示)。醫(yī)生用戶功能包括:病例信息管理及診療記錄管理。下面是每個模塊的詳細介紹:病例信息管理模塊:醫(yī)生通過該模塊管理病例基本信息,包括病例信息的添加、修改、查詢、刪除操作。診療記錄管理模塊:醫(yī)生通過該模塊管理病人診療記錄信息,包括診療記錄的添加、查詢操作。圖4-5系統(tǒng)后臺功能圖這就是本系統(tǒng)的管理員功能框圖(如圖4-5所示)。管理員功能模塊分析:科室信息管理模塊:管理員通過該模塊管理科室信息,包括科室信息的添加、查詢、刪除等操作??剖翼椖抗芾砟K:管理員通過該模塊管理科室項目信息,包括科室項目的添加、查詢、刪除等操作。醫(yī)生信息管理模塊:管理員通過該模塊管理醫(yī)生信息,包括醫(yī)生信息添加、查詢、刪除等操作。修改個人密碼:管理員登錄系統(tǒng),可以修改自己的登錄密碼。5數(shù)據(jù)庫設計與實現(xiàn)5.1數(shù)據(jù)庫結(jié)構(gòu)設計數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫”。作為網(wǎng)絡的一個重要應用,數(shù)據(jù)庫在網(wǎng)站建設中發(fā)揮著重要的作用,與普通網(wǎng)站相對而言,具有數(shù)據(jù)庫功能的網(wǎng)站網(wǎng)頁我們通常稱為動態(tài)頁面,也就是說頁面不是一層不變的,頁面上內(nèi)容(或部分內(nèi)容)是動態(tài)生成的,它可以根據(jù)數(shù)據(jù)庫中相應部分內(nèi)容的調(diào)整而變化,使網(wǎng)站內(nèi)容更靈活,維護更方便,更新更便捷。SQLServer數(shù)據(jù)庫作為微軟推出的以標準JET為引擎的桌面型數(shù)據(jù)庫系統(tǒng),由于具有操作簡單、界面友好等特點,具有較大的用戶群體。本系統(tǒng)數(shù)據(jù)庫采用SQLServer數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_bingli,下面分別給出數(shù)據(jù)表概要說明、主要數(shù)據(jù)表的結(jié)構(gòu)。5.1.1表概要說明系統(tǒng)數(shù)據(jù)庫db_bingli中含有7張數(shù)據(jù)表:科室信息表t_keshi科室項目表t_xiangmu醫(yī)生信息表t_yisheng病例信息表t_bingli診療信息表t_julu診療內(nèi)容表t_neirong管理員信息表t_admin5.1.2數(shù)據(jù)表的結(jié)構(gòu)(1)t_keshi(科室信息表)科室信息表主要用于保存醫(yī)院科室基本信息,如科室名稱,該表結(jié)構(gòu)如表5-1所示。表5-1t_keshi的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號mingchengvarchar50否科室名稱t_xiangmu(科室項目表)科室項目信息表主要用于保存科室項目信息,如科室信息、項目名稱等,該表結(jié)構(gòu)如表5-2所示。表5-2t_xiangmu的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號keshi_idint4否科室信息mingchengvarchar50否科室名稱(3)t_yisheng(醫(yī)生信息表)醫(yī)生信息表主要用于保存醫(yī)生基本信息,如姓名、性別、年齡、職務等,該表結(jié)構(gòu)如表5-3所示。表5-3t_yisheng的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號loginnamevarchar50否登錄名loginpwvarchar50否登錄密碼keshi_idvarchar50否科室信息xingmingvarchar50否姓名xingbievarchar50否性別nianlingvarchar50否年齡zhiwuvarchar50否職務(4)t_bingli(病例信息表)病歷信息表主要用于保存病歷基本信息,如編號、姓名、性別、年齡等,該表結(jié)構(gòu)如表5-4所示。表5-4t_bingli的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號bianhaovarchar50否編號xingmingvarchar50否姓名xingbieint4否性別nianlingint4否年齡shengriint4否生日hunfouint4否婚否zhuzhiint4否住址lianxiint4否聯(lián)系電話shenfenint4否身份證號(5)t_jilu(診療記錄表)診療記錄表主要用于保存病例的診療記錄信息,如病例信息、醫(yī)生信息、記錄時間等內(nèi)容。該表結(jié)構(gòu)如表5-5所示。表5-5t_jilu的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號yisheng_idint4是醫(yī)生信息bingli_idint4是病例信息shijianvarchar50否記錄時間(6)t_neirong(內(nèi)容信息表)內(nèi)容信息表主要用于保存診療記錄內(nèi)容信息,如病例信息、項目信息、內(nèi)容等。該表結(jié)構(gòu)如表5-6所示。表5-6t_neirong的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號jilu_idint4是記錄信息xiangnu_idint4是項目信息neirongvarchar50否記錄內(nèi)容(7)t_admin(管理員信息表)管理員信息表主要用于保存管理員的基本信息,該表結(jié)構(gòu)如表5-7所示。表5-7t_admin的結(jié)構(gòu)字段名數(shù)據(jù)類型長度主鍵否描述idint4是自動編號userNamevarchar50否登錄賬號userPwvarchar50否登錄密碼6系統(tǒng)的實現(xiàn)6.1系統(tǒng)登錄設計由于后臺是用于維護系統(tǒng),所以必須先要登錄系統(tǒng),才能進行相關(guān)的管理操作,打開后臺管理頁面的程序窗口,要求用戶輸入正確的用戶名、密碼,二者缺一不可,人員通過后臺登錄入口進入后臺登錄模塊,后臺登錄模塊主要用于驗證管理員的身份和密碼。后臺登錄模塊的運行效果如圖6-1:圖6-1系統(tǒng)登錄功能模塊圖用戶登錄模塊核心代碼: publicStringlogin(StringuserName,StringuserPw,intuserType) { System.out.println("userType"+userType); Stringresult="no"; if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==1)//醫(yī)生登錄 { Stringsql="fromTYishengwhereloginname=?andloginpw=?anddel='no'"; Object[]con={userName,userPw}; ListyishengList=yishengDAO.getHibernateTemplate().find(sql,con); if(yishengList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TYishengyisheng=(TYisheng)yishengList.get(0); session.setAttribute("userType",1); session.setAttribute("user",yisheng); result="yes"; } } returnresult; }6.2管理員功能設計6.2.1科室信息管理本模塊實現(xiàn)對科室信息的管理操作,包括科室信息的添加、刪除操作。點擊科室信息管理菜單,進入科室信息管理頁面,該頁面通過列表列出已添加的科室信息,包括科室名稱。點擊列表的刪除按鈕,實現(xiàn)科室信息的刪除操作。界面設計如圖6-2:圖6-2科室信息管理點擊添加按鈕,進入科室信息添加頁面,輸入符合條件的科室信息,完成科室信息的添加操作。界面設計如圖6-3:圖6-3科室信息添加該模塊的主要功能keshiAction類實現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫交互,查詢或保存科室信息,并通過struts.xml配置跳轉(zhuǎn),打開相應的jsp頁面。主要代碼是: publicStringkeshiAdd() { TKeshikeshi=newTKeshi(); keshi.setMingcheng(mingcheng); keshi.setDel("no"); keshiDAO.save(keshi); this.setMessage("科室信息添加成功!"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiUpd() { TKeshikeshi=keshiDAO.findById(id); keshi.setMingcheng(mingcheng); keshiDAO.getHibernateTemplate().update(keshi); this.setMessage("科室信息修改成功!"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiDel() { Stringsql="updateTKeshisetdel='yes'whereid="+id; keshiDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("科室信息刪除成功"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiMana() { Stringsql="fromTKeshiwheredel='no'"; ListkeshiList=keshiDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("keshiList",keshiList); returnActionSupport.SUCCESS; }6.2.2科室項目管理本模塊實現(xiàn)對科室項目信息的管理操作,包括科室項目信息的添加、刪除操作。點擊科室項目信息管理菜單,進入科室項目信息管理頁面,該頁面通過列表列出已添加的科室項目信息,包括科室項目名稱等。點擊列表的刪除按鈕,實現(xiàn)科室項目信息的刪除操作。界面設計如圖6-4:圖6-4科室項目信息管理點擊添加按鈕,進入科室項目信息添加頁面,輸入符合條件的科室項目信息,完成科室項目信息的添加操作。界面設計如圖6-5:圖6-5科室項目信息添加該模塊的主要功能keshiAction類實現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫交互,查詢或保存科室項目信息,并通過struts.xml配置跳轉(zhuǎn),打開相應的jsp頁面。主要代碼是: publicStringxiangmuAdd() { TXiangmuxiangmu=newTXiangmu(); xiangmu.setKeshiId(keshiId); xiangmu.setMingcheng(mingcheng); xiangmu.setDel("no"); xiangmuDAO.save(xiangmu); this.setMessage("科室項目添加成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuUpd() { TXiangmuxiangmu=xiangmuDAO.findById(id); xiangmu.setMingcheng(mingcheng); xiangmuDAO.getHibernateTemplate().update(xiangmu); this.setMessage("科室項目修改成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuDel() { Stringsql="updateTXiangmusetdel='yes'whereid="+id; xiangmuDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("科室項目刪除成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuMana() { Stringsql="fromTXiangmuwheredel='no'andkeshi_id="+keshiId; ListxiangmuList=xiangmuDAO.getHibernateTemplate().find(sql); TKeshikeshi=keshiDAO.findById(keshiId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("xiangmuList",xiangmuList); request.put("keshi",keshi); returnActionSupport.SUCCESS; }6.2.3醫(yī)生信息管理本模塊實現(xiàn)對醫(yī)生信息的管理操作,包括醫(yī)生信息的添加、刪除操作。點擊醫(yī)生信息管理菜單,進入醫(yī)生信息管理頁面,該頁面通過列表列出已添加的醫(yī)生信息,包括醫(yī)生姓名、性別、職務等。點擊列表的刪除按鈕,實現(xiàn)醫(yī)生信息的刪除操作。界面設計如圖6-6:圖6-6醫(yī)生信息管理點擊添加按鈕,進入醫(yī)生信息添加頁面,輸入符合條件的醫(yī)生信息,完成醫(yī)生信息的添加操作。界面設計如圖6-7:圖6-7醫(yī)生信息添加該模塊的主要功能yishengAction類實現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫交互,查詢或保存醫(yī)生信息,并通過struts.xml配置跳轉(zhuǎn),打開相應的jsp頁面。主要代碼是: publicStringyishengAdd() { TYishengyisheng=newTYisheng(); yisheng.setLoginname(loginname); yisheng.setLoginpw(loginpw); yisheng.setKeshiId(keshiId); yisheng.setXingming(xingming); yisheng.setXingbie(xingbie); yisheng.setNianling(nianling); yisheng.setZhiwu(zhiwu); yisheng.setDel("no"); yishengDAO.save(yisheng); this.setMessage("醫(yī)生信息添加成功!"); this.setPath("yishengMana.action"); return"succeed"; } publicStringyishengDel() { Stringsql="updateTYishengsetdel='yes'whereid="+id; yishengDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("醫(yī)生信息刪除成功"); this.setPath("yishengMana.action"); return"succeed"; } publicStringyishengMana() { Stringsql="fromTYishengwheredel='no'"; ListyishengList=yishengDAO.getHibernateTemplate().find(sql); for(Objectobject:yishengList){ TYishengyisheng=(TYisheng)object; yisheng.setKeshi(keshiDAO.findById(yisheng.getKeshiId())); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("yishengList",yishengList); returnActionSupport.SUCCESS; }6.3醫(yī)生功能設計6.3.1病例信息管理本模塊實現(xiàn)對病例信息的管理操作,包括病例信息的添加、刪除操作。點擊病例信息管理菜單,進入病例信息管理頁面,該頁面通過列表列出已添加的病例信息,包括病例編號、患者姓名、性別、聯(lián)系方式等。點擊列表的刪除按鈕,實現(xiàn)病例信息的刪除操作。界面設計如圖6-8:圖6-8病例信息管理點擊添加按鈕,進入病例信息添加頁面,輸入符合條件的病例信息,完成病例信息的添加操作。界面設計如圖6-9:圖6-9病例信息添加該模塊的主要功能bingliAction類實現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫交互,查詢或保存病例信息,并通過struts.xml配置跳轉(zhuǎn),打開相應的jsp頁面。主要代碼是: publicStringbingliAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); TBinglibingli=newTBingli(); bingli.setYishengId(yisheng.getId()); bingli.setBianhao(bianhao); bingli.setXingming(xingming); bingli.setXingbie(xingbie); bingli.setNianling(nianling); bingli.setShengri(shengri); bingli.setHunfou(hunfou); bingli.setZhuzhi(zhuzhi); bingli.setLianxi(lianxi); bingli.setShenfen(shenfen); bingli.setDel("no"); bingliDAO.save(bingli); this.setMessage("病歷信息添加成功!"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliUpd() { TBinglibingli=bingliDAO.findById(id); bingli.setXingming(xingming); bingli.setXingbie(xingbie); bingli.setNianling(nianling); bingli.setShengri(shengri); bingli.setHunfou(hunfou); bingli.setZhuzhi(zhuzhi); bingli.setLianxi(lianxi); bingli.setShenfen(shenfen); bingliDAO.getHibernateTemplate().update(bingli); this.setMessage("病歷信息修改成功!"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliDel() { Stringsql="updateTBinglisetdel='yes'whereid="+id; bingliDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("病歷信息刪除成功"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliMana() { HttpServletRequestrequest=ServletActionContext.getRequest(); Stringsql="fromTBingliwheredel='no'"; ListbingliList=bingliDAO.getHibernateTemplate().find(sql); request.setAttribute("bingliList",bingliList); returnActionSupport.SUCCESS; }6.3.2診斷記錄管理本模塊實現(xiàn)對診斷記錄信息的管理操作,包括診斷記錄信息的添加、刪除操作。點擊診斷記錄信息管理菜單,進入診斷記錄信息管理頁面,該頁面通過列表列出已添加的診斷記錄信息,包括診斷記錄信息、項目名稱、項目內(nèi)容等。界面設計如圖6-10:圖6-10診斷記錄信息管理點擊添加按鈕,進入診斷記錄信息添加頁面,輸入符合條件的診斷記錄信息,完成診斷記錄信息的添加操作。界面設計如圖6-11:圖6-11診斷記錄信息添加該模塊的主要功能jiluAction類實現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫交互,查詢或保存診斷記錄信息,并通過struts.xml配置跳轉(zhuǎn),打開相應的jsp頁面。主要代碼是: publicStringjiluToAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); Stringsql="fromTXiangmuwheredel='no'andkeshi_id="+yisheng.getKeshiId(); ListxiangmuList=xiangmuDAO.getHibernateTemplate().find(sql); request.setAttribute("bingli",bingliDAO.findById(bingliId)); request.setAttribute("xiangmuList",xiangmuList); request.setAttribute("xiangmuIds",getXiangmuIds(xiangmuList)); returnActionSupport.SUCCESS; } publicStringjiluAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); intjiluId=0; Sessionsession=jiluDAO.getHibernateTemplate().getSessionFactory().openSession(); Transactiontx=session.beginTransaction(); TJilujilu=newTJilu(); jilu.setYishengId(yisheng.getId()); jilu.setBingliId(bingliId); jilu.setShijian(DateUtils.formatDate2Str(newDate(),"yyyy-MM-ddHH:mm:ss")); session.save(jilu); jiluId=jilu.getId(); mit(); session.close(); xiangmuIds=request.getParameter("xiangmuIds"); String[]arrIds=xiangmuIds.split(","); for(inti=0;i<arrIds.length;i++) { StringtxtNr=request.getParameter("txt_"+arrIds[i]); TNeirongneirong=newTNeirong(); neirong.setJiluId(jiluId); neirong.setXiangmuId(Integer.parseInt(arrIds[i])); neirong.setNeirong(txtNr); neirongDAO.save(neirong); } this.setPath("jiluMana.action"); return"succeed"; } publicStringjiluMana() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); Stringsql="fromTJiluwhereyisheng_id="+yisheng.getId(); ListjiluList=jiluDAO.getHibernateTemplate().find(sql); for(Objectobject:jiluList){ TJilujilu=(TJilu)object; jilu.setBingli(bingliDAO.findById(jilu.getBingliId())); sql="fromTNeirongwherejilu_id="+jilu.getId(); ListneirongList=xiangmuDAO.getHibernateTemplate().find(sql); for(Objectobject2:neirongList){ TNeirongneirong=(TNeirong)object2; neirong.setXiangmu(xiangmuDAO.findById(neirong.getXiangmuId())); } jilu.setNeirongList(neirongList); } request.setAttribute("jiluList",jiluList); returnActionSupport.SUCCESS; }6.3.3個人信息管理本模塊實現(xiàn)醫(yī)生個人信息的管理。點擊個人信息修改菜單,進入個人信息修改頁面。界面設計如圖6-12:圖6-12個人信息管理本模塊核心代碼如下: publicStringyishengToUpd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); TYishengyishengInfo=yishengDAO.findById(yisheng.getId()); yishengInfo.setKeshi(keshiDAO.findById(yisheng.getKeshiId())); request.setAttribute("yisheng",yishengInfo); returnActionSupport.SUCCESS; } publicStringyishengUpd() { TYishengyisheng=yishengDAO.findById(id); yisheng.setLoginpw(loginpw); yisheng.setXingming(xingming); yisheng.setXingbie(xingbie); yisheng.setNianling(nianling); yisheng.setZhiwu(zhiwu); yishengDAO.getHibernateTemplate().update(yisheng); this.setMessage("個人信息修改成功!"); this.setPath("yishengToUpd.action"); return"succeed"; }6.4退出后臺管理退出后臺管理模塊主要用于退出后臺管理系統(tǒng)。當管理員退出后臺管理系統(tǒng)之后,再單擊【退出】按鈕時,雖還在后臺中,但已不能進行任何操作;單擊其他功能模塊時,將彈出后臺登錄窗口,要求用戶輸入正確的用戶名、密碼以及驗證碼。7系統(tǒng)調(diào)試與測試7.1程序調(diào)試在設計系統(tǒng)的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時自動提示,并請求立即糾正,因此,這類錯誤比較容易發(fā)現(xiàn)和糾正。但另一類錯誤是在程序執(zhí)行時由于不正確的操作或?qū)δ承?shù)據(jù)的計算公式的邏輯錯誤導致的錯誤結(jié)果。這類錯誤隱蔽性強,有時會出現(xiàn),有時又不出現(xiàn),因此,對這一類動態(tài)發(fā)生的錯誤的排查是耗時費力的。7.2配置站點7.2.1JDK的安裝和配置JDK是JavaDevelopKit的縮寫,它是早期Java的開發(fā)包名稱,一直延用至今。1998年JDK發(fā)表1.2版本的時候,Sun公司使用了新名稱Java2Platform來稱呼Java,譯成中文就是“Java平臺”,修改后的JDK稱為J2SDK即Java2(Platform)SoftwareDevelopingKill。并分為標準版、企業(yè)版、微型版,它們有不同的用途。從SUN公司的Internet站點下載最新版本的JDK,可以從Sun公司的主頁上免費下載,它的下載網(wǎng)址為:。雙擊下載的JDK安裝程序,進入安裝界面,單擊“下一步”按鈕,更改安裝目錄,這里更改為d:\java;連續(xù)單擊“Next”(下一步)按鈕,直至安裝結(jié)束。下面是對JDK的環(huán)境配置說明(因為現(xiàn)在用Windowsxp版本的用戶居多,所以以下的環(huán)境變量設置都是針對于Windowsxp環(huán)境)。在Windowsxp桌面上選擇“我的電腦”(右鍵)→屬性→高級→環(huán)境變量,單擊系統(tǒng)變量中的“新建”按鈕,分別添加如下的系統(tǒng)變量。變量名:JAVA_HOME;變量值:D:\JAVA。變量名:CLASS_PATH;變量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(加.表示當前路徑,所以這里的.;是不能少的)。變量名:PATH;變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。7.2.2Tomcat的安裝和配置Tomcat是一個開放源代碼、運行Serv1et和JSPWeb應用軟件的基于Java的Web應用軟件容器。Tomcat是由Apache一Jakarta子項目支持,并由來自開放代碼Java社區(qū)的志愿者進行維護。TomcatServer是根據(jù)servlet和JSP規(guī)律執(zhí)行的,因此我們就可以說Tomcatserver也實行了Apache一Jakarta規(guī)比絕大多數(shù)商業(yè)應用軟件服務器要好。Tomcat很可能成為下一代JavaWebServer的主流。因為Tomcat受到Sun的全力支持,并由非常強大的開發(fā)組織apache來進行發(fā)展,這一工程被稱Jakarta計劃。從戰(zhàn)略上看,Sun現(xiàn)在正借助ApaChe的影響來開發(fā)Server端Java技術(shù),這就是Tomcat。因此可以相信Tomcat己經(jīng)或者即將是一個較理想Jsp&Servlet開發(fā)和支撐平臺。相對地,JSWDK只是一個簡化的服務器平臺,和穩(wěn)定程度都比較有限,而且實際上S幽并不許可將它作為Iflternet上的平臺。在SUTN公司的大力支持下,Tomcat將成為以后Web平臺的主流平臺。雙擊下載的Tomcat安裝程序,連續(xù)單擊“下一步“,直至安裝結(jié)束,只在選擇安裝路徑時更改為d:\Tomcat5.0?!ぴO置環(huán)境變量:在“我的電腦”屬性中設置環(huán)境變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論