




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課題簡(jiǎn)介1.1課題引入1991年,美國(guó)醫(yī)學(xué)研究所發(fā)表了CPR研究委員會(huì)的專題報(bào)告。報(bào)告研究了自1915年美國(guó)開始有病史歷程,總結(jié)了近40年來(lái)實(shí)現(xiàn)病例記錄計(jì)算機(jī)化的經(jīng)驗(yàn),全面論述了CPR發(fā)展的各個(gè)方面,指出實(shí)現(xiàn)CPR系統(tǒng)必須解決的問題。該報(bào)告對(duì)當(dāng)前醫(yī)院信息系統(tǒng)(HIS)的發(fā)展有首重要的指導(dǎo)意義。1993年9月,在法國(guó)馬賽召開首次健康卡系統(tǒng)國(guó)際會(huì)議,研討健康卡的應(yīng)用、效益分析、實(shí)施策略、安全保密、標(biāo)準(zhǔn)化及發(fā)展趨勢(shì)等問題。在中國(guó),1994年第6屆醫(yī)藥信息學(xué)大會(huì)上,國(guó)家衛(wèi)生部提出"希望到本世紀(jì)末,全國(guó)將有若干家醫(yī)院能夠真正實(shí)現(xiàn)完整的CPR系統(tǒng)"。這一切,都表明電子病例已成為目前醫(yī)院信息系統(tǒng)發(fā)展的重要目標(biāo)之一。
目前醫(yī)院使用的傳統(tǒng)病例主要是記錄在紙張和膠片上。傳統(tǒng)病例在使用中有許多不足之處,如易變質(zhì)、占地多、不易保管、查找和存取麻煩、不能幾個(gè)人同時(shí)借閱同一份病例等。用計(jì)算機(jī)化的病史記錄系統(tǒng)代替手寫病案始終是醫(yī)院信息系統(tǒng)研究的主要課題這一。計(jì)算機(jī)應(yīng)用于醫(yī)院40多年來(lái),人們一直為實(shí)現(xiàn)病例管理和病程記錄計(jì)算機(jī)化,作出了不懈的努力,取得了很大的進(jìn)步。本系統(tǒng)通過對(duì)門診病人信息管理系統(tǒng)方案的設(shè)計(jì)和實(shí)施,提出一種對(duì)病人在就診過程中產(chǎn)生的信息進(jìn)行數(shù)字化管理的技術(shù),為門診建立起信息高速公路,促使醫(yī)院門診逐步形成方便、科學(xué)、合理的管理模式。從根本上改變傳統(tǒng)的依靠文件等信息的傳遞方式,實(shí)現(xiàn)無(wú)紙化辦公,簡(jiǎn)化就診手續(xù),加快信息流通速度,提高治療效率,基本實(shí)現(xiàn)醫(yī)院門診系統(tǒng)的數(shù)字化管理。同時(shí),本系統(tǒng)對(duì)門診病人既往病史以及用藥記錄存檔,既便于醫(yī)生更加準(zhǔn)確的對(duì)當(dāng)前病人的診斷,同時(shí)也有利于醫(yī)生對(duì)各種病例進(jìn)行分析研究。病例模板的套餐制更具靈活性。隨著計(jì)算機(jī)的迅猛發(fā)展和普及,以及數(shù)據(jù)庫(kù)技術(shù)的廣泛應(yīng)用,各企事業(yè)單位和商業(yè)機(jī)構(gòu)逐漸實(shí)現(xiàn)了信息化管理,越來(lái)越多的醫(yī)療機(jī)構(gòu)也逐漸步入了信息化系統(tǒng)化的進(jìn)程。現(xiàn)代化的醫(yī)院也應(yīng)該有現(xiàn)代化的管理系統(tǒng)。在科技日益發(fā)達(dá)的今天,人們的身體健康也在不斷受到重視。因此,醫(yī)院進(jìn)行現(xiàn)代化管理就變得尤為重要。病例是病人就診治病,根據(jù)自己的身體狀況進(jìn)行科學(xué)的,實(shí)際的統(tǒng)一的進(jìn)行記錄。對(duì)自己的病情進(jìn)行科學(xué)的總結(jié),對(duì)自己病情的發(fā)展程度進(jìn)行階段性的記錄。近些年,隨著醫(yī)療機(jī)構(gòu)多年來(lái)醫(yī)治的病人不斷的增加,手動(dòng)記載病人的病例越來(lái)越不方便,病例資料積攢越來(lái)越多,對(duì)空間的占用越來(lái)越嚴(yán)重,隨著時(shí)間的推移,出現(xiàn)了各種各樣的問題,也弊端和缺陷顯現(xiàn)的越來(lái)明顯起來(lái)。電子病例是信息技術(shù)和網(wǎng)絡(luò)技術(shù)在醫(yī)療領(lǐng)域的必然產(chǎn)物是醫(yī)院病例現(xiàn)代化管理的必然趨勢(shì)。病例無(wú)論是對(duì)醫(yī)院、病人、醫(yī)生都有重要的意義和價(jià)值。電子病例除了具有紙張病例所有的傳統(tǒng)功能外,還給我們帶來(lái)了傳統(tǒng)紙張病例所不具有的很多優(yōu)點(diǎn)。比如,加快了醫(yī)療信息傳遞共享、提高工作效率;能夠輔助醫(yī)生做出判斷,提高醫(yī)療工作質(zhì)量;能夠加強(qiáng)環(huán)節(jié)管理,方便病人信息的異地共享等。在醫(yī)院管理中,醫(yī)務(wù)人員與患者是醫(yī)院最寶貴的資源,也是醫(yī)院的“生命線”,因此醫(yī)院病例管理系統(tǒng)是醫(yī)院的計(jì)算機(jī)管理信息系統(tǒng)重要組成部分。而醫(yī)院病例管理又是醫(yī)務(wù)人員與患者資源管理的重中之重。實(shí)行電子化的醫(yī)院病例管理,可以讓醫(yī)務(wù)人員與患者資源管理人員從繁重瑣碎的案頭工作解脫出來(lái),去完成更重要的工作。醫(yī)院病例管理信息系統(tǒng)的實(shí)現(xiàn)可以減輕比較繁瑣的手工信息管理。1.2課題背景近幾年,隨著醫(yī)院的規(guī)模不斷擴(kuò)大,用原來(lái)的只靠人管理病例的方法已不合時(shí)宜。目前我國(guó)醫(yī)院的信息處理基本上還停留在手工方式,勞動(dòng)強(qiáng)度大且工作效率低,醫(yī)務(wù)人員和管理人員的大量時(shí)間都消耗在事務(wù)性工作上;病案、臨床檢驗(yàn)、病理檢查等許多寶貴的數(shù)據(jù)資料的檢索十分費(fèi)事甚至難以實(shí)現(xiàn);對(duì)這些資料深入的統(tǒng)計(jì)分析手工方式無(wú)法進(jìn)行,不能充分為醫(yī)學(xué)科研利用。隨著計(jì)算機(jī)應(yīng)用日益廣泛;各行各業(yè)對(duì)生產(chǎn)管理的自動(dòng)化、信息化、系統(tǒng)化的要求也不斷提高;因而,降低勞動(dòng)強(qiáng)度、提高勞動(dòng)效率也就必然促使了醫(yī)院中電子病例的使用。1.3國(guó)內(nèi)外研究現(xiàn)狀電子病例是一個(gè)很復(fù)雜的項(xiàng)目,國(guó)際上有很多國(guó)家都要建健康檔案,就是想把病例電子化。美國(guó)在新奧爾良由于颶風(fēng)影響導(dǎo)致了大致有50、60萬(wàn)人的醫(yī)學(xué)檔案,這些病例都是由紙質(zhì)的,在社區(qū)的診所或者區(qū)域的醫(yī)院保存,這些人的醫(yī)學(xué)檔案丟失,包括當(dāng)?shù)氐闹菡J(rèn)為這是一個(gè)巨大的事故。從這件事反過來(lái)認(rèn)識(shí)到建立病例電子化的緊迫性和重要性,因?yàn)殡娮硬±拇娣?、利用?huì)更加安全。聯(lián)邦政府也成立了建立電子病例的委員會(huì),提出了三個(gè)基本的原則。第一,要分級(jí)保密,可能有些是及其保密的,有些可以為公眾共享,這是關(guān)于安全私密性的原則。第二,更新的保真性,建立電子病例的靜態(tài)環(huán)境以后會(huì)有些變化,包括臨床診斷和治療在這個(gè)電子病例應(yīng)該有記錄,至少應(yīng)該知道是誰(shuí)診斷的,是什么醫(yī)生在什么場(chǎng)合下做的修改。第三,必須具有相當(dāng)方便容易讓人訪問,不能有一些政策的堡壘,只要是經(jīng)過授權(quán)的,無(wú)論是職業(yè)的醫(yī)師、有關(guān)方面需要訪問的話應(yīng)該能夠得到這個(gè)病例。1.4本課題研究的意義電子病例將提高醫(yī)院各項(xiàng)工作的效率和質(zhì)量,促進(jìn)醫(yī)學(xué)科研、教學(xué);減輕各類事務(wù)性工作的勞動(dòng)強(qiáng)度,使他們騰出更多的精力和時(shí)間來(lái)服務(wù)于病人。電子病例與紙病例相比,最顯著的優(yōu)點(diǎn)就是對(duì)信息數(shù)據(jù)的共享和反復(fù)利用。病人看病不需要攜帶病例,只需提供自己的姓名、病例號(hào)或其他信息,醫(yī)生通過計(jì)算機(jī)即可得到該病人所有信息。本系統(tǒng)以B/S(Browser/Server)模式作為基本結(jié)構(gòu),所有程序和數(shù)據(jù)庫(kù)存放在服務(wù)器上,瀏覽器端只需安裝操作系統(tǒng)和瀏覽器即可,系統(tǒng)由用戶瀏覽器、Web服務(wù)器二個(gè)層次組成,體現(xiàn)了其開發(fā)維護(hù)簡(jiǎn)單性的特點(diǎn)。電子病例(CPR,Computer-BasedPatientRecord),它是用電子設(shè)備(計(jì)算機(jī)、健康卡等)保存、管理、傳輸和重現(xiàn)的數(shù)字化的病人的醫(yī)療記錄,取代手寫紙張病例。
2系統(tǒng)概述與技術(shù)介紹作了一個(gè)管理系統(tǒng),首先布局一定要新穎、有特色,只有這樣才能引起用戶的關(guān)注,最大限度的滿足人們的需求,而且要有很強(qiáng)的易用性,易用性差的管理系統(tǒng)會(huì)讓用戶產(chǎn)生厭煩情緒。當(dāng)然一個(gè)好的管理系統(tǒng)還要有很完整的處理信息的功能,以便及時(shí)的處理系統(tǒng)信息。通過對(duì)用戶的調(diào)查和對(duì)現(xiàn)有的電子病例管理系統(tǒng)運(yùn)行的流程分析,為了滿足大多數(shù)用戶的需求,所以我的目標(biāo)是要構(gòu)建一個(gè)頁(yè)面簡(jiǎn)單清晰但包含信息相對(duì)全面、易用性強(qiáng)的病例管理系統(tǒng)。2.1B/S結(jié)構(gòu)介紹B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件,只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零安裝、零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來(lái)越多,特別是由需求推動(dòng)了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實(shí)時(shí)刷新。架構(gòu)特點(diǎn)\o"編輯本段"編輯(1)維護(hù)和升級(jí)方式簡(jiǎn)單。當(dāng)前,軟件系統(tǒng)的改進(jìn)和升級(jí)越發(fā)頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來(lái)說(shuō),系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來(lái)回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來(lái)越“瘦”,而服務(wù)器越來(lái)越“胖”是將來(lái)信息化發(fā)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來(lái)越容易,而使用起來(lái)會(huì)越來(lái)越簡(jiǎn)單,這對(duì)用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。(2)成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對(duì)的統(tǒng)治地位。當(dāng)前的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面電腦操作系統(tǒng)不受影響,這就使得最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來(lái),Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。比如說(shuō)很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。(3)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)器,以防萬(wàn)一。聯(lián)系\o"編輯本段"編輯C/S是Client/Server的縮寫。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。B/S是Browser/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如NetscapeNavigator或InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫(kù)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。系統(tǒng)開發(fā)中C/S結(jié)構(gòu)(Client/Server)中Client(客戶端)往往可以由B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))的Browser(瀏覽器)及其載體承擔(dān),C/S結(jié)構(gòu)的Web應(yīng)用與B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))具有緊密聯(lián)系。大系統(tǒng)和復(fù)雜系統(tǒng)中,C/S結(jié)構(gòu)和B/S結(jié)構(gòu)的嵌套也很普遍。區(qū)別\o"編輯本段"編輯1.硬件環(huán)境不同:C/S一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備.信息自己管理.有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行。2.對(duì)安全要求不同C/S一般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜??梢酝ㄟ^B/S發(fā)布部分可公開信息。B/S建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,可能面向不可知的用戶。3.對(duì)程序架構(gòu)不同C/S程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮。B/S對(duì)安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上.比C/S有更高的要求B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢(shì),從MS的.Net系列的BizTalk2000Exchange2000等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng)。SUN和IBM推JavaBean構(gòu)件技術(shù)等,使B/S更加成熟.。4.軟件重用不同C/S程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好。B/S對(duì)的多重結(jié)構(gòu),要求構(gòu)件相對(duì)獨(dú)立的功能.能夠相對(duì)較好的重用.就如買來(lái)的餐桌可以再利用,而不是做在墻上的石頭桌子5.系統(tǒng)維護(hù)不同C/S程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級(jí).升級(jí)難.可能是再做一個(gè)全新的系統(tǒng)B/S構(gòu)件組成,方面構(gòu)件個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無(wú)縫升級(jí).系統(tǒng)維護(hù)開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級(jí)。6.處理問題不同C/S程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高,需求與操作系統(tǒng)相關(guān).應(yīng)該都是相同的系統(tǒng)。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無(wú)法作到的。與操作系統(tǒng)平臺(tái)關(guān)系最小。7.用戶接口不同。C/S多是建立的Window平臺(tái)上,表現(xiàn)方法有限,對(duì)程序員普遍要求較高。B/S建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流.并且大部分難度減低,減低開發(fā)成本。8.信息流不同C/S程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對(duì)低。B/S信息流向可變化,B-BB-CB-G等信息、流向的變化,更像交易中心。2.2SQLServer介紹SQLServer是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個(gè)OS/2版本。MicrosoftSQLServer近年來(lái)不斷更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用戶見面;SQLServer2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的SQLSERVER2012。特點(diǎn)1.真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。3.豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。4.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。5.具有很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦到運(yùn)行Windows2000的大型多處理器等多種平臺(tái)使用。6.對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到Web頁(yè)面上。7.SQLServer提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。SQLServer2000與以前版本相比較,又具有以下新特性:1.支持XML(ExtensiveMarkupLanguage,擴(kuò)展標(biāo)記語(yǔ)言)2.強(qiáng)大的基于Web的分析3.支持OLEDB和多種查詢4.支持分布式的分區(qū)視圖配置要求安裝、運(yùn)行SQLServer2000的硬件需求1.計(jì)算機(jī)Intel及其兼容計(jì)算機(jī),Pentium166Mz或者更高處理器或DECAlpha和其兼容系統(tǒng)。2.內(nèi)存(RAM)企業(yè)版最少64MB內(nèi)存,其他版本最少需要32MB內(nèi)存,建議使用更多的內(nèi)存。3.硬盤空間完全安裝(Full)需要180MB的空間,典型安裝(Typical)需要170MB的空間,最小安裝(Minimum)需要65MB的空間。詳細(xì)介紹\o"編輯本段"編輯SQL語(yǔ)句可以用來(lái)執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫(kù)中的數(shù)據(jù),從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL語(yǔ)言標(biāo)準(zhǔn)。雖然很多數(shù)據(jù)庫(kù)都對(duì)SQL語(yǔ)句進(jìn)行了再開發(fā)和擴(kuò)展,但是包括Select,Insert,Update,Delete,Create,以及Drop在內(nèi)的標(biāo)準(zhǔn)的SQL命令仍然可以被用來(lái)完成幾乎所有的數(shù)據(jù)庫(kù)操作。SQLServerSQLServer是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個(gè)OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚(yáng)鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應(yīng)用。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng),該版本繼承了SQLServer7.0版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行MicrosoftWindows98的膝上型電腦到運(yùn)行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺(tái)使用。2.3MyEclipse介紹本系統(tǒng)是跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁(yè)。構(gòu)建電子病例管理系統(tǒng)所用的網(wǎng)頁(yè)編輯器為MyEclipse,MyEclipse,是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開元產(chǎn)品的支持十分不錯(cuò)。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。2.4JavaScrip語(yǔ)言Javascript是一種解釋性的,基于對(duì)象的腳本語(yǔ)言,Javascript主要是基于客戶端運(yùn)行的,用戶點(diǎn)擊帶有Javascript的網(wǎng)頁(yè),網(wǎng)頁(yè)里的Javascript就傳到瀏覽器,由瀏覽器對(duì)此作處理。它的代碼可以直接嵌入到HTML命令中,最大特點(diǎn)是可以方便操縱網(wǎng)站上的元素,并與Web瀏覽器交互,同時(shí)JavaScrip可以捕捉用戶操作并作出反映。JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript的一個(gè)重要功能就是面向?qū)ο蟮墓δ?,通過基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開發(fā)。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁(yè)。Javascript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了javascript技術(shù),比如說(shuō),檢驗(yàn)用戶輸入數(shù)據(jù)的有效性,是否重復(fù),是否為空等等。2.5JSP技術(shù)JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個(gè)HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。JSP技術(shù)的優(yōu)點(diǎn):(1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下(5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。內(nèi)部對(duì)象說(shuō)明:request客戶端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/POST請(qǐng)求的參數(shù);response網(wǎng)頁(yè)傳回客戶端的響應(yīng);pageContext網(wǎng)頁(yè)的屬性是在這里管理;session與請(qǐng)求有關(guān)的會(huì)話;applicationservlet正在執(zhí)行的內(nèi)容;out用來(lái)傳送響應(yīng)的輸出流;config代碼片段配置對(duì)象;pageJSP網(wǎng)頁(yè)本身;exception針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外。2.6MVC模式為了滿足系統(tǒng)對(duì)先進(jìn)性、安全性、跨平臺(tái)性、可擴(kuò)展性、可移植性、分布式等方面的要求,系統(tǒng)總體架構(gòu)設(shè)計(jì)采用先進(jìn)的基于java的B/S的三層體系結(jié)構(gòu)。MVC是三個(gè)單詞的縮寫,分別為:模型(Model),視圖(View)和控制Controller)[9]。MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來(lái)實(shí)現(xiàn)。View層用于與用戶的交互,通常用JSP來(lái)實(shí)現(xiàn)。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。Web瀏覽技術(shù)已經(jīng)廣泛地應(yīng)用于Internet,并被廣大用戶接受和使用。Web技術(shù)是隨http和html一起出現(xiàn)的。Web服務(wù)器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務(wù)器一旦檢索到信息,Web瀏覽器就會(huì)以靜態(tài)和交互(如文本、圖像)方式顯示各種對(duì)象。在電子商務(wù)業(yè)務(wù)進(jìn)行過程中,需要在各種貿(mào)易角色之間瀏覽和交換各種信息,此時(shí)就要使用Web瀏覽技術(shù)。這種模型使系統(tǒng)結(jié)構(gòu)更加清楚,分工更加明確,有利于整個(gè)系統(tǒng)后期的維護(hù)和升級(jí)。MVC(ModelViewController)模型(model)-視圖(view)-控制器(controller)MVC本來(lái)是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。模型-視圖-控制器(MVC)是XeroxPARC在八十年代為編程語(yǔ)言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司JavaEE平臺(tái)的設(shè)計(jì)模式,并且受到越來(lái)越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型-視圖-控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。三層體系結(jié)構(gòu)由瀏覽器、web服務(wù)器和數(shù)據(jù)庫(kù)組成,并結(jié)合HTML語(yǔ)言、jsp、JavaScript腳本語(yǔ)言、Ajax、ODBC等技術(shù),后臺(tái)的數(shù)據(jù)庫(kù)采用微軟的SQLServer2005,系統(tǒng)一般的MVC模型如圖2-1所示。圖2-1系統(tǒng)MVC結(jié)構(gòu)圖如圖2-1可知,用戶界面層是用戶和整個(gè)系統(tǒng)的接口,客戶端只需安裝通用的瀏覽器即可建立與本系統(tǒng)的連接。業(yè)務(wù)邏輯層負(fù)責(zé)處理用戶輸入的信息,或?qū)⑦@些信息發(fā)送給數(shù)據(jù)庫(kù)層進(jìn)行保存,或調(diào)用數(shù)據(jù)庫(kù)層中的函數(shù)再次讀出這些數(shù)據(jù)。數(shù)據(jù)訪問層是整個(gè)分層體系的最底層,它主要用來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互,即完成查詢、插入、刪除和修改數(shù)據(jù)庫(kù)中數(shù)據(jù)的功能MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。分層概念視圖,模型,控制器。視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Webservices。如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。MVC模型還可以實(shí)現(xiàn)軟件工程的高內(nèi)聚,低耦合的終極目標(biāo)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求自己本身并不參與業(yè)務(wù)邏輯處理,然后再確定用哪個(gè)視圖來(lái)顯示返回的數(shù)據(jù)。MVC的優(yōu)點(diǎn):1)低耦合性2)高重用性和可適用性3)較低的生命周期成本4)快速的部署5)可維護(hù)性6)有利于軟件工程化管理3需求分析 3.1可行性研究該階段通過對(duì)系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們?cè)谶@里主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行等方面進(jìn)行分析。3.1.1經(jīng)濟(jì)可行性開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。3.1.2技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本系統(tǒng)用的是JSP開發(fā)語(yǔ)言,調(diào)試相對(duì)簡(jiǎn)單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。本系統(tǒng)的開發(fā),是典型的Mis開發(fā)。采用JSP編程語(yǔ)言,已無(wú)技術(shù)上的問題。3.1.3運(yùn)行可行性運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前信息化技術(shù)已經(jīng)相當(dāng)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。3.1.4時(shí)間可行性從時(shí)間上看,在兩個(gè)月的時(shí)間里學(xué)習(xí)相關(guān)知識(shí),并開發(fā)系統(tǒng),時(shí)間上是有點(diǎn)緊,但是不是不可能實(shí)現(xiàn),通過兩個(gè)多月的努力功能基本實(shí)現(xiàn)。3.1.5法律可行性①所有技術(shù)資料都為合法。②開發(fā)過程中不存在知識(shí)產(chǎn)權(quán)問題。③未抄襲任何系統(tǒng),不存在侵犯版權(quán)問題。④開發(fā)過程中未涉及任何法律責(zé)任。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上都是完全可靠的。4系統(tǒng)概要設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)概述系統(tǒng)設(shè)計(jì)是在系統(tǒng)分析的基礎(chǔ)上由抽象到具體的過程,同時(shí),還應(yīng)考慮到系統(tǒng)所實(shí)現(xiàn)的內(nèi)外環(huán)境和主客觀條件,本著實(shí)事求是的態(tài)度進(jìn)行這一階段的工作。系統(tǒng)設(shè)計(jì)階段的主要目的是將系統(tǒng)分析階段所提出的反映用戶信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理方案。這一階段的主要任務(wù)就是從管理信息系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)系統(tǒng)分析階段對(duì)系統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟(jì)、技術(shù)和運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計(jì)算機(jī)和通信的軟、硬件設(shè)備,提出系統(tǒng)的實(shí)施計(jì)劃,確保系統(tǒng)總體目標(biāo)的實(shí)現(xiàn)[11]。系統(tǒng)設(shè)計(jì)工作的特點(diǎn):1系統(tǒng)設(shè)計(jì)階段,大量工作是技術(shù)性的。2允許用戶對(duì)已提出的信息需求做非原則性的修改或補(bǔ)充。3用戶在操作使用和運(yùn)行環(huán)境等方面的具體要求也要在系統(tǒng)設(shè)計(jì)階段加以明確并在系統(tǒng)的技術(shù)方案中得反映,因此系統(tǒng)設(shè)計(jì)人員還要同管理環(huán)境打交道。4系統(tǒng)設(shè)計(jì)工作的環(huán)境是管理環(huán)境和技術(shù)環(huán)境的結(jié)合,是系統(tǒng)設(shè)計(jì)工作的重要特點(diǎn)也是整個(gè)系統(tǒng)成功的一個(gè)必不可缺的環(huán)節(jié)。系統(tǒng)設(shè)計(jì)原則1)階段開發(fā)原則:系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)全面設(shè)計(jì),具體功能實(shí)現(xiàn)分階段進(jìn)行。2)易用性原則:方便上網(wǎng)客戶瀏覽和操作,最大限度地減輕后臺(tái)管理人員的負(fù)擔(dān),做到部分業(yè)務(wù)的自動(dòng)化處理,提供良好的用戶體驗(yàn)。3)業(yè)務(wù)完整性原則:對(duì)于業(yè)務(wù)進(jìn)行中的特殊情況能夠做出及時(shí)、正確的響應(yīng),保證業(yè)務(wù)數(shù)據(jù)的完整性,減少數(shù)據(jù)的誤讀。4)業(yè)務(wù)規(guī)范化原則:在系統(tǒng)設(shè)計(jì)的同時(shí),也為將來(lái)的業(yè)務(wù)流程制定了較為完善的規(guī)范,具有較強(qiáng)的實(shí)際操作性,也給整個(gè)系統(tǒng)帶來(lái)安全性。5)可擴(kuò)展性原則:系統(tǒng)設(shè)計(jì)要考慮到業(yè)務(wù)未來(lái)發(fā)展的需要,要盡可能設(shè)計(jì)得簡(jiǎn)明,各個(gè)功能模塊間的耦合度小,便于系統(tǒng)的擴(kuò)展。如果存在舊有的數(shù)據(jù)庫(kù)系統(tǒng),則需要充分考慮兼容性,比如說(shuō)瀏覽器的兼容。4.2系統(tǒng)用例圖醫(yī)生的操作: 1、醫(yī)生可以管理病人病例基本信息。 2、會(huì)員可以管理病人診斷信息。醫(yī)生用例圖,如圖4-1所示:圖4-1醫(yī)生用例圖管理員的操作:1、管理員可以管理科室信息。2、管理員可以管理科室項(xiàng)目信息。3、管理員可以管理醫(yī)生信息。管理員用例圖,如圖4-2所示:圖4-2管理員用例圖4.3系統(tǒng)流程圖用戶想到進(jìn)入系統(tǒng)進(jìn)行操作,必須要先登錄,登錄成功后才能進(jìn)入系統(tǒng)進(jìn)行操作。不同權(quán)限用戶進(jìn)入系統(tǒng)后,可以進(jìn)行相應(yīng)操作。系統(tǒng)基本流程如下圖4-3所示:圖4-3系統(tǒng)流程圖4.4系統(tǒng)功能分析圖4-4醫(yī)生用戶功能圖 這就是醫(yī)生用戶功能框圖(如圖4-4所示)。醫(yī)生用戶功能包括:病例信息管理及診療記錄管理。下面是每個(gè)模塊的詳細(xì)介紹:病例信息管理模塊:醫(yī)生通過該模塊管理病例基本信息,包括病例信息的添加、修改、查詢、刪除操作。診療記錄管理模塊:醫(yī)生通過該模塊管理病人診療記錄信息,包括診療記錄的添加、查詢操作。圖4-5系統(tǒng)后臺(tái)功能圖這就是本系統(tǒng)的管理員功能框圖(如圖4-5所示)。管理員功能模塊分析:科室信息管理模塊:管理員通過該模塊管理科室信息,包括科室信息的添加、查詢、刪除等操作。科室項(xiàng)目管理模塊:管理員通過該模塊管理科室項(xiàng)目信息,包括科室項(xiàng)目的添加、查詢、刪除等操作。醫(yī)生信息管理模塊:管理員通過該模塊管理醫(yī)生信息,包括醫(yī)生信息添加、查詢、刪除等操作。修改個(gè)人密碼:管理員登錄系統(tǒng),可以修改自己的登錄密碼。5數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)5.1數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)是“按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)”。作為網(wǎng)絡(luò)的一個(gè)重要應(yīng)用,數(shù)據(jù)庫(kù)在網(wǎng)站建設(shè)中發(fā)揮著重要的作用,與普通網(wǎng)站相對(duì)而言,具有數(shù)據(jù)庫(kù)功能的網(wǎng)站網(wǎng)頁(yè)我們通常稱為動(dòng)態(tài)頁(yè)面,也就是說(shuō)頁(yè)面不是一層不變的,頁(yè)面上內(nèi)容(或部分內(nèi)容)是動(dòng)態(tài)生成的,它可以根據(jù)數(shù)據(jù)庫(kù)中相應(yīng)部分內(nèi)容的調(diào)整而變化,使網(wǎng)站內(nèi)容更靈活,維護(hù)更方便,更新更便捷。SQLServer數(shù)據(jù)庫(kù)作為微軟推出的以標(biāo)準(zhǔn)JET為引擎的桌面型數(shù)據(jù)庫(kù)系統(tǒng),由于具有操作簡(jiǎn)單、界面友好等特點(diǎn),具有較大的用戶群體。本系統(tǒng)數(shù)據(jù)庫(kù)采用SQLServer數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名稱為db_bingli,下面分別給出數(shù)據(jù)表概要說(shuō)明、主要數(shù)據(jù)表的結(jié)構(gòu)。5.1.1表概要說(shuō)明系統(tǒng)數(shù)據(jù)庫(kù)db_bingli中含有7張數(shù)據(jù)表:科室信息表t_keshi科室項(xiàng)目表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ù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)mingchengvarchar50否科室名稱t_xiangmu(科室項(xiàng)目表)科室項(xiàng)目信息表主要用于保存科室項(xiàng)目信息,如科室信息、項(xiàng)目名稱等,該表結(jié)構(gòu)如表5-2所示。表5-2t_xiangmu的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)keshi_idint4否科室信息mingchengvarchar50否科室名稱(3)t_yisheng(醫(yī)生信息表)醫(yī)生信息表主要用于保存醫(yī)生基本信息,如姓名、性別、年齡、職務(wù)等,該表結(jié)構(gòu)如表5-3所示。表5-3t_yisheng的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)loginnamevarchar50否登錄名loginpwvarchar50否登錄密碼keshi_idvarchar50否科室信息xingmingvarchar50否姓名xingbievarchar50否性別nianlingvarchar50否年齡zhiwuvarchar50否職務(wù)(4)t_bingli(病例信息表)病歷信息表主要用于保存病歷基本信息,如編號(hào)、姓名、性別、年齡等,該表結(jié)構(gòu)如表5-4所示。表5-4t_bingli的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)bianhaovarchar50否編號(hào)xingmingvarchar50否姓名xingbieint4否性別nianlingint4否年齡shengriint4否生日hunfouint4否婚否zhuzhiint4否住址lianxiint4否聯(lián)系電話shenfenint4否身份證號(hào)(5)t_jilu(診療記錄表)診療記錄表主要用于保存病例的診療記錄信息,如病例信息、醫(yī)生信息、記錄時(shí)間等內(nèi)容。該表結(jié)構(gòu)如表5-5所示。表5-5t_jilu的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)yisheng_idint4是醫(yī)生信息bingli_idint4是病例信息shijianvarchar50否記錄時(shí)間(6)t_neirong(內(nèi)容信息表)內(nèi)容信息表主要用于保存診療記錄內(nèi)容信息,如病例信息、項(xiàng)目信息、內(nèi)容等。該表結(jié)構(gòu)如表5-6所示。表5-6t_neirong的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)jilu_idint4是記錄信息xiangnu_idint4是項(xiàng)目信息neirongvarchar50否記錄內(nèi)容(7)t_admin(管理員信息表)管理員信息表主要用于保存管理員的基本信息,該表結(jié)構(gòu)如表5-7所示。表5-7t_admin的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)userNamevarchar50否登錄賬號(hào)userPwvarchar50否登錄密碼6系統(tǒng)的實(shí)現(xiàn)6.1系統(tǒng)登錄設(shè)計(jì)由于后臺(tái)是用于維護(hù)系統(tǒng),所以必須先要登錄系統(tǒng),才能進(jìn)行相關(guān)的管理操作,打開后臺(tái)管理頁(yè)面的程序窗口,要求用戶輸入正確的用戶名、密碼,二者缺一不可,人員通過后臺(tái)登錄入口進(jìn)入后臺(tái)登錄模塊,后臺(tái)登錄模塊主要用于驗(yàn)證管理員的身份和密碼。后臺(tái)登錄模塊的運(yù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管理員功能設(shè)計(jì)6.2.1科室信息管理本模塊實(shí)現(xiàn)對(duì)科室信息的管理操作,包括科室信息的添加、刪除操作。點(diǎn)擊科室信息管理菜單,進(jìn)入科室信息管理頁(yè)面,該頁(yè)面通過列表列出已添加的科室信息,包括科室名稱。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)科室信息的刪除操作。界面設(shè)計(jì)如圖6-2:圖6-2科室信息管理點(diǎn)擊添加按鈕,進(jìn)入科室信息添加頁(yè)面,輸入符合條件的科室信息,完成科室信息的添加操作。界面設(shè)計(jì)如圖6-3:圖6-3科室信息添加該模塊的主要功能keshiAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存科室信息,并通過struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: 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àng)目管理本模塊實(shí)現(xiàn)對(duì)科室項(xiàng)目信息的管理操作,包括科室項(xiàng)目信息的添加、刪除操作。點(diǎn)擊科室項(xiàng)目信息管理菜單,進(jìn)入科室項(xiàng)目信息管理頁(yè)面,該頁(yè)面通過列表列出已添加的科室項(xiàng)目信息,包括科室項(xiàng)目名稱等。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)科室項(xiàng)目信息的刪除操作。界面設(shè)計(jì)如圖6-4:圖6-4科室項(xiàng)目信息管理點(diǎn)擊添加按鈕,進(jìn)入科室項(xiàng)目信息添加頁(yè)面,輸入符合條件的科室項(xiàng)目信息,完成科室項(xiàng)目信息的添加操作。界面設(shè)計(jì)如圖6-5:圖6-5科室項(xiàng)目信息添加該模塊的主要功能keshiAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存科室項(xiàng)目信息,并通過struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: publicStringxiangmuAdd() { TXiangmuxiangmu=newTXiangmu(); xiangmu.setKeshiId(keshiId); xiangmu.setMingcheng(mingcheng); xiangmu.setDel("no"); xiangmuDAO.save(xiangmu); this.setMessage("科室項(xiàng)目添加成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuUpd() { TXiangmuxiangmu=xiangmuDAO.findById(id); xiangmu.setMingcheng(mingcheng); xiangmuDAO.getHibernateTemplate().update(xiangmu); this.setMessage("科室項(xiàng)目修改成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuDel() { Stringsql="updateTXiangmusetdel='yes'whereid="+id; xiangmuDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("科室項(xiàng)目刪除成功!"); 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ī)生信息管理本模塊實(shí)現(xiàn)對(duì)醫(yī)生信息的管理操作,包括醫(yī)生信息的添加、刪除操作。點(diǎn)擊醫(yī)生信息管理菜單,進(jìn)入醫(yī)生信息管理頁(yè)面,該頁(yè)面通過列表列出已添加的醫(yī)生信息,包括醫(yī)生姓名、性別、職務(wù)等。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)醫(yī)生信息的刪除操作。界面設(shè)計(jì)如圖6-6:圖6-6醫(yī)生信息管理點(diǎn)擊添加按鈕,進(jìn)入醫(yī)生信息添加頁(yè)面,輸入符合條件的醫(yī)生信息,完成醫(yī)生信息的添加操作。界面設(shè)計(jì)如圖6-7:圖6-7醫(yī)生信息添加該模塊的主要功能yishengAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存醫(yī)生信息,并通過struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: 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ī)生功能設(shè)計(jì)6.3.1病例信息管理本模塊實(shí)現(xiàn)對(duì)病例信息的管理操作,包括病例信息的添加、刪除操作。點(diǎn)擊病例信息管理菜單,進(jìn)入病例信息管理頁(yè)面,該頁(yè)面通過列表列出已添加的病例信息,包括病例編號(hào)、患者姓名、性別、聯(lián)系方式等。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)病例信息的刪除操作。界面設(shè)計(jì)如圖6-8:圖6-8病例信息管理點(diǎn)擊添加按鈕,進(jìn)入病例信息添加頁(yè)面,輸入符合條件的病例信息,完成病例信息的添加操作。界面設(shè)計(jì)如圖6-9:圖6-9病例信息添加該模塊的主要功能bingliAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存病例信息,并通過struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: 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診斷記錄管理本模塊實(shí)現(xiàn)對(duì)診斷記錄信息的管理操作,包括診斷記錄信息的添加、刪除操作。點(diǎn)擊診斷記錄信息管理菜單,進(jìn)入診斷記錄信息管理頁(yè)面,該頁(yè)面通過列表列出已添加的診斷記錄信息,包括診斷記錄信息、項(xiàng)目名稱、項(xiàng)目?jī)?nèi)容等。界面設(shè)計(jì)如圖6-10:圖6-10診斷記錄信息管理點(diǎn)擊添加按鈕,進(jìn)入診斷記錄信息添加頁(yè)面,輸入符合條件的診斷記錄信息,完成診斷記錄信息的添加操作。界面設(shè)計(jì)如圖6-11:圖6-11診斷記錄信息添加該模塊的主要功能jiluAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存診斷記錄信息,并通過struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: 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個(gè)人信息管理本模塊實(shí)現(xiàn)醫(yī)生個(gè)人信息的管理。點(diǎn)擊個(gè)人信息修改菜單,進(jìn)入個(gè)人信息修改頁(yè)面。界面設(shè)計(jì)如圖6-12:圖6-12個(gè)人信息管理本模塊核心代碼如下: 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("個(gè)人信息修改成功!"); this.setPath("yishengToUpd.action"); return"succeed"; }6.4退出后臺(tái)管理退出后臺(tái)管理模塊主要用于退出后臺(tái)管理系統(tǒng)。當(dāng)管理員退出后臺(tái)管理系統(tǒng)之后,再單擊【退出】按鈕時(shí),雖還在后臺(tái)中,但已不能進(jìn)行任何操作;單擊其他功能模塊時(shí),將彈出后臺(tái)登錄窗口,要求用戶輸入正確的用戶名、密碼以及驗(yàn)證碼。7系統(tǒng)調(diào)試與測(cè)試7.1程序調(diào)試在設(shè)計(jì)系統(tǒng)的過程中,存在一些錯(cuò)誤是必然的。對(duì)于語(yǔ)句的語(yǔ)法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請(qǐng)求立即糾正,因此,這類錯(cuò)誤比較容易發(fā)現(xiàn)和糾正。但另一類錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對(duì)這一類動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。7.2配置站點(diǎn)7.2.1JDK的安裝和配置JDK是JavaDevelopKit的縮寫,它是早期Java的開發(fā)包名稱,一直延用至今。1998年JDK發(fā)表1.2版本的時(shí)候,Sun公司使用了新名稱Java2Platform來(lái)稱呼Java,譯成中文就是“Java平臺(tái)”,修改后的JDK稱為J2SDK即Java2(Platform)SoftwareDevelopingKill。并分為標(biāo)準(zhǔn)版、企業(yè)版、微型版,它們有不同的用途。從SUN公司的Internet站點(diǎn)下載最新版本的JDK,可以從Sun公司的主頁(yè)上免費(fèi)下載,它的下載網(wǎng)址為:。雙擊下載的JDK安裝程序,進(jìn)入安裝界面,單擊“下一步”按鈕,更改安裝目錄,這里更改為d:\java;連續(xù)單擊“Next”(下一步)按鈕,直至安裝結(jié)束。下面是對(duì)JDK的環(huán)境配置說(shuō)明(因?yàn)楝F(xiàn)在用Windowsxp版本的用戶居多,所以以下的環(huán)境變量設(shè)置都是針對(duì)于Windowsxp環(huán)境)。在Windowsxp桌面上選擇“我的電腦”(右鍵)→屬性→高級(jí)→環(huán)境變量,單擊系統(tǒng)變量中的“新建”按鈕,分別添加如下的系統(tǒng)變量。變量名:JAVA_HOME;變量值:D:\JAVA。變量名:CLASS_PATH;變量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(加.表示當(dāng)前路徑,所以這里的.;是不能少的)。變量名:PATH;變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。7.2.2Tomcat的安裝和配置Tomcat是一個(gè)開放源代碼、運(yùn)行Serv1et和JSPWeb應(yīng)用軟件的基于Java的Web應(yīng)用軟件容器。Tomcat是由Apache一Jakarta子項(xiàng)目支持,并由來(lái)自開放代碼Java社區(qū)的志愿者進(jìn)行維護(hù)。TomcatServer是根據(jù)servlet和JSP規(guī)律執(zhí)行的,因此我們就可以說(shuō)Tomcatserver也實(shí)行了Apache一Jakarta規(guī)比絕大多數(shù)商業(yè)應(yīng)用軟件服務(wù)器要好。Tomcat很可能成為下一代JavaWebServer的主流。因?yàn)門omcat受到Sun的全力支持,并由非常強(qiáng)大的開發(fā)組織apache來(lái)進(jìn)行發(fā)展,這一工程被稱Jakarta計(jì)劃。從戰(zhàn)略上看,Sun現(xiàn)在正借助ApaChe的影響來(lái)開發(fā)Server端Java技術(shù),這就是Tomcat。因此可以相信Tomcat己經(jīng)或者即將是一個(gè)較理想Jsp&Servlet開發(fā)和支撐平臺(tái)。相對(duì)地,JSWDK只是一個(gè)簡(jiǎn)化的服務(wù)器平臺(tái),和穩(wěn)定程度都比較有限,而且實(shí)際上S幽并不許可將它作為Iflternet上的平臺(tái)。在SUTN公司的大力支持下,Tomcat將成為以后Web平臺(tái)的主流平臺(tái)。雙擊下載的Tomcat安裝程序,連續(xù)單擊“下一步“,直至安裝結(jié)束,只在選擇安裝路徑時(shí)更改為d:\Tomcat5.0?!ぴO(shè)置環(huán)境變量:在“我的電腦”屬性中設(shè)置環(huán)境變
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年物位儀項(xiàng)目發(fā)展計(jì)劃
- 稅務(wù)籌劃與合規(guī)管理策略計(jì)劃
- 2025年磁共振成像裝置項(xiàng)目發(fā)展計(jì)劃
- 2025年房屋整體質(zhì)量無(wú)損檢測(cè)分析系統(tǒng)項(xiàng)目建議書
- 文化藝術(shù)品交易免責(zé)協(xié)議書
- 宿舍舍長(zhǎng)述職報(bào)告
- 貨物鐵路運(yùn)輸合同
- Tectoquinone-Standard-生命科學(xué)試劑-MCE
- O-2545-hydrochloride-生命科學(xué)試劑-MCE
- 給家里人做一頓飯
- 《嬰兒撫觸》課件
- 第1課《化石的故事》課件
- 人教PEP版六年級(jí)下冊(cè)英語(yǔ)全冊(cè)課件(2024年2月修訂)
- 飛行中鳥擊的危害與防范
- 《少兒財(cái)商教育》課件
- 銷售人員培訓(xùn)課程課件
- 電子表格表格會(huì)計(jì)記賬憑證模板
- 制造過程優(yōu)化與工藝改進(jìn)培訓(xùn)
- 核安全與核安全文化課件
- 《“健康中國(guó)2030”規(guī)劃綱要》全文健康中國(guó)2030規(guī)劃綱要全文
評(píng)論
0/150
提交評(píng)論