版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、基于j2ee的醫(yī)院醫(yī)護信息管理系統(tǒng)摘要:醫(yī)院醫(yī)護信息管理系統(tǒng)是一個適用于小型醫(yī)院的計算機化的醫(yī)護信息管理系統(tǒng),用于支持醫(yī)院的行政管理與事務處理業(yè)務,減輕事務處理人員的勞動強度,輔助醫(yī)院管理,輔助高層領導決策,提高醫(yī)院的工作效率,從而使醫(yī)院能夠以少的投入獲得更好的社會效益與經(jīng)濟效益。本系統(tǒng)是一個運用struts、spring、ibatis等開源框架技術(shù)開發(fā)的基于j2ee的b/s信息管理系統(tǒng),通過本系統(tǒng)可以實現(xiàn)以下主要功能:(1) 管理員通過網(wǎng)絡登陸對員工信息進行管理與維護。(2) 用戶通過網(wǎng)絡登陸對個人信息進行管理與維護。(3) 醫(yī)生通過網(wǎng)絡登陸對病人信息進行管理與維護。(4) 醫(yī)生通過網(wǎng)絡登陸
2、記錄病人診療情況。(5) 管理員通過網(wǎng)絡登陸對病房信息進行管理與維護。(6) 產(chǎn)生病房使用情況。關鍵字:j2ee; struts; spring; ibatis;his。doctor&nurse information management systemabstract: doctor&nurse information management system is a computerized system which applies into the small-scale hospitals. the system is used to facilitate the administrati
3、on and transaction processing, alleviate the labor intensity of the hospital staff, as well as assist the high-level officers to manage the hospital and make big decisions. in this way, the work efficiency is improved. therefore, the hospital is able to obtain better social and economical benefit at
4、 a lower price. this system is a b/s information management system based on j2ee and it is developed with the open source framework technology such as struts, spring and ibatis. the following functions can be achieved by this system: (1)the administrator log onto the system to administrate and maint
5、ain the staffs information and the basic information of the hospital.(2) the users log onto the system to administrate and maintain the personal information.(3) the doctors log onto the system to administrate and maintain the patients information.(4) the doctors log onto the system to record the dia
6、gnosis result and treat process of the patients. (5) the administrators log onto the system to manage and maintain the room information.(6) the room usage condition can be generated.key words: j2ee; struts; spring; ibatis;his.目錄第一章 引言11.1 系統(tǒng)應用背景11.2國內(nèi)外研究現(xiàn)狀11.3 本系統(tǒng)的特點與定位1第二章 技術(shù)方法12.1開發(fā)環(huán)境介紹32.1.1集成開發(fā)環(huán)
7、境:eclipse32.1.2 web應用服務器:jboss32.1.3 數(shù)據(jù)庫服務器:mysql32.2開源框架介紹32.2.1 struts32.2.2 spring42.2.3 ibatis42.3設計模式介紹42.4 j2ee簡介52.4.1 j2ee的概念52.4.2 j2ee的優(yōu)點52.4.3 j2ee三層模型62.5 研究設計方法62.5.1表現(xiàn)層62.5.2 控制層62.5.3 dao層62.6 與其他技術(shù)的比較72.6.1 asp開發(fā)語言72.6.2 php開發(fā)語言72.6.3 jsp開發(fā)語言72.6.4性能比較:83.1需求概述93.1.1業(yè)務功能93.1.2信息交流功能9
8、3.1.3安全93.2 業(yè)務流程分析94.1系統(tǒng)設計114.2 系統(tǒng)框架114.3數(shù)據(jù)庫設計115.1頁面的組裝155.2 struts的配置165.3 spring的配置165.4 ibatis的配置175.5 datasource的配置185.6 系統(tǒng)編碼實現(xiàn)205.6.3管理醫(yī)生模塊245.6.4管理護士模塊:265.6.5 管理掛號員模塊275.6.6管理病房模塊285.6.7管理病房類型模塊305.6.8管理醫(yī)生類型模塊305.6.9 管理科室模塊315.6.10診療模塊3274第一章 引言1.1 系統(tǒng)應用背景隨著計算機性能不斷提高,價格不斷下降,計算機已在醫(yī)院醫(yī)療、教學、科研、管理
9、的各個方面得到越來越廣泛的應用。計算機化的醫(yī)院信息系統(tǒng)已成為現(xiàn)代化醫(yī)院運營必不可少的基礎設施與技術(shù)支撐環(huán)境。一個現(xiàn)代化醫(yī)院的成功運行離不開功能完整、界面友好、操作方便的醫(yī)院信息系統(tǒng),而一套成功的醫(yī)院信息系統(tǒng)也大大促進了醫(yī)院及醫(yī)療行業(yè)的信息化發(fā)展。計算機化的用戶管理系統(tǒng),支持醫(yī)院的行政管理與事務處理業(yè)務,,減輕事務處理人員的勞動強度,輔助醫(yī)院管理,輔助高層領導決策,提高醫(yī)院的工作效率,從而使醫(yī)院能夠以少的投入獲得更好的社會效益 與經(jīng)濟效益。j2ee是當前世界上應用最廣泛,安全性最高的開發(fā)模式。而使用struts、spring等成熟的開源框架技術(shù)開發(fā)的應用系統(tǒng),具有更高的運行效率和可擴展性。j2e
10、e企業(yè)級應用軟件的平臺無關性使其可以應用到幾乎所有的系統(tǒng)平臺上,具有很強的可移植性。1.2國內(nèi)外研究現(xiàn)狀發(fā)達國家醫(yī)院信息系統(tǒng)的開發(fā)實現(xiàn)已有三十多年的歷史,正在經(jīng)歷著小型化(downsizing)、智能化(intelligence)和集成化(integration)的改造過程。我國醫(yī)院信息系統(tǒng)的研發(fā)工作,從八十年代初期算起,至今有十多年的歷史,在這期間有了很大進步。醫(yī)院信息管理系統(tǒng)的應用已經(jīng)涉及到醫(yī)院業(yè)務的各個方面。1.3 本系統(tǒng)的特點與定位作為一個畢業(yè)設計的課題,ehealthier的主要目的是將在學校所學的知識用于實踐操作中,一方面提高自己的動手能力,將知識用于實踐,另一方通過使用當前最前沿
11、的軟件開發(fā)技術(shù),使自己更好的適應工作崗位,另外通過畢業(yè)設計親身體會軟件開發(fā)的流程,包括項目計劃、需求分析、程序設計、代碼編寫、軟件測試、運行和維護。所以ehealthier并沒有把開發(fā)目標確定在功能完備上,而是選用醫(yī)院信息系統(tǒng)比較實用的醫(yī)護管理、病人管理模塊,通過對這些實用功能的實現(xiàn),提高自己對新技術(shù)的運用和實踐能力。系統(tǒng)以真實項目的標準對系統(tǒng)的輸入輸出進行校驗,具有良好的安全性和穩(wěn)定性。ehealthier使用了j2ee的開發(fā)模式,整個系統(tǒng)分為表現(xiàn)層、控制層、dao層和數(shù)據(jù)持久層,以jsp、struts作為表現(xiàn)層和控制層的主要實現(xiàn)技術(shù)、以spring作為dao層的主要實現(xiàn)技術(shù),以ibatis
12、作為數(shù)據(jù)持久層的實現(xiàn)技術(shù)。第二章 技術(shù)方法2.1開發(fā)環(huán)境介紹2.1.1集成開發(fā)環(huán)境:eclipseeclipse 是一個由ibm公司資助的開放源代碼的java 集成開發(fā)環(huán)境,但它的目標不僅僅是成為java程序的ide環(huán)境,根據(jù)eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴展到任何語言的開發(fā)。eclipse是一個開放源代碼的項目,任何人都可以下載eclipse的源代碼,并且在此基礎上開發(fā)自己的功能插件,同時也可以通過開發(fā)新的插件擴展現(xiàn)有插件的功能,比如在現(xiàn)有的java開發(fā)環(huán)境中加入web服務器插件??梢詿o限擴展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理。eclipse在java程序開發(fā)工具領域內(nèi)占
13、有絕對的優(yōu)勢。2.1.2 web應用服務器:jbossjboss是一個開放源代碼的j2ee應用服務器,遵循最新的j2ee規(guī)范。從jboss項目開始至今,它已經(jīng)從一個ejb容器發(fā)展成為一個基于的j2ee的一個web 操作系統(tǒng)(operating system for web),體現(xiàn)了j2ee規(guī)范中最新的技術(shù)。2.1.3 數(shù)據(jù)庫服務器:mysql mysql是一個多用戶、多線程的sql數(shù)據(jù)庫,是一個客戶機/服務器結(jié)構(gòu)的應用,它由一個服務器守護程序mysqld和很多不同的客戶程序和庫組成。mysql是目前運行速度最快的數(shù)據(jù)庫服務器之一,而且mysql對于商業(yè)和個人用戶是免費的,mysql的功能特點如
14、下:可以同時處理幾乎不限數(shù)量的用戶;處理多達50,000,000以上的記錄;命令執(zhí)行速度快;簡單有效的用戶特權(quán)系統(tǒng)。2.2開源框架介紹2.2.1 strutsstruts是apache 基金會jakarta 項目組的一個開源項目,它采用mvc模式,能夠很好地幫助java 開發(fā)者利用j2ee開發(fā)web應用。是當前應用最廣泛、最成熟的開源框架之一,struts 是面向?qū)ο笤O計,分離顯示邏輯和業(yè)務邏輯。struts 框架的核心是一個彈性的控制層,基于如 java servlets,javabeans,resourcebundles與xml等標準技術(shù),以及 jakarta commons 的一些類庫。
15、struts有一組相互協(xié)作的類(組件)、serlvet以及jsp tag lib組成?;趕truts構(gòu)架的web應用程序基本上符合jsp model2的設計標準,是一個傳統(tǒng) mvc設計模式的一種變化類型。2.2.2 spring spring 是為了解決企業(yè)應用程序開發(fā)復雜性而創(chuàng)建的一個開源框架,是當前最活躍的開源框架之一,它運用beanfactory來統(tǒng)一管理和實例化javabeans, spring框架通過容器事務的管理, 提供了一個輕量級的容器事務處理, 針對的對象是普通的java類, 使用spring事務管理, 可以按照自己的業(yè)務把一些相關的方法納入其事務管理里面, 避免了程序員在處
16、理事務的過程中繁瑣的工作。2.2.3 ibatis ibatis是持久層的一個開源框架,它是o/r實現(xiàn)的一種方式,可以很方便的實現(xiàn)java對象和數(shù)據(jù)庫的映射。2.3設計模式介紹mvc即model-view-controller,即把一個應用的輸入、處理、輸出流程按照model、view、controller的方式進行分離,這樣一個應用被分成三個層模型層、視圖層、控制層。 視圖(view)代表用戶交互界面,對于web應用來說,可以概括為html界面,但有可能為xhtml、xml和applet。隨著應用的復雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應用可能有很多不同的視圖,mvc設計模式對于視
17、圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務流程的處理。業(yè)務流程的處理交予模型(model)處理。比如一個訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。 模型(model):就是業(yè)務流程/狀態(tài)的處理以及業(yè)務規(guī)則的制定。業(yè)務流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務模型的設計是mvc最主要的核心??刂疲╟ontrol):用來接收和轉(zhuǎn)發(fā)用戶的交互信息,調(diào)用模型層進行相關的處理,將矗立的結(jié)果交給相應的視圖顯示給用戶。2.4 j2ee簡介2.4.1 j2ee的概念j2ee是一種利
18、用java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關的復雜問題的體系結(jié)構(gòu)。j2ee技術(shù)的基礎就是核心java平臺或java 2平臺的標準版,j2ee不僅鞏固了標準版中的許多優(yōu)點,例如編寫一次、隨處運行的特性、方便存取數(shù)據(jù)庫的jdbc api、corba技術(shù)以及能夠在internet應用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。 j2ee體系結(jié)構(gòu)提供中間層集成框架用
19、來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統(tǒng)一的開發(fā)平臺,j2ee降低了開發(fā)多層應用的費用和復雜性,同時提供對現(xiàn)有應用程序集成強有力支持,完全支持enterprise javabeans,有良好的向?qū)еС执虬筒渴饝茫砑幽夸浿С?,增強了安全機制,提高了性能。2.4.2 j2ee的優(yōu)點j2ee為搭建具有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良好的機制,基于j2ee平臺的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。基于j2ee的應用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設計合理的基于j2ee的程序只需開發(fā)一次就
20、可部署到各種平臺。一些j2ee部署在windows環(huán)境中,也可選擇健壯性能更好的操作系統(tǒng)如sun solaris、ibm os/390。最健壯的操作系統(tǒng)可達到99.999%的可用性或每年只需5分鐘停機時間。這是實時性很強商業(yè)系統(tǒng)理想的選擇。2.4.3 j2ee四層模型j2ee 的多層企業(yè)級應用模型將兩層化模型中的不同層面切分成許多層。一個多層化應用能夠為不同的每種服務提供一個獨立的層,圖2-1是 j2ee 典型的層結(jié)構(gòu):圖2-1 j2ee四層模型2.5 研究設計方法本系統(tǒng)按照j2ee層次結(jié)構(gòu)進行設計:2.5.1表現(xiàn)層 由jsp和struts擴展標簽庫實現(xiàn),主要用于用戶交互和處理結(jié)果展現(xiàn)給用戶。
21、2.5.2 控制層 運用struts框架的actionservlet和action進行控制轉(zhuǎn)發(fā),主要作用是描述應用程序中的商業(yè)流程,調(diào)用相應的dao進行結(jié)果控制。2.5.3 dao層 運用spring的beanfactory機制進行底層類的實例化,并由ibatis的sql mapping機制進行相應的數(shù)據(jù)庫操作。2.6 與其他技術(shù)的比較2.6.1 asp開發(fā)語言 asp全名active server pages,是一個web服務器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動態(tài)的、互動的、高性能的web服務應用程序。asp采用腳本語言vbscript(java script)作為自己的開發(fā)語言,開發(fā)比較
22、簡單。asp只能執(zhí)行于微軟的服務器產(chǎn)品,iis(internet information server),而且每次執(zhí)行都要進行編譯,所以性能比較低。而且asp所有代碼均寫在頁面中,表現(xiàn)與實現(xiàn)混合在一起,安全性差,只要得到頁面,便能得到全部源碼。2.6.2 php開發(fā)語言php是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用c,java和perl語言的語法, 并耦合php自己的特性,使web開發(fā)者能夠快速地寫出動態(tài)產(chǎn)生頁面。它支持目前絕大多數(shù)數(shù)據(jù)庫。而且php是完全免費的。由于php本身存在的一些缺點,使得它不適合應用于大型電子商務站點,而更適合一些小型的商業(yè)站點。首先,php缺乏規(guī)模支持。
23、其次,缺乏多層結(jié)構(gòu)支持。對于大負荷站點,解決方法只有一個:分布計算。數(shù)據(jù)庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,群組成二維數(shù)組。而php則缺乏這種支持。而且php提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運用在電子商務中。2.6.3 jsp開發(fā)語言 jsp是sun公司推出的新一代網(wǎng)站開發(fā)語言,jsp可以在serverlet和javabean的支持下,完成功能強大的站點程序。jsp技術(shù)能夠支持高度復雜的基于web的應用。jsp頁面的內(nèi)置腳本語言基于java程序設計語言,所有的jsp頁面都被編譯成為java servlet,所以jsp頁面就具有java技術(shù)的所有好處,包括
24、健壯的存儲管理和安全性。作為java平臺的一部分,jsp擁有java程序設計語言“一次編寫,各處執(zhí)行”的特點。jsp可以執(zhí)行于所有平臺。如win nt,linux,unix。從一個平臺移植到另外一個平臺,jsp和javabean甚至不用重新編譯,因為java字節(jié)碼都是標準的與平臺無關的。對于腳本語言來講,jsp雖然在開發(fā)和部署方面相對其他腳本語言來說要復雜一些,但對于跨平臺的中大型網(wǎng)站系統(tǒng)來講,基于java技術(shù)的jsp(結(jié)合javabean和ejb)幾乎成為唯一的選擇。2.6.4性能比較:有人做過試驗,對這三種語言分別做回圈性能測試及存取oracle數(shù)據(jù)庫測試。在循環(huán)性能測試中,jsp只用了四
25、秒鐘就結(jié)束了2000020000的回圈。而asp、php測試的是20002000循環(huán)(少一個數(shù)量級),卻分別用了63秒和84秒。(參考phplib)。 數(shù)據(jù)庫測試中,三者分別對 oracle 8 進行 1000 次 insert,update,select和delete: jsp 需要 13 秒,php 需要 69 秒,asp則 需要 73 秒。 第三章 系統(tǒng)分析3.1需求概述3.1.1業(yè)務功能 系統(tǒng)實現(xiàn)醫(yī)院基礎信息的管理,包括病房管理,病房類型管理,科室管理,醫(yī)生專業(yè)管理;系統(tǒng)實現(xiàn)員工信息管理,包括醫(yī)生管理、護士管理、掛號員管理、管理員管理;系統(tǒng)實現(xiàn)病號掛號管理,病號信息保存與追蹤;系統(tǒng)實現(xiàn)
26、病號診療紀錄添加、保存與查詢功能。系統(tǒng)實現(xiàn)用戶個人信息管理功能。系統(tǒng)實現(xiàn)病房使用情況查詢功能。3.1.2信息交流功能 系統(tǒng)實現(xiàn)郵件的自動發(fā)送功能。3.1.3安全 系統(tǒng)實現(xiàn)用戶密碼的加密功能,使用不可逆的單向加密方式保存用戶的密碼;系統(tǒng)實現(xiàn)密碼找回功能,用戶可通過輸入自己的用戶名和郵箱地址,通過郵箱實現(xiàn)密碼找回功能3.2 業(yè)務流程分析流程圖如下(圖3-1):找回密碼登錄成功?輸入用戶名和郵箱生成隨機密碼發(fā)送郵件存在此用戶?檢測用戶類型掛號員 管理員醫(yī)生出院掛號醫(yī)生管理新病人?分配醫(yī)護搜索診療查詢病歷新病人?添加病人信息添加診療記錄護士管理掛號員管理病房管理添加醫(yī)生編輯信息刪除醫(yī)生添加護士編輯護士
27、刪除護士添加掛號員編輯信息刪除掛號員添加病房刪除病房編輯信息管理類型發(fā)送郵件發(fā)送郵件發(fā)送郵件有病人?刪除提示信息編輯病人信息圖3-1 系統(tǒng)流程圖 第四章 概要設計4.1系統(tǒng)設計4.1.1表現(xiàn)層 由jsp和struts標簽庫實現(xiàn),主要用于用戶交互和處理結(jié)果展現(xiàn)給用戶。4.1.2控制層 運用struts框架的actionservlet和action進行控制轉(zhuǎn)發(fā),主要作用是描述應用程序中的商業(yè)流程,調(diào)用相應的dao進行結(jié)果控制。4.1.3 dao層 運用spring的beanfactory機制進行底層類的實例化,并由ibatis的sql mapping機制進行相應的數(shù)據(jù)庫操作。4.2 系統(tǒng)框架醫(yī)院醫(yī)
28、護信息管理系統(tǒng)實現(xiàn)主要功能圖示如下(圖4-1):醫(yī)生管理、護士管理、維護病房信息、科室管理醫(yī)護人員管理模塊醫(yī) 院 門 診 查 詢 系 統(tǒng)添加病房、查看病房使用記錄、查找病房、修改病房信息病 房 管 理 模 塊 查找病人、添加病人、修改病人信息、給病人安排醫(yī)生和護士、病人的登入和登出、安排房間、醫(yī)生填寫病歷、查詢病人病歷。病 人 管 理 模 塊圖4-1 系統(tǒng)功能圖4.3數(shù)據(jù)庫設計4.3.1 admin表表4-1 admin表 field namefield typesizeiskeywordallownullisautoincrementidinteger10ynynamevarchar18nn
29、npasswordvarchar128nnngenderchar6nnndobchar20nnnemailvarchar50nnnaddressvarchar50nnnphone_numberchar20nyndepartmentinteger4nnnidinteger10yy4.3.2 doctor表表4-2 doctor表field namefield typesizeiskeywordallownullisautoincrementidinteger10ynynamevarchar18nnnpasswordvarchar128nnngenderchar6nnndobchar20nnnem
30、ailvarchar50nnnaddressvarchar50nnnphone_numberchar20nyndepartmentinteger4nnnspecialityinteger4ynn4.3.3 cases表表4-3 cases表field namefield typesizeiskeywordallownullisautoincrementidinteger10ynycasesinteger10nnndate_timechar20nnncommentsvarchar200nnn4.3.4 nurse表表4-4 nurse表field namefield typesizeiskeyw
31、ordallownullisautoincrementidinteger10ynynamevarchar18nnnpasswordvarchar128nnngenderchar6nnndobchar20nnnemailvarchar50nnnaddressvarchar50nnnphone_numberchar20nyndepartmentinteger4nnn4.3.5 patient表表4-5 patient表field namefield typesizeiskeywordallownullisautoincrementidinteger10ynynamevarchar18nnnheig
32、htvarchar20nyngenderchar6nnndobchar20nnnemailvarchar50nnnaddressvarchar50nnnphone_numberchar20nynweightchar20nynblood_groupchar2nnn4.3.6 register表表4-6 register表field namefield typesizeiskeywordallownullisautoincrementidinteger10ynynamevarchar18nnnpasswordvarchar128nnngenderchar6nnndobchar20nnnemailv
33、archar50nnnaddressvarchar50nnnphone_numberchar20nyn4.3.7 room表表4-7 room表field namefield typesizeiskeywordallownullisautoincrementidinteger10ynyroom_markvarchar20nnnroom_typeinteger10nnncapacityinteger2nnncurrent_peopleinteger2nnn4.3.8 room_type表表4-8 room_type表field namefield typesizeiskeywordallownu
34、llisautoincrementidinteger10ynyroom_typevarchar40nnn4.3.9 department表表4-9 department表field namefield typesizeiskeywordallownullisautoincrementidinteger10ynydepartmentvarchar40nnn4.3.10 speciality表表4-10 speciality表field namefield typesizeiskeywordallownullisautoincrementidinteger10ynyspecialityvarcha
35、r40nnn第五章 系統(tǒng)詳細設計5.1頁面的組裝 本系統(tǒng)應用了tiles框架組合可以復用的tiles來搭建網(wǎng)頁,從而形成界面風格統(tǒng)一,格式整齊的用戶界面。5.1.1配置tiles插件 首先在sturst配置文件struts-config.xml 中配置tiles插件,使系統(tǒng)能夠辨析符合tiles規(guī)范的路徑。格式如下: /plug-in 建立tiles的配置文件tiles-defs.xml,用來定義tiles模板和子頁面,在本系統(tǒng)中所有的用戶界面都用tiles來組裝。 建立模板頁basetemplate.jsp,頁面中以的方式定義網(wǎng)頁標題;以的方式定義插入點。 建立二級模板頁,繼承basetem
36、plate.jsp,設定個二級模板的左側(cè)菜單。 建立最終用戶界面,繼承各自的二級模板頁,并定義自己的body,通過body頁的編寫,與二級模板和basetemplate.jsp進行組裝,形成最終的用戶界面。5.2 struts的配置 (1)struts標簽庫文件的配置:將struts標簽庫文件放入web-inf文件夾下,文件如下:struts-config.xml、struts-html.tld、struts-logic.tld、struts-nested.tld、struts-tiles.tld,在web.xml文件中配置標簽庫,格式如下: /web-inf/struts-bean /web
37、-inf/struts-bean.tld (2)struts類庫的配置:將struts的類庫文件放入web-inf下lib文件夾下,struts.jar、jakarta-oro.jar、commons-validator.jar、commons-logging.jar、commons-fileupload.jar、commons-digester.jar、commons-beanutils.jar、antlr.jar。 (3)建立struts配置文件struts-config.xml文件并放入web-inf文件夾下,struts-config.xml文件是struts的核心文件,這個文件里描述
38、了所有的struts組件,定義了所有的action, actionform以及所有action的映射關系,struts-config.xml文件還定義了系統(tǒng)的消息資源文件,系統(tǒng)中所有的用戶消息都在applicationresources文件中進行定義,這樣就方便了對消息文件的統(tǒng)一管理。 另外,struts-config.xml文件還定義了struts的各種插件,spring插件就是在這個文件中定義。5.3 spring的配置 (1) spring 類庫的配置: 將spring的類庫文件放到web-inf下lib文件夾中。 (2) spring配置文件配置:建立applicationcontex
39、t.xml文件放入web-inf文件夾中,文件格式如下:java:jdbc/ehealthierds (3)在struts-config.xml中配置spring插件,格式如下:5.4 ibatis的配置 (1) ibatis類庫的配置:將ibatis類庫文件放到web-inf下lib文件夾中,主要文件如下:ibatis-sqlmap-2.jar、ibatis-dao-2.jar、ibatis-common-2.jar。 (2)ibatis配置文件配置:建立sql-map-config.xml文件并放入web-inf文件夾中,文件格式如下: 5.5 datasource的配置 (1)數(shù)據(jù)庫驅(qū)動
40、程序的配置:將數(shù)據(jù)庫jdbc驅(qū)動放到web-inf下lib文件夾中。 (2)建立數(shù)據(jù)源配置文件mysql-ds.xml,文件格式如下: jdbc/ehealthierds jdbc:mysql:/127.0.0.1:3306/ehealthier?useunicode=true&characterencoding=gbk com.mysql.jdbc.driver root 111111 (3)建立jboss-web配置文件,放入web-inf文件夾中,文件格式如下:jdbc/ehealthierdsjava:jdbc/ehealthierds / (4)配置web.xml文件,添加數(shù)
41、據(jù)源屬性,格式如下:db connectionjdbc/ehealthierdsjavax.sql.datasourcecontainer5.6 系統(tǒng)編碼實現(xiàn)5.6.1登陸模塊 (1)用戶通過管理員分配的用戶名和密碼進行系統(tǒng)登陸,系統(tǒng)自動判斷用戶的類型和權(quán)限轉(zhuǎn)向不同的頁面執(zhí)行不同的操作。相應實現(xiàn)代碼包括logon.jsp, logonaction.java,logonactionform.java, userlogondomain.java, iuserlogon.java, userlogonimpl.java, userlogon.xml. (2)用戶通過表單提交用戶名和密碼,action
42、form logonactionform將用戶提交的表單數(shù)據(jù)進行校驗,以下代碼實現(xiàn)表單數(shù)據(jù)校驗:if (this.getusername().length() = 0)errors.add(usernameempty, new actionmessage(login.error.username.empty); if (this.getusername().length() 32) errors.add(usernamelong, new actionmessage(login.error.username.toolong); 如果用戶提交的數(shù)據(jù)不符合規(guī)范,actionform將從資源文件中提
43、取相應的信息,并返回給用戶;如果表單驗證合法,actionform將用戶提交的數(shù)據(jù)封裝成一個form對象并傳遞給logonaction, logonaction通過提取form對象的屬性值,以下代碼通過spring的beanfactory實例化dao對象iuserlogondao userlogondao = (iuserlogondao) custombeanfactory.getbean(userlogondao);logonaction分別調(diào)用userlogondao的logoncheckfordoctor、logoncheckforregister、logoncheckforadmin
44、方法進行用戶檢驗,若存在這個用戶則返回一個object對象,代碼如下所示:public object logoncheckforadmin(userlogondomain user) return getsqlmapclienttemplate().queryforobject(checkuserforadmin, user);userlogondao調(diào)用ibatis的sqlmap進行數(shù)據(jù)庫操作,實例代碼如下: select * from admin where name=#username# and password=#password#若成功則返回一個resultmap admin并自動生
45、成一個admindomain對象返回給action,代碼如下: (3)用戶界面:圖5-1 用戶登錄界面圖5.6.2 找回密碼模塊 (1)如果用戶忘記密碼,可以點擊找回密碼到找回密碼界面,通過填寫用戶名和電子郵件址找回密碼。相應實現(xiàn)代碼包括getpasswordaction.java, getpassworddomain.java, getpassword.jsp, updatepasswordaction, getpasswordform.java, iuserlogon.java, userlogonimpl.java, userlogon.xml. (2)用戶填寫表單數(shù)據(jù)并提交,actionform對表單數(shù)據(jù)進行校驗并封裝成一個對象提交到 getpasswordaction,getpasswordaction從getpasswordform中提取屬性并調(diào)用dao進行數(shù)據(jù)庫操作,實例代碼如下:public void changepasswordforadmin(changepassworddomain changepassword) this.getsqlmapclienttemplate().update(changepasswordforadmin,changepassword);select count(*) from admin where name=#name
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度按揭房屋轉(zhuǎn)讓貸款余額及利息調(diào)整協(xié)議3篇
- 專業(yè)技術(shù)人員勞動協(xié)議2024年版一
- 建筑裝飾施工過程中的環(huán)境保護措施考核試卷
- 二零二五年度倉儲用房租賃合同范本解讀2篇
- 二零二四年文化產(chǎn)業(yè)入股投資管理合同
- 健身器材制造業(yè)企業(yè)核心競爭力構(gòu)建與提升案例考核試卷
- 2025婚前離婚協(xié)議范本:婚前婚后財產(chǎn)分配及子女監(jiān)護合同2篇
- 2025年度航空航天產(chǎn)業(yè)地產(chǎn)投資合作協(xié)議范本3篇
- 二零二五年度船舶建造合同變更管理協(xié)議范本3篇
- 二零二五年度冷鏈運輸普通物品質(zhì)量保證合同范本4篇
- 醫(yī)院急診醫(yī)學小講課課件:急診呼吸衰竭的處理
- 腸梗阻導管在臨床中的使用及護理課件
- 調(diào)料廠工作管理制度
- 2023年MRI技術(shù)操作規(guī)范
- 小學英語單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
- GB/T 15114-2023鋁合金壓鑄件
- 三相分離器原理及操作
- 貨物驗收單表格模板
- 600字A4標準作文紙
- GB/T 18015.2-2007數(shù)字通信用對絞或星絞多芯對稱電纜第2部分:水平層布線電纜分規(guī)范
評論
0/150
提交評論