《2022年医院门诊查询系统)共享 .pdf》由会员分享,可在线阅读,更多相关《2022年医院门诊查询系统)共享 .pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录摘要1. 医院门诊查询系统1.1 本系统特点1.2 系统功能1.3 软件的使用2. 逻辑层的设计2.1 逻辑层的包结构设计2.2 与数据库建立连接类DBConnection2.3 用于将网站运行时遇到的信息记录到文件中的类Debug2.4 用于初始化Servlet 的类 InitServlet 2.5用于定义了一些辅助方法的类Util 2.6 hospital.db.dboperation 类3. 表示层设计3.1 表示层设计概述3.2 表示层设计中使用的几大JSP对象4. 系统功能实现与演示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
2、- - - - 名师精心整理 - - - - - - - 第 1 页,共 27 页 - - - - - - - - - 摘 要:在数字化信息的今天,随着计算机的普及,互联网络的迅速发展,国内越来越多的医院利用计算机网络来处理日常业务,成为医院服务发展的一个新方向。医院门诊查询系统基于JSP (JSP(Java Server Pages)是由 Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页 技术标准。 JSP 技术有点类似ASP技术,它是在传统的 网页 HTML文件 (*.htm,*.html)中插入 Java 程序段 (Scriptlet)和 JSP标记(tag)
3、 ,从而形成JSP文件 (*.jsp)。 用 JSP 开发的 Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统 上运行。)的管理信息系统,采用浏览器/ 服务器架构,跨操作系统平台,应用服务器、数据库均采用免费开发工具。本医院门诊查询管理系统,可以实现动态的连接应用程序服务器,只要对配置文件进行配置,就可以选择所要连接的应用程序服务器。并能实现门诊收费,划价;药品管理 ,患者管理 ;医务人员管理及各种查询 ,报表等功能。门诊查询系统是针对医院医生和患者之间的各种需要建立起来的一个科学、有效的现代化管理系统。它杜绝了过去手工操作系统的各种弊端,完善了门诊看病预约的处理过程,是对医院
4、的一次技术性变革。本系统实现了预约,诊疗服务,方便了工作人员和病人,使医院的医生管理以及时间分配更加科学、合理,使医院进行现代化信息改革的重要组成部分。本文就此系统地分析、设计、实施作了详细地介绍和描述,并对系统的具体功能和现实意义作了科学地分析和说明。服务器端使用数据库层 - 逻辑层-表现层的体系架构。逻辑层封装在JAVA 类中,表现层由 JSP实现。单例模式保证一个class只有一个实例 (instance),并为它提供一个全局访问点(global access point)。MySQL名字的来历MySQL 是一个小型 关系型数据库管理系统,开发者为 瑞典 MySQLAB 公司,在 200
5、8 年 1 月 16 号被 Sun公司收购。 MySQL 被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本 低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数据库。Tomcat 是目前比较流行的web 应用服务器。是开发和调试JSP 程序的首选。Servlet是一种服务器端的Java 应用程序,具有独立于平台和协议的特性, 可以生成动态的 Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于 Web 服务器内部的服务器端的
6、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 27 页 - - - - - - - - - Java 应用程序,与传统的从命令行启动的Java 应用程序不同,Servlet由 Web服务器进行加载,该Web服务器必须包含支持Servlet的 Java 虚拟机。功能分析:1. 软件整体功能(1)操作者的权限层次要有明确的分类,进入软件需要进行身份验证。(2)出于对患者个人隐私的负责,患者的病历记录只能在患者就医期间由主治医生调阅,其他任何人包括管理员无权查阅。2. 患者角
7、色(1)可联机注册成为用户,设定自己的登录名和密码。(2)可按医生姓名自定义查询。(3)可基于查询结果进行预约,若指定医生当日预约量已满,则预约失败。预约结果随即返回给患者。(4)可对已经进行的预约情况查看或撤销。(5)预约成功后可查询主治医生信息,病历信息。3. 医生角色(1)可查看预约患者的情况(2)可查询患者病历(3)可创建患者病历(4)可对患者的病历进行修改4.管理员角色可以添加和删除医生账号注 1:管理员不是医生,只能添加医生和删除医生账号。同时医生创建完成后无需设置密码,默认密码为医生本身编号。注 2:医生用户可以通过自己的编号登录系统,同时可以对默认密码进行修改。可以查看到预约自
8、己的患者。同时对患者的病情进行诊治等。注 3:患者用户可以查看可预约的医生,当选择自己指定的医生后,可以查看其所擅长的能力。当对方医生选择预约后,可以在自己的主治医生栏中看名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 27 页 - - - - - - - - - 到,并且可以查看到自己的病情和解决时间等信息。具体实现功能图如下:具体业务流程设计图如下:登录注销患者医生管理员注册查询医生信息预约查询预约信息取消预约查询主治医生信息查询预约患者信息创建病历查询患者病历修改病
9、历删除病历添加医生帐号删除医生帐号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 27 页 - - - - - - - - - 是是否否是否未注册是是否登录系统输入帐号,密输入注册信息注册成功预约取消预约成功登录成功患者医生管理员病历信息坐诊信息患者信息预约队列信息医生信息取消?用户已存在?输入信息正确?已预约?输入正确?有合适的时间?查询预约信息查询医生信息预约预约成功?否是否是否已注册名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
10、 - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 27 页 - - - - - - - - - 数据库设计当一个系统设计数据库时,其运行效率,冗余程度,可靠性,稳定性等评价指标除了与上层的代码有关外,更多地会受到底层数据库效率的影响。因此,一个好的数据库设计(至少是规范的)能够让你的系统跑的更顺畅,稳定。然而,设计一个规范的数据库需要一定的计算机专业知识。所以只是用一种比较容易被接受的,说明书式的形式来介绍如何去设计数据库。本系统定义实体图的相互关系如下:所以将实体和关系转换成表。将各个角色的所有信息分别单独的放在独立的表中,其中包括该角色的全部信息。选定
11、一个字段作为主键,这个字段存储的信息正在整个表中两两相异,比如医生的编号等。如果表中没有此类信息,可人为加入惟一的ID 作为标志,比如 PID,AID,QID 等。保证表中其他字段只与主键有关系,如果一组信息同时与一个以上的表或者一个表中一个以上的字段有关系,则必须将这组信息抽出去独立构成一张表。如预约信息既与医生有关也与患者有关。所以将其独立成一张表。对所有会成为查询关键字的字段进行索引,以提高查询效率。针对以上内容需要对数据库进行整体分析,主要建立7张表,分别是:1医生表 :(doctor)用来存储医生的个人信息。包括医生的编号,姓名,年龄,登录时的密码,性别,职称,所属科室,专家门诊科目
12、,联系电话2患者表( patient) :用来存储患者的个人信息。包括患者编号,姓名,登录时用户名,登录时密码,年龄,性别,家庭住址,联系电话. 患者医生管理员有有病历预约信息可预约数量有有管理治疗管理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 27 页 - - - - - - - - - 3病历表 (history):用来记录患者的病历信息。包括病历记录编号,主治医生编号,症状,诊断,患者编号,处方,开始时间,结束时间,就诊过程是否结束. 4预约记录表 (pinqu
13、eue) :记录了已预约但尚未创建病历的患者信息。包括记录编号,主治医生编号,预约时间,预约就诊时间(星期)以及预约就诊时间(上下午)如下:5管理员表( administrator) :主要存放的是管理员有关信息。包括管理员编号,登录时的用户名,登录时密码,电子邮件,姓名,联系电话。如下图:6医生最大可预约数量表(appointment ) :每天可预约的最大数量。包括医生编号,周1-周日上下午最大可预约数。7医生当前可预约数量表(curappointment) :存储了医生当前可预约的数量信息。包括医生编号,周1-周日上下午最大可预约数。注:周 1至之日的的时间安排分上下午从1-14 数字划
14、分。表和表之间通过表名 .字段以及主键来联系各表之间联系表名字段名关联表关联字段Pinqueue预约Doctor doctor DID Patient patient PID History 医院Doctor doctor DID Patient patient PID Appointment 一 天预约限制DID doctor DID Curappointment 当前预约最大量DID doctor DID 设计思想及注意事项1. 适当对信息单调的字段进行索引,这样不但不会带来性能上的提高,反而会延长插入,删除以及更新操作的时间。2. 字符串的存储方式与字符串尤其是中文字符串相比较,数据库在
15、处理字符和数字上面比较有效率,因此一些复杂度有限的字符串数据应该设计成字符或数字类型的,并与字符串建立一一对应的关系。转换工作交给逻辑层处理。软件的使用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 27 页 - - - - - - - - - 1.在服务器以及配置完成的情况下,启动tomcat 服务以及数据库服务。同时在数据库服务启动完成后把hospital.sql数据库文件导入到数据库中。2.在 IE或者其他浏览器中输人网址出现如下的界面:默认管理员登录登录用户名为a
16、dmin 密码为空进去后可以删除其中存在的医师,或者添加医师信息。患者自行注册。用户名以数字为准。二逻辑层的设计2.1 逻辑层包结构设计逻辑层的设计是本次毕业设计的重点环节,根据三层结构,逻辑层封装了系统能够执行的所有机制和程序,以及对数据库的操作。用户只要在表示层里面调用逻辑层内相映的CLASS 文件就可以了,这些类文件都存放在 /WEB-INF/CLASSES 下面。而且程序只要编译一次,就可以多次使用。(1)hospital包概述整个逻辑层都封装在hospital包中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
17、心整理 - - - - - - - 第 8 页,共 27 页 - - - - - - - - - (2)hospital.db包的概述hospital.db 封装了整个系统用于完成基础功能的类,如数据库连接、日志记录等。 hospital.db.Util:辅助类,用于完成一些JSP中常用的功能。 hospital.db.InitServlet :初始化整个 Servlet环境。 hospital.db.DBconnection :与数据库建立连接,返回Connection对象。 hospital.db.Debug :记录日志,将信息写入指定的日志文件中。(3)hospital.db.dbope
18、ration包概述hospital.db.dboperation 包 封 装 了 所 有 与 用 户 角 色 有 关 的 模 型 。 其 中DBOperation 类 是一个 抽象类, 用于建 立用户 模型, 供具体 角色( Admin、Patient 、Doctor)继承。hospital.db.dboperation.DBOperation :建立用户的抽象模型,供子类继承。hospital.db.dboperation.Admin:继承 DBOperation,定义管理员模型。hospital.db.dboperation.Patient :继承 DBOperation,定义患者模型。h
19、ospital.db.dboperation.Doctor :继承 DBOperation,定义医生模型。hospital.db.dboperation.InvalidUserException:继承 自 Exception,用以封装 一个表示“非法用户名”的异常。2.2与数据库建立连接类DBConnection本类位于 hospital.db包中,由于Connection 是一个非常耗资源的对象,因此在这里使用单例模式来设计DBConnection类,保证了整个生命周期内只存在一个 Connection 对象,该对象可以被其他类重复利用,这样可以大大节省系统资源。类名: DBConnecti
20、on 类型:抽象作用:此类主要是建立一个单例模式来连接数据库。返回:Connection对象该类中一些关键的原理值得说明一下。将类定义为抽象类防止被实例化,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 27 页 - - - - - - - - - 这 样 可 以保 证 内 部 封装 的Connection 对 象 只 能 用 该 类 定 义 的 静态 方 法(getConnection() )来访问。将内部的Connection对象“ conn”定义为静态私有变量,保证
21、整个生命周期只有一份“conn”实例存在,且不能被其他类直接访问。数据库服务器为了保证资源被充分利用,会设定一个连接保持时限,当一个连接时限内与数据库没有通信时,会被服务器关闭。而“Debug.log()”是定义在 Debug类中的静态方法,用来将信息存入日志文件。2.3 用于将网站运行时遇到的信息记录到文件中的类Debug 类:Debug 类型: final 方法: 1.static synchronized Debug init(String path) ;作用是初始化Debug 对象,定义path日志文件存储路径。返回 Debug单例对象。 2. public static synchr
22、onized void log(String msg) ;作用是将信息记录进日志文件,日志信息为 msg. 3. private String writeFile(String msg); 作用将信息记入日志文件,供log(String msg)调用。 4. public static String getExceptionMsg(Exception e) ;作用生成格式化异常信息。异常信息为e。同时返回格式化后的异常信息。2.4 用于初始化 Servlet的类 InitServlet 类:InitServlet 类型: public 继承: HttpServlet 方法: 1.public
23、void init() ;作用是该方法从HttpServlet 类继承,在初始化Servlet 会自动调名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 27 页 - - - - - - - - - 用。 2.public void destroy();作用是该方法从HttpServlet类继承,销毁Servlet对象时会自动调用。2.5 用于定义了一些辅助方法的类Util 类:Util 类型:抽象方法:public static int parseSpDays(Stri
24、ng dayPattern); 作用是处理医生预约信息的字符串,dayPattern为预约信息(14个整数,由逗号或空格分隔) ,返回一个长度为14的整数数组。以上类为 hospital.db下面类。下面的类为hospital.db.dboperation下面的类。包含角色信息以及事务的处理。2.6 hospital.db.dboperation 类( 1) 用 以 封 装 子 类 需 要 用 到 的 数 据 库 操 作 对 象 和 方 法 的 抽 象 类DBOperation 类:DBOperation 类型:抽象方法:1. public ResultSet getResultSet() ;
25、作用是返回数据集。参数:无返回值数据集对象2. protected abstract int login(String password); 作用是用户登录,需要子类实现,所以子类继承它。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 27 页 - - - - - - - - - 参数: password 密码返回值操作结果代码3. public void closeConnection();作用是关闭数据连接。如果无法关闭或出现错误。返回异常值记录事件中参数:无返回值
26、:无4. protected abstract void checkUser(String id) ;作用是查询用户名合法性,需要子类实现参数: id用户标识符(2)继承自 Exception 类的 InvalidUserException。重新返回我们需要的异常信息。InvalidUserException 类方法图类:InvalidUserException 作用:重写Exception 的 getMessage ()方法,获得我们需要的异常信息。方法 public String getMessage() ;作用:覆盖父类方法参数;无返回值自定义异常信息(3)医生模型 Doctor 类本类
27、位于hospital.db.dboperation包中, doctor 类封状了医生角色可执行的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 27 页 - - - - - - - - - 所有操作。比如登录,查询患者病历,修改病历等操作。每个方法对应一个可执行操作。具体方法说明:1. public int login(String password);作用是用户登录信息的验证。返回值为操作结果 1登录成功 0抛出一般异常 -1抛出数据库异常 -2登录失败2. publ
28、ic int getPatientsHistory(String orderBy);作用是获取所有患者病历,orderBy 为结果的排序方式。返回值操作结果: 1操作成功 0抛出一般异常 -1抛出数据库异常3public int getPatientHistory(int hid);作用是获取与 hid 匹配的患者病历, hid为病历号。返回值操作结果: 1操作成功 0抛出一般异常 -1抛出数据库异常4. public int getPatientInQueueInfo();作用是获取预约队列中患者信息。返回值操作结果: 1操作成功 0抛出一般异常 -1抛出数据库异常名师资料总结 - - -精
29、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 27 页 - - - - - - - - - 5. protected void checkUser(String id) ;作用检查用户合法性。 id 为医生编号,无返回值。6. public synchronized int createHistory(int qid,String diagnose,String rx,String description);作用是创建病历。参数: qid患者在预约队列中编号 diagnose 诊断 rx处方返
30、回值操作结果: 1操作成功 0抛出一般异常 -1抛出数据库异常 -2非法 qid值 description症状7. public synchronized int updateHistory(int hid,String description,String rx,String diagnose) ;作用:修改病历参数: hid病历编号 diagnose 诊断 rx处方 description症状返回值操作结果: 1操作成功 0抛出一般异常名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
31、第 14 页,共 27 页 - - - - - - - - - -1抛出数据库异常 -2非法 hid值(4)管理员模型 Admin 类本类位于 hospital.db.dboperation包中, admin类封状了管理员可执行的所有操作,每个方法对应一个操作。方法定义如下:1. public int login(String password);作用是管理员登录。参数: password 密码返回值执行结果代码: 1登录成功 0抛出一般异常 -1抛出数据库异常 -2登录失败2. public synchronized int addDoctor(String did,String name,
32、int age,int sex,String level,String spe,int pPerDay ,String phone,String section) ;作用是添加医生账户。参数: did医生编号 name 姓名 age 年龄 sex 性别 level职称 spe 特长名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 27 页 - - - - - - - - - pPerDay每天最大可预约数量(周日上午、周日下午、周一上午, ) phone 联系电话 sec
33、tion 科室返回值执行结果代码: 1操作成功 0抛出一般异常 -1抛出数据库异常 -2医生帐户信息已存在3. public int getDoctorInfo();作用获取医生帐户信息。无参数返回值执行结果代码: 1查询成功 0抛出一般异常 -1抛出数据库异常 -2医生帐户不存在4. protected void checkUser(String id) ;作用是检查用户名是否存在参数: id医生编号5. public synchronized int removeDoctor(String did);作用是删除医生帐户信息。参数: did医生编号返回值执行结果代码: 1操作成功 0抛出一般
34、异常 -1抛出数据库异常名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 27 页 - - - - - - - - - -2医生帐户不存在(5)患者模型 Patient类本类位于hospital.db.dboperation包中, patient 类封装了患者角色可执行的所有操作。比如登录,查询医生信息,预约等操作。在编写程序时,每个对象就是一个操作。如addPatient() 就是针对患者注册的一个公有对象。方法定义如下:1. public int login(Stri
35、ng password);作用是用户登录。参数:password 密码返回值操作结果: 1操作成功 0抛出一般异常 -1抛出数据库异常 -2登录失败2. public synchronized int addPatient(String username,String name,String password,int age,int sex,String address,String phone); 作用是用户注册参数:username 用户名 name 姓名 password 密码 age 年龄sex 性别 address 联系地址 phone 联系电话名师资料总结 - - -精品资料欢迎下
36、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 27 页 - - - - - - - - - 返回值操作结果:1操作成功0抛出一般异常-1抛出数据库异常-2帐户已存在3. public int getDoctorInfo(String orderBy);作用查询医生信息参数:orderBy结果集排序方式返回值操作结果:1操作成功0抛出一般异常-1抛出数据库异常4. public int getCurrentDoctorInfo();作用获取主治医生信息。参数:无返回值操作结果:1操作成功0抛出一般异常-1抛
37、出数据库异常5. public int getHistory();作用是查询病历。参数:无返回值操作结果:1操作结果0抛出一般异常名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 27 页 - - - - - - - - - -1抛出数据库异常6. public synchronized int makeAppointment(String did,int day ,int ap);作用是预约参数:did医生编号day预约日( 0为周日, 1 为周一 , )ap上下午(
38、0为上午, 1 为下午)返回值操作结果:1-操作成功0抛出一般异常-1抛出数据库异常-2已在相同时间预约相同医生-3day或 ap格式错7. public synchronized int cancleAppointment(int qid);作用是取消预约参数: qid预约编号返回值操作结果:1操作结果0抛出一般异常-1抛出数据库异常8. public int getAppointmentInfo();作用是查询预约信息。参数:无返回值操作结果:1操作成功0抛出一般异常名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
39、理 - - - - - - - 第 19 页,共 27 页 - - - - - - - - - -1抛出数据库异常-2用户未预约9.protected void checkUser(String id) ;作用是检查用户名合法性。参数: id用户名10. public int getDoctorAppointmentInfo(String did); 作用是查询医生预约信息。参数: did医生编号返回值操作结果:1操作成功0抛出一般异常-1抛出数据库异常-2did不存在3 表示层设计3.1 表示层设计概述表示层是信息系统的用户接口部分,即人机界面,是用户与系统间交互信息的窗口,主要功能是指导操
40、作人员使用界面,输入数据、输出结果。它并不拥有企业逻辑,或只拥有部分不涉及企业核心机密的应用逻辑。当逻辑层编写完毕,只剩下最后一项工作,允许用户以适当的方式通过逻辑层与数据库层交互,而这正是表示层的工作。这里就要通过功能完整的JSP代码和 HTML 代码来整合。所以下面将JSP页面与逻辑层的整合过程中的重要部分。(1)声明部分这个部分用“”包括,用于设定一些于JSP 页面有关的信名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 27 页 - - - - - - - - -
41、 息。一般第一行定义了页面所使用的字符集,中文界面一般使用GB2312;接下 来使 用“ ” 定 义 页面 需 要 导入 的 包 ,即“ import ” 语 句 , 本 次 设 计 中 一 般 被 用 到 的 包 有 :“ hospital.db.* ”、“hospital.db.dboperation.* ” 、 “java.sql.*”11。(2)HTML 设计部分这部分更多地使用HTML 代码把表格 搭建出来并进行美化。一般使用HTML 中的 form 标签、 table标签和 div 标签以及辅助 action 属性来搭建框架和美化。其中加入“ ”的 JSP代码段,使得实现动态页面。
42、(3)页面数据处理这个部分是整个JSP 页面的核心部分,负责关于系统的权限检查,从页面收集数据、对数据库进行操作、检测操作结果等。(4)释放数据库资源当所有操作都完成,用户结束操作或关闭界面,系统调用DBOperation 类中的“ closeConnection() ”方法来释放数据资源。3.2 表示层设计中使用的几大JSP对象(1) Request对象该对象封装了用户提交的信息,通过调用该对象相应的方法可以获得封装的信息,即使用该对象可以获取用户提交的信息。如 request.getParameter() 方法可以获取该表单通过text 提交的信息。、(2) Response 对象该对象封
43、装了对客户的请求做出的动态的响应,向客户端发送数据。如response.sendRedirect() 方法来实现客户的重定向,就是当用户进行了之前的操作,就会使用这个方法来跳转到别的页面。(3) Session对象它是在第一个JSP 页面被装载时自动创建,完成会话期间的管理,当会话名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 27 页 - - - - - - - - - 结束, session自动释放。如 session.getId() 方法是获取 Session对象
44、编号。(4) Application 对象服务器启动后就产生了这个Application 对象,当客户在所访问的各个页面之 间 浏 览 时 , 这个Application 对 象 都 是 同 一 个 ,直 到 服 务器 关闭 。 如application.setAttribute(String key)方法是获取application 对象中含有关键字的对象。(5) 其他对象在 JSP几大内置对象中,还有Out,Cookie,Config,Page和 Exception 等,但在本次设计中不是很常用,所以不在赘述8。本次设计的系统,有三个用户角色,每个角色都是独立的操作。所以这次设计 针对 每
45、个 用户 的操 作界 面即每 个用 户独 立操 作 的表 示 层 。 在系 统 文 件中,/hospital/admin;/hospital/patient;/hospital/doctor 三个文件夹中分别放了每个用户独立操作的JSP页面。比如管理员文件中的addDoctor.jsp就是来实现添加医生信息的JSP文件。所有的JSP文件名简单好懂,一目了然,便于再次开发的时候方便设计。4系统功能实现与演示由于系统有3 个角色模型,每个角色的模型都有很多执行操作,介绍繁杂留给用户自己体验。所以本节介绍一些基本的用户操作来实现基本的功能。4.1、打开 IE输入 http:/localhost:80
46、80/hospital进入系统主界面名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 27 页 - - - - - - - - - 系统主界面4.2、选择角色类型进行登录,点击左边导航链接进行操作。下图是管理员登录界面,其他角色用户登录也是一样。所以用一张图来代表。管理员登录界面4.3、当患者登录成功以后,会回到主界面,再点击患者用户,就可以看见下面出现很多操作条目,点击其中的条目进行患者必须的操作。比如查询医生名师资料总结 - - -精品资料欢迎下载 - - - - -
47、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 27 页 - - - - - - - - - 信息,预约等。患者查询医生信息界面当患者用户点击医生,就进入预约界面。选择合适的时间进行就医,如果想取消预约,就在查询预约中,点击显示的记录就可以提示是否取消。4.4、患者就医过后可以查询自己的病历,以及出访和是否治疗结束。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 27 页 - - - - - - - -
48、- 患者查询病历信息界面4.5、如果患者是新用户,想要进入预约系统就要注册新帐号。患者注册界面4.6、管理员登录进去后可以添加,删除医生信息和帐户。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 27 页 - - - - - - - - - 管理员管理医生信息界面4.7、删除医生信息只需要点选医生姓名就可以获得是否删除的提示。是否删除医生信息4.8、医生第一次登录后应该及时更改密码,因为数据库默认的医生帐户和密码是一致的,为了安全应该改密码。医生更改密码界面及可执行操作
49、界面名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 27 页 - - - - - - - - - 到这里,该系统的基本功能设计和界面操作基本介绍完毕,整个系统操作简单,界面友好,根据左边导航栏,用户的操作一目了然,基本不存在难度。而且功能 也基 本实现 ,而且 移植性 高, 只要重 新编译hospital.db 包 下面的DBConnection.java文件即可。当然数据库的移植也要匹配。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 27 页 - - - - - - - - -