版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着社会的发展,人们对于自身的健康的关心程度每日递增,在现如今的大中小型医院里,患者数量的增多与检查项目的增多,对于当今医疗系统带来极大的负担,医生对于日常的工作越来越复杂,对于目前的小型医院,普通的就医诊疗管理技术已经不能满足日常的需要与技术操作。而HIS系统具有挂号收费,门诊医生,药房管理等一系列功能,HIS就诊为病人的信息得以共享,提高了信息数据间的的联系与同步,为医护工作者提供更方便快捷的查询。HIS系统将在未来医疗领域有着广阔的市场。所以,类似于地区医院这种小规模医院对HIS有着强烈的需求。而作为HIS的重要组成部分,医院门诊管理系统可以用来实现门诊医务的各种信息处理。本论文基于Java的医院门诊信息管理系统在分析设计时考虑多种因素,文中详细的说明了系统需求分析报告、系统设计理思路、数据库设计应用安装、系统实现过程,演示系统操作,以及测试的方面。在系统分析里,对各个模块进行功能评估,对需求进行分层汇总,通过Xmind画出功能模块图,在系统设计时,构思设计框架,根据系统功能结构图,设计出技术架构;系统主页设计根据需求功能进行定制,实现各个功能模块的便捷利用;在MySQL数据库方面,根据需求功能,对应实现相应的数据跟踪,绘制E-R图,按功能画出表的数据架构;在系统实现阶段,为了达到预期效果,进行同步演示过程中,将部分核心代码进行披露;系统测试时,根据框架一一对应实现相应功能。本系统运用了SSH、Struts、Hibernate的框架进行开发,通过B/S体系结构,使用mysql作为数据库,实现了病人管理模块,医生管理模块,科室管理模块,管理员管理模块等。使每个角色都实现了对应的功能,全面良好的体现了人机界面,简易便捷的操作目的。关键词:Java;医院门诊信息管理系统;MYSQL;Hibernate;SSH.AbstractWiththedevelopmentofsociety,people'sconcernfortheirhealthisincreasingdaybyday.Intoday'slargeandsmallhospitals,theincreaseofthenumberofpatientsandtheincreaseofinspectionitemsbringgreatburdentothecurrentmedicalsystem.Doctorsaremoreandmorecomplexintheirdailywork.Forthecurrentsmallhospitals,theordinarymedicaltreatmentmanagementtechnologycannolongermeetthedailyneedsTheneedandtechnicaloperationof.Hissystemhasaseriesoffunctions,suchasregistrationcharge,outpatientdoctor,pharmacymanagement,etc.hisvisitmakesitpossibletoshareandutilizetherelatedinformationresourcesofpatientvisit,andhisrealizesdataexchangeanddatasharing.Withthedeepeningofmedicalreform,theimprovementofhospitalmarketizationandtheprogressofinformationtechnology,hiswillplayamoreandmoreimportantroleinthehospitalnomatterfromthehospitalhorizontalbusinessorthehospitalverticalmanagement.Therefore,small-scalehospitalslikeregionalhospitalshaveastrongdemandforhis.ThispaperbasedonJavahospitaloutpatientinformationmanagementsystemintheanalysisanddesigntoconsideravarietyoffactors,thedetaileddescriptionofthesystemrequirementsanalysisreport,systemdesignideas,databasedesignandapplicationinstallation,systemimplementationprocess,demonstrationsystemoperation,andtestingaspects.Inthesystemanalysis,thefunctionofeachmoduleisevaluatedandtherequirementsaresummarizedinlayers.ThefunctionmodulediagramisdrawnthroughXmind.Inthesystemdesign,thedesignframeworkisconceivedandthetechnicalarchitectureisdesignedaccordingtothesystemfunctionstructurediagram.Thedesignofthesystemhomepageiscustomizedaccordingtotherequiredfunctionstorealizetheconvenientuseofeachfunctionmodule;thedesignframeworkisconceived,andthetechnicalarchitectureisdesignedaccordingtothesystemfunctionstructurediagram;thesystemhomepagedesigniscustomizedaccordingtothedemandfunction,soastorealizetheconvenientuseofeachfunctionmodule;intheMySQLdatabase,accordingtothedemandFunction,correspondingtotherealizationofthecorrespondingdatatracking,drawingE-Rdiagram,drawingthetabledataarchitectureaccordingtothefunction;inthesystemimplementationstage,inordertodescribetherealizedfunctionsoftheproject,showthedemonstrationeffectofthefinishedproduct,showthekeycodeofthefunctionrealization;duringthesystemtest,correspondingfunctionsarerealizedaccordingtotheframeworkonebyone.Thissystem,SSH,struts,hibernateandotherusedframeworks,developedb/sarchitecture,usingmysqlasthedatabase,administrationpersonnelinformationmodule,departmentadministrationmodule,informationadministrationmodule,doctorregistrationnewuserinterfaceandotherfunctions.Sothateachrolehasachievedthecorrespondingfunctions,fullyandwellreflectsthehuman-computerinterface,simpleandconvenientoperationpurpose.Keywords:Java;hospitaloutpatientinformationmanagementsystem;MYSQL;Hibernate;SSH.目录摘要 3Abstract 4引言 8第一章概述 81.1背景及意义 81.2实验技术选择 91.3课题实现技术的简要说明 11第二章系统环境介绍及相关理论知识 122.1B/S模式 122.2JSP技术 132.3Tomcat运行原理 132.4SSH实现原理 14第三章.需求分析 163.1可行性研究 163.1.1技术可行性 163.2系统分析 173.2.2系统功能分析 173.3系统业务描述 18第四章数据库设计 204.1数据模型分析与设计 204.2建立数据库表的结构 204.3E-R图结构 23第五章.系统设计 265.1系统运行环境 265.2系统功能实现的主要框架 265.2.1SSH框架设计 275.2.2hibernate配置文件 275.2.3struts配置文件 285.2.4Spring配置文件 28第六章.系统实现 316.1系统后台登陆页面 326.2后台主操作界面 326.3前台操作界面 35第七章系统测试 377.1系统测试的目的 37实验小结 38参考文献 38引言第一章概述1.1背景及意义随着我国经济的快速发展,我国医疗行业得到快速的发展,但快增长的同时,我们又暴露出许多弊端。近年来,我国医疗的改革,使得人们的总体医疗水平得以提升,但面临着巨大的医疗需求的压力,我们应更深层次地提高医院信息化管理水平,提供高效便捷的医疗服务,科学信息化的医院管理计算机化是最好的途径。但我国的医疗信息化,电子化任然在世界上处于中等地位,信息的同步慢,时效长,多等待,劳动强度等原因严重影响着我们的医疗体系,病人就诊慢,就诊难,排队时间长,流程繁琐,大大影响患者的医疗体验。由此看来,信息化的医院门诊管理系统信息化建设是改善管理、提高医院竞争力的重要手段,不但改变了医生的工作环境与方式,提高工作效率,同时为患者带来了更好的就诊流程,减少了患者奔波,增加了患者的满意程度。医院门诊收费管理系统主要应用于患者就医缴费的全过程记录,根据患者的角度出发,对于患者可能出现的需求记性汇总,把医疗活动中产生的数据进收集,分析,判断,执行加工等操作,从而实现医生、患者、管理员之间的联动。门诊作为病人到医院就诊要做的第一项工作,门诊管理系统整个系统重要的组成部分。本次设计医院门诊收费管理系统,根据患者的就医问诊流程,提高患者与医生之间信息的高传递,提高双方的工作效率与服务质量,增强信息化管理的。对于小型医院来说,功能庞大的综合性管理系统远远高于日常需求,对此,我国部分小型医院根据需求,自行建立小型的医疗管理系统,将门诊,缴费,药房功能结合一体,既减少了多余的功能,又满足了日常需求,对于数据友好崇恩体现,减少医生管理员的工作了,方便了患者的使用。本文基于预期设计对医院门诊收费管理系统功能进行设计:系统根据不同模块进行系统的开发。在各种测试平台与服务器上可以实现应用;对于逻辑应用可以实现独立,页面友好;代码格式化,美观化,在开发过程中大大减少了出错可能。本套系统根据传统的管理系统,实现了注册,登录,删除,添加等一系列操作,在此基础上,管理员可以根据需求对不同的参数与数据库进行调整。系统整体易操作,对于医生、患者、管理员通俗易用,上手简单,后期维护性与可扩展性强。1.2实验技术选择本系统使用java开发,使用mysql数据库对数据进行汇总与存储,这里分别介绍2个技术的开发理由与背景。java的核心优势在于注重移植和跨平台性,可以根据编译器的厂商进行规格变化,适用于多种办公平台。java具有安全性,面相对象,简单性,高性能,分布式,多线程,依依对齐分析。面向对象面向对象是一种程序设计技术,适用于软件的开发设计。由于C++的局限性,仅仅只能带有C语言类,对于面向对象来说不具有彻底性。Java是完全的面向对象编程语言。其中核心的使用对象由类、继承、封装、多态等基本概念来进行设计。从客观对象构造软件,对软件系统进行设计,在制作过程中运用思维逻辑方式进行编辑。面向对象的基本特征1.封装性将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。只能通过规定的方法访问数据,隐藏类的实现细节,方便加入控制语句,方便修改实现。
封装采用修改属性可见性的方式,设为private私有化,创建共有的方法进行获取数值或修改,用于属性的读写,在getter/setter方法中加入属性控制语句,对属性的合法性进行判断,封装实际就是讲公共使用区域装进一个class内,所有的接入口与出口都在这个封装内,增强了代码的复用率。2.继承继承如同类与子类属性之间的关系,子类与父类是is-a关系,对象之间具有抽象的类,就像苹果与香蕉属于水果类,白菜,香菜属于蔬菜类,两类又同属于植物类,这种包含于被包含之间的关系用继承的关系定义出来,在类中定义属性与方法,子类可以继承父类的属性和方法,使用继承优化后,将重复的代码抽取到父类,子类只需要定义自己特有属性,公共属性可以继承父类,大大提高了代码的复用率,方便修改代码,减少代码量。3.平台无关性平台无关性是指语言不受到软件,运行平台的限制,可以进行编译并执行通过。Java编译出的结果是字节码,通过字节码在各大平台可以实现通用,只要拥有jdk就可以运行,Java最大的优势就在于平台无关性。Java编译过程需要2步,第一步前端编译,将无关的目标主机Java中,源语言相关的进行前置编译,为了将.Java代码转换为.class代码。程序会根据主机与设备进行整合,选择对应的java版本,根据JavaAPI标准库进行运行,通过用户界面,实现主机功能的全部实现,在运行环境下正常运行。Java平台无关性的实现,首先,促使使用人员更好的跨平台应用,增加兼容性。其次Java的平台无关性正好迎合了“网络计算机”思想。AWT库为用户提供各种各样的用户减免,将组件同步到平台上的本地组件,swing库提供高级组件,但swing不进行同步。③分布式分布式通过多个节点进行系统重组,每一个节点相互关联,相互联系,将各个计算机服务器相互相同,分布式对于用户而言,是根据用户需求定制的服务器,通过众多服务器组成分布式系统,分布式系统集合了各种多元服务,集合成统一的整体。例如购物商城,当我们访问商城是,请求的是分布式系统内我们想要的多功能服务,整个系统分层次分化,将request处理存储,负责计算,将最后的返回值反馈到用户。分布式通过模块化,系统化,使得软件模块拆分,因此对于开发人员开发效率更高,使得系统的延展性增强。④多线程多线程是根据资源源的基本单位,一个由多个程序任务组成的称为多线程,在计算机中,通过任务管理器我们可以发现,许多应用程序在运行时伴随着多个子任务,其中每一个任务都可以看作为一个线程在工作中。在Java中,因为成熟的jdk开发包中拥有丰富的技术支持多线程,方便多线程的编辑工作,实现多线程通过继承thread类或runnable接口,通过继承thread类创建线程,但因此不可以实现继承,为了实现多继承,通过实现runnable接口方式,但两者工作方式与性质是一样的。多线程具有更高的安全性能,每个线程拥有自己独立的变量,变量之间不共享,只有在多线程访问一个变量时,变量才可以统一。⑵MySQL数据库的特点现如今Facebook、Google、Adobe、Alcatel-Lucent和Zappos在内的许多世界上规模最大、发展最快的组织都依赖MySQL来节省时间和金钱,为它们的大容量网站、关键业务系统和打包软件提供动力。MySQL数据库通过多线程方式,将存储引擎框架分装在多个内存池内,通过多线程,完成数据存储。MySQL为了防止数据丢失,采取了内存缓冲池重做日志功能,当发生宕机等突发以外事故时,数据可以通过重做日志方式进行找回。MySQL具有数据统一性,格式一致性等特点,当数据库发生异常时,数据库会产生自我保护机制,对异常数据进行恢复,与当前主流的数据库类似,通过重做redo日志,undo页内容进行日志提交并进行修改。由于MySQL数据库体积小、速度快、成本低、开放源码,在当今有着广泛的市场空间,拥有着庞大的使用群体,优越性能,良好的适配性,对于多种平台可以完美搭建开发环境,是现在目前中小型数据库开发的首选。1.3课题实现技术的简要说明Java图形界面给用户提供一个良好的人机互动与反馈,通过窗口工具包,AWT的图形函数与操作系统相互关联,使用Swing对AWT进行适配调整,在图形编程中,运用了大量的java.swing包中的类,使用分组是布局,搭配时间处理机制,监听事件的对象。根据布局管理器,在每个容器中对组件元素改变属性。MySQL通过使用navicat将数据库可视图形化,更方便快速的链接项目,将数据库同步,对于数据的添加,删减,修改,查询保存以及数据保存记录有着良好的操作环境。编写多个数据库,对标的信息进行相应的操作。通过Swing与MySQL的界面搭配使用,更快的实现了医院门诊收费管理系统的基本功能,对于遇到的问题,通过查找相关资料,参考文档,对技术上的不断提升,使得我逐步学会独立处理问题。第二章系统环境介绍及相关理论知识2.1B/S模式随着互联网发的快速发展,主机端C/S已经不能满足全世界人民的需求,需要有更加方便互联互通的共享亲要求,于是B/S模式,基于三层C/S这种模式统一了客户端,让核心业务处理在服务器端完成,通过web与数据库进行数据交互。B/S架构通过浏览器进行请求,由服务器作出响应并反馈的方式工作,用户同过浏览器将数据上传到服务器上,服务器接收请求后根据用户需求将对应的数据返回到浏览器上,用户可以通过浏览器查询到自己访问的内容,从浏览器到服务器上再到本地程序进行执行,将许多的网络编制一起,形成全球网或内网,在企业结构中在此基础上可以构建自己的Internet。2.2JSP技术Jsp是java服务器页面,通过HTML和Java代码,由文本程序组成。Jsp使用的代码是java,所以他有Java共同的特性,具有API,平台无关性等特性,常应用于windows,MAC等多平台上使用。JSP的工作方式以post与request模式,用户发出http请求,JSP收到请求将处理结果进行返回。当二次请求时,JSP引擎将Servlet最后将执行结果以html格式通过浏览器返回给客户端,JSP再利用引擎把javac编译成class文件并进行保存,从而加快了执行的速度。用图来表示如下:除了速度的优势外,JSP还有以下的优点:jsp由于是基于java的,所以它拥有与java语言共同的特点-平台无关性,jsp可以跨平台进行应用,高效与安全性也得到了传承Jsp具有与java相似的性质,具有平台无关性,支持多平台开发,支持多平台部署,可扩展性强。(3)可伸缩性强,多台服务器进行集群和负载均衡,application集中化事务处理,java显示巨大的灵活性与可伸展性。2.3Tomcat运行原理Tomcat是JSP/Servlet容器,对于tomcat的配置文件进行web项目部署进入tomcat的webapp内,通过main方法启动,监听本机上的8080端口,通过获取端口上的请求调用方法,根据方法所在的类,将请求的数据进行实例化,并讲话方法执行,最终将计算结果返回给用户。2.4SSH实现原理
SSH是由structs,spring,hibernate三种框架集合的一个整体,在目前阶段具有良好的市场,是一种较为主流的开源框架。SSH框架有4部分组成,表示层、业务逻辑层、数据持久层和域模块层。由于SSH框架具有良好的结构框架,在后期修改、维护Web应用程序等方面具有卓越的效果。Structs是基础架构,主要负责MVC的分离,structs通过ibernate框架对持久层提供支持,通过模型的对java的接口实现编写。Spring通过IOC与AOP,用于项目松耦合,hibernate让实体类和数据库建立关系,触发操作sql语句,与前台数据进行交互交流,因为SSH框架可以通过多种平台进行搭建,大大减少了人为的工作量。从以下几个角度来阐述这个问题在项目开发过程中,很多数据需要进行流程指定,收集数据,需求分析,为了提高效率,我们要从多角度出发,根据需求,将系统模块化处理,使用抽象化技术,增加系统的可扩展性,将系统多层次,多模块,抽象接口等方式,将系统按需分配,便于以后扩展或重构。在项目开发的过程中,有时突入而来的功能添加,导致项目有可能要重构,改造,容易出现大量变更,所以在做项目之前,提前做好从函数到文件模块到采用框架,颗粒度可能发生变更,我们必须准备对应的变化,既能方便个人并行开发,又能灵活进行修改、扩展或重构。复用化,规格化,模式化技术的更新,系统重构:为了降低错误,节省时间,减少人力与物力的消耗,规避人为操作失误导致的不确定性,隐藏的风险,程序是会根据人的操作进行执行。通过复用化,规格化,模式化减少对应的错误,实现程序的全应用开发。对于一个项目越复杂越需要分工,对于项目的每一个部分,合理的分配可以提高效率,节省时间成本,对于个人而言,整体需要一个大局的全局观,对项目的功能与实际项目中的对比,形成对结构有哪些部分,明白该部分哪些构造,起什么作用,在具体实现前,想好整个逻辑,数据流是什么样的,逻辑分支有哪些,在没有限制条件的情况下,尽量在动手前且代码。第三章.需求分析3.1可行性研究可行性研究的目的是在短时间内通过对问题的集中讨论,通过适当的方法,用尽可能小的代价完成规定的需求,对于技术支持性,操作可行性,经济可行性等需要具体分析。3.1.1技术可行性本系统数据库采用MySQL数据库,该数据库拥有高效性与安全性,安全高效实用,本系统后台采用Eclipse平台开发综上所述,本系统的设计与开发在eclipse平台上开发是具有可行性的。3.1.2经济可行性(1)系统的运行仅需1人就可以实现平台的全部运转(2)系统可以汇总医生、患者、管理员的全部行为,不会造成资源溢出所以本系统在经济上是可行的。3.1.3.操作上的可行性本系统是结合实际工作需要而开发,对于硬件与软件需求低,通过测试监测,调试debug等行为可以对所有流程进行操作,因此该项目符合相关的工作实际操作。从操作方讲有项目操作更好完成的基础和可行性。从前面分析看,软件与硬件都满足开发需求,技术层面需求也满足开发需求,在操作可实行阶段具有保障基础。3.2系统分析3.2.1系统需求分析本系统根据市面调查的医院管理系统,根据主流的平台管理系统进行综合性集成,采用java、SSH框架进行设计。3.2.2系统功能分析本系统需要完成的总任务主要有:1.管理员信息:用户添加删减,药品添加删减,网页主页面编辑2.科室管理:医生的添加,科室创建,图片管理添加3.病房管理:病人的查看、添加、删除、编辑;4.医生信息管理:开具药品、查询操作、修改、删除;5.病人管理:挂号,缴费,查询操作;病人的功能:对网站首页,医院简介,医生风采,动态新闻具有浏览查看功能;拥有门诊挂号,病历挂号功能;查看医生处方药品;挂号结果查询:查看、缴费;医生的功能:1.对网站首页,医院简介,医生风采,动态新闻具有浏览查看功能;对预约患者进行诊断,开具处方药品;对病人进行病房检测报告;4.病房检查,病房统计,病房缴费统计以上分析是系统将要实现的功能。总的设计图:系统功能需求分析图3.3系统业务描述本系统分系统管理员和用户(医生、学生)共计3个用户权限。功能图如下:页面功能图展示1页面功能图展示23.2.4用户登录流程图第四章数据库设计4.1数据模型分析与设计概念模型具有数据模型的通用模式,它具有独立性,高稳定性。通过E-R模型,根据本系统的设计,将分为医生、管理员、病人三种角色进行设计,其中管理员拥有网站编辑操作与高于其他二者的权限操作,将管理员的权限表单独创建,并将管理员id与passwrod单独放在一张表中。患者表根据需求,将个人信息表,挂号表,药品表作为一个集合,防止各个角色之间发生权限错乱。本课题的关系数据模型的数据结构可分为几个表来表示:挂号检查(t_Appoint)、新闻公告(t_Gonggao)、医院简介(t_Jichu)、科室(t_Keshi)、管理员(t_Manager)、用户表(t_user)药品信息(t_Yaopin)、病房信息(t_bed)、病房检查信息(t_bed_appoint)。4.2建立数据库表的结构挂号检查表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键IdINT(11)11否挂号编号danhaoVARCHAR(255)255是NULL否挂号科室keshiVARCHAR(255)255是否关联病人userINT(11)11是NULL否检查项目清单jcxmcontentVARCHAR(255)255否药品清单ypcontentVARCHAR(255)255是NULL否费用合计feiyongDouble(11)11是否缴费状态stautsVARCHAR(255)255是NULL否疾病诊断描述contentVARCHAR(255)255是否添加时间createtimeDATETIME是NULL否删除状态appointlockINT(11)11是病房检查表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键IdINT(11)11否挂号编号danhaoVARCHAR(255)255是NULL否挂号病房BedVARCHAR(255)255是否关联病人userINT(11)11是NULL否检查项目清单jcxmcontentVARCHAR(255)255否药品清单ypcontentVARCHAR(255)255是NULL否费用合计feiyongDouble(11)11是否缴费状态stautsVARCHAR(255)255是NULL否诊断描述contentVARCHAR(255)255是否添加时间createtimeDATETIME是NULL否删除状态appointlockINT(11)11是新闻公告表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键IdINT(11)11否公告标题biaotiVARCHAR(255)255是否公告内容contentVARCHAR(255)255是NULL否添加时间createtimeDATETIME是否删除状态gonggaolockINT(11)11是NULL医院简介表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键IdINT(11)11否简介contentVARCHAR(255)255是否医院图片imgpathVARCHAR(255)255是NULL否添加时间createtimeDATETIME是否删除状态gonggaolockINT(11)11是NULL科室表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键IdINT(11)11否科室名nameVARCHAR(255)255是NULL否科室编号bianhaoVARCHAR(255)255是否科室类型leixingVARCHAR(255)255是否科室介绍contentVARCHAR(255)255是NULL否添加时间createtimeDATETIME是否删除状态keshilockINT(11)11是NULL管理员表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键idINT(11)11否用户名usernameVARCHAR(255)255是NULL否密码passwordVARCHAR(255)255是NULL否删除状态deletestatusINT(11)11是NULL否添加时间createtimeDATETIME是NULL用户表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键idINT(11)11否用户名usernameVARCHAR(255)255是否密码passwordVARCHAR(255)255是否真实姓名truenameVARCHAR(255)255是否手机号telephoneVARCHAR(255)255是否籍贯jiguanVARCHAR(255)255是否家庭地址addressVARCHAR(255)255是否性别xingbieVARCHAR(255)255是否年龄ageVARCHAR(255)255是否邮箱emailVARCHAR(255)255是否角色roleINT(11)11是否关联科室keshiINT(11)11是否职称zhichengVARCHAR(255)255是否医生介绍contentVARCHAR(255)255是否擅长shangchangVARCHAR(255)255是否医生照片imgpathVARCHAR(255)255是否添加时间createtimeDATETIME是否涂改删除userlockINT(11)11是药品信息表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键idINT(11)11否药品名nameVARCHAR(255)255是NULL否药品单位danweiVARCHAR(255)255是NULL否药品价格priceVARCHAR(255)255是NULL否药品说明contentVARCHAR(255)255是NULL否删除状态deletestatusINT(11)11是NULL否添加时间createtimeDATETIME是NULL病床表是否主键字段名字段描述数据类型长度可空约束缺省值备注是主键IdINT(11)11否病床名nameVARCHAR(255)255是NULL否编号bianhaoVARCHAR(255)255是否介绍contentVARCHAR(255)255是NULL否添加时间createtimeDATETIME是否删除状态keshilockINT(11)11是NULL4.3E-R图结构这几个表对应的E-R图如下图。第五章.系统设计5.1系统运行环境硬件环境本套系统开发环境在Windows10系统下进行开发,需要4G以上内存,10G以上硬盘存储保证程序顺利运行,在软件方面,使用eclipse,数据库方面使用MySQL7.0,通过navicat建立连接,使用谷歌浏览器进行展示。5.2系统功能实现构造5.2.1SSH框架设计SSH框架就是由struts,spring,hibernate的简称,采用框架协同使用,提高代码的复用率,减少错误出现比例,提高开发效率。5.2.2hibernate配置文件<hibernate-configuration><session-factory><!--加载连接池的配置配置文件--><propertyname="proxool.pool_alias">DBPool</property><propertyname="proxool.xml">proxool.xml</property><propertyname="vider_class">org.hibernate.connection.ProxoolConnectionProvider</property><!--EchoallexecutedSQLtostdout--><propertyname="show_sql">true</property><propertyname="format_sql">true</property><propertyname="dialect">org.hibernate.dialect.MYSQLDialect</property> <!--EnableHibernate'sautomaticsessioncontextmanagement--><propertyname="current_session_context_class">thread</property> <propertyname="hibernate.hbm2ddl.auto">update</property><mappingclass="model.User"/><mappingclass="model.Gonggao"/><mappingclass="model.Manager"/><mappingclass="model.Keshi"/><mappingclass="model.Jichu"/><mappingclass="model.Appoint"/><mappingclass="model.Yaopin"/></hibernate-configuration>这是Hibernate配置文件,加载数据库,显示当前MySQL语句。5.2.3struts配置文件<struts><constantname="struts.objectFactory"value="spring"></constant><constantname="struts.i18n.encoding"value="UTF-8"></constant><packagename="common"extends="struts-default"namespace="/"> <actionname="method"class="manageAction"><resulttype="dispatcher">${url}</result><resultname="redirect"type="redirect">${url}</result></action></package></struts>这是struts的配置文件,处理jsp请求,将跳转进行配置5.2.4Spring配置文件spring的基础配置文件,该文件的作用主要对事物管理进行配置<beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><propertyname="configLocation"><value>classpath:hibernate.cfg.xml</value></property> </bean><!--配置事务管理器--><beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"><refbean="sessionFactory"/></property> </bean><!--配置事务的传播特性--><tx:adviceid="txAdvice"transaction-manager="transactionManager"><tx:attributes><tx:methodname="insert*"propagation="REQUIRED"/><tx:methodname="delete*"propagation="REQUIRED"/><tx:methodname="update*"propagation="REQUIRED"/><tx:methodname="*"read-only="true"/></tx:attributes></tx:advice><!--那些类的哪些方法参与事务--><aop:config><aop:pointcutid="allManagerMethod"expression="execution(*dao.*.*(..))"/><aop:advisorpointcut-ref="allManagerMethod"advice-ref="txAdvice"/></aop:config></beans>使用IOC主要功能,对象实例化,转换IOC模式<beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd/schema/aop/schema/aop/spring-aop-2.0.xsd/schema/tx/schema/tx/spring-tx-2.0.xsd"><beanid="manageAction"class="action.ManageAction"><propertyname="userDao"><refbean="userDao"/></property><propertyname="gonggaoDao"><refbean="gonggaoDao"/></property><propertyname="managerDao"><refbean="managerDao"/></property><propertyname="keshiDao"><refbean="keshiDao"/></property><propertyname="jichuDao"><refbean="jichuDao"/></property><propertyname="appointDao"><refbean="appointDao"/></property><propertyname="yaopinDao"><refbean="yaopinDao"/></property></bean>本段代码是把ManageAction实例化的代码,原理也是spring的IOC模式。<beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd/schema/aop/schema/aop/spring-aop-2.0.xsd/schema/tx/schema/tx/spring-tx-2.0.xsd"><beanid="userDao"class="dao.impl.UserDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="gonggaoDao"class="dao.impl.GonggaoDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean> <beanid="managerDao"class="dao.impl.ManagerDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean> <beanid="keshiDao"class="dao.impl.KeshiDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean> <beanid="jichuDao"class="dao.impl.JichuDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="appointDao"class="dao.impl.AppointDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="yaopinDao"class="dao.impl.YaopinDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean></beans>第六章.系统实现6.1系统后台登陆页面6.1.1登录界面其实现代码如下:publicvoidlogin()throwsIOException{HttpServletRequestrequest=ServletActionContext.getRequest();HttpServletResponseresponse=ServletActionContext.getResponse();Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");Useruser=userDao.selectBean("whereusername='"+username+"'andpassword='"+password+"'anduserlock=0");if(user!=null){HttpSessionsession=request.getSession();session.setAttribute("user",user);response.setCharacterEncoding("gbk");PrintWriterwriter=response.getWriter();writer.print("<scriptlanguage='javascript'>alert('登陆成功');window.location.href='index.jsp';</script>");}else{response.setCharacterEncoding("gbk");PrintWriterwriter=response.getWriter();writer.print("<scriptlanguage='javascript'>alert('用户名或者密码错误');window.location.href='login.jsp';</script>");}}6.2后台主操作界面6.2.1主操作界面6.3前台操作界面6.3.1前台操作界面其部分实现代码如下:publicvoidregister()throwsException{HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse();Stringusername=.URLDecoder.decode(request.getParameter("username"),"utf-8");Stringpassword=.URLDecoder.decode(request.getParameter("password"),"utf-8");Stringtruename=.URLDecoder.decode(request.getParameter("truename"),"utf-8");Stringzhuanye=.URLDecoder.decode(request.getParameter("zhuanye"),"utf-8");Stringbanji=.URLDecoder.decode(request.getParameter("banji"),"utf-8");Stringtelephone=.URLDecoder.decode(request.getParameter("telephone"),"utf-8");Stringjiguan=.URLDecoder.decode(request.getParameter("jiguan"),"utf-8");Stringaddress=.URLDecoder.decode(request.getParameter("address"),"utf-8");Stringxingbie=.URLDecoder.decode(request.getParameter("xingbie"),"utf-8");Stringage=.URLDecoder.decode(request.getParameter("age"),"utf-8");Useruser=userDao.selectBean("whereusername='"+username+"'anduserlock=0");if(user==null){user=newUser();user.setCreatetime(newDate());user.setPassword(password);user.setTruename(truename);user.setUsername(username);user.setZhuanye(zhuanye);user.setBanji(banji);user.setTelephone(telephone);user.setJiguan(jiguan);user.setAddress(address);user.setXingbie(xingbie);user.setAge(age);user.setRole(2);userDao.insertBean(user);ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");response.getWriter().write("注册成功!您的用户名"+user.getUsername()+"");}else{ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");response.getWriter().write("该用户名已经存在,请重新注册!");}}6.3.2用户注册页面界面关键部分代码publicStringuserlist(){HttpServletRequestrequest=ServletActionContext.getRequest();Stringusername=request.getParameter("username");StringBuffersb=newStringBuffer();sb.append("where");if(username!=null&&!"".equals(username)){sb.append("usernamelike'%"+username+"%'");sb.append("and");request.setAttribute("username",username);}sb.append("role=2");sb.append("and");sb.append("userlock=0orderbyid");intcurrentpage=1;intpagesize=10;if(request.getParameter("pagenum")!=null){currentpage=Integer.parseInt(request.getParameter("pagenum"));}Stringwhere=sb.toString();longtotal=userDao.selectBeanCount(where.replaceAll("orderbyiddesc",""));List<User>list=userDao.selectBeanList((current1)*pagesize,pagesize,where);request.setAttribute("list",list);Stringpagerinfo=Pager.getPagerNormal((int)total,pagesize,currentpage,"method!userlist","共有"+total+"条记录");request.setAttribute("pagerinfo",pagerinfo);this.setUrl("user/userlist.jsp");returnSUCCESS;}第七章系统测试7.1系统测试的目的通过真实的环境测试,根据预期需求进行对比,通过结果检验系统的功能性是否跟所需系统正确性比较,是否满足功能需求的具体实现,对于计算机每一个元素,在实际运行话环境下,能否达到预期标准。总的目标是:保证系统符合预期效果,达到需求标准。7.2面向对象系统测试问题汇总通过对系统的总体测试与分析,对于集中出现的问题在此列出并表明解决方案org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoadingIllegalaccess:thiswebapplicationinstancehasbeenstoppedalready.Couldnotload再在环境部署是出现错误,经多次查询资料发现tomcat版本过高,不匹配war包中的jar,降低tomcat版本号得以解决。(2)数据库编码出现问题,有时出现中文乱码,不必配对应等,在查询数据库编码后,配合聚合函数,修改编码格式utf-8,使用外链接等操作修改数据库的错误编码问题。(3)在链接数据库是JDBC报错,经过筛查发现数据库端口号被占用,从cmd命令行重启8080端口,重新建立数据库对的连接。实验小结经过这次课题的设计并实现,我对自己所学的软件编程有了更进一步的了解与认识。同时,也感谢导师的耐心指导,给我提出了很多宝贵的意见,使我在做这次的毕业课程设计中受益匪浅。当然,我也深深的感受到我们所学的就在自己的身边,认识到理论与实践相结合的重要性。通过本次毕业设计,将许多的知识点进行统一的整合,为以前的学习做了个总结,为我今后走向岗位就业提供了技术基础与经验。参考文献[1]黄明,梁旭.JSP信息系统设计与开发实例[M].北京:机械工业出版社,2014.[2]孙浏毅.Java宝典[M].北京:电子工业出版社,2013.[3]聂庆亮.Java应用开发指南[M].北京:清华大学出版社,2012.[4]邓良松.软件工程[M].第二版.西安:西安电子科技大学出版社,2015.[5]刘升华.Java从入门到实践[M].北京:清华大学出版社,2014.[6]李钟蔚.Java开发实践宝典[M].北京:清华大学出版社,2013.[7]刘聪.Java报表开发技术深入解析[M].北京:中国铁道出版社,2012.[8]张金城.管理信息系统[M].北京:北京大学出版社,2014.[9]王珊,萨师煊.数据库系统概论[M].第四版.北京:高等教育出版社,2015.[10]孙卫琴,李洪成.Tomcat与JavaWeb开发技术详解[M].北京:电子工业出版社,2014.[11]赵勰王卉卉.医院门诊信息系统浅议[J].江苏卫生事业管理.2010(第21卷第3期).83-84[12]吴磊刘广.医院门诊管理系统的设计与实现[J].网络与信息.2011(第4卷第4期).29-33
HYPERLINK电脑快捷知识大全编辑本段一、常见用法F1显示当前程序或者windows的帮助内容。F2当你选中一个文件的话,这意味着“重命名”F3当你在桌面上的时候是打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏windows键或CTRL+ESC打开开始菜单CTRL+ALT+DELETE在win9x中打开关闭程序对话框DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N新建一个新的文件CTRL+O打开“打开文件”对话框CTRL+P打开“打印”对话框CTRL+S保存当前操作的文件CTRL+X剪切被选择的项目到剪贴板CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤销的操作Windows键+L锁屏键Windows键+M最小化所有被打开的窗口。Windows键+SHIFT+M重新将恢复上一项操作前窗口的大小和位置Windows键+E打开资源管理器Windows键+F打开“查找:所有文件”对话框Windows键+R打开“运行”对话框Windows键+BREAK打开“系统属性”对话框Windows键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏ALT+F4关闭当前应用程序ALT+SPACEBAR打开程序最左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板CTRL+F4关闭当前应用程序中的当前文本(如word中)CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前一个窗口)在IE中:ALT+RIGHTARROW显示前一页(前进键)ALT+LEFTARROW显示后一页(后退键)CTRL+TAB在页面上的各框架中切换(加shift反向)F5刷新CTRL+F5强行刷新目的快捷键激活程序中的菜单栏F10执行菜单上相应的命令ALT+菜单上带下划线的字母关闭多文档界面程序中的当前窗口CTRL+F4关闭当前窗口或退出程序ALT+F4复制CTRL+C剪切CTRL+X删除DELETE显示所选对话框项目的帮助F1显示当前窗口的系统菜单ALT+空格键显示所选项目的快捷菜单SHIFT+F10显示“开始”菜单CTRL+ESC显示多文档界面程序的系统菜单ALT+连字号(-)粘贴CTRL+V切换到上次使用的窗口或者按住ALT然后重复按TAB,切换到另一个窗口ALT+TAB撤消CTRL+Z编辑本段二、使用“Windows资源管理器”的快捷键目的快捷键如果当前选择展开了,要折叠或者选择父文件夹左箭头折叠所选的文件夹NUMLOCK+负号(-)如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头展开当前选择下的所有文件夹NUMLOCK+*展开所选的文件夹NUMLOCK+加号(+)在左右窗格间切换F6编辑本段三、使用WINDOWS键可以使用Microsoft自然键盘或含有Windows徽标键的其他任何兼容键盘的以下快捷键。目的快捷键在任务栏上的按钮间循环WINDOWS+TAB显示“查找:所有文件”WINDOWS+F显示“查找:计算机”CTRL+WINDOWS+F显示“帮助”WINDOWS+F1显示“运行”命令WINDOWS+R显示“开始”菜单WINDOWS显示“系统属性”对话框WINDOWS+BREAK显示“Windows资源管理器”WINDOWS+E最小化或还原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M编辑本段四、“我的电脑”和“资源管理器”的快捷键目的快捷键关闭所选文件夹及其所有父文件夹按住SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)向后移动到上一个视图ALT+左箭头向前移动到上一个视图ALT+右箭头查看上一级文件夹BACKSPACE编辑本段五、使用对话框中的快捷键目的快捷键取消当前任务ESC如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键单击相应的命令ALT+带下划线的字母单击所选按钮ENTER在选项上向后移动SHIFT+TAB在选项卡上向后移动CTRL+SHIFT+TAB在选项上向前移动TAB在选项卡上向前移动CTRL+TAB如果在“另存为”或“打开”对话框中选择了某文件夹,要打开上一级文件夹BACKSPACE在“另存为”或“打开”对话框中打开“保存到”或“查阅”F4刷新“另存为”或“打开”对话框F5编辑本段六、桌面、我的电脑和“资源管理器”快捷键选择项目时,可以使用以下快捷键。目的快捷键插入光盘时不用“自动播放”功能按住SHIFT插入CD-ROM复制文件按住CTRL拖动文件创建快捷方式按住CTRL+SHIFT拖动文件立即删除某项目而不将其放入SHIFT+DELETE“回收站”显示“查找:所有文件”F3显示项目的快捷菜单APPLICATION键刷新窗口的内容F5重命名项目F2选择所有项目CTRL+A查看项目的属性ALT+ENTER或ALT+双击可将APPLICATION键用于Microsoft自然键盘或含有APPLICATION键的其他兼容键编辑本段七、Microsoft放大程序的快捷键这里运用Windows徽标键和其他键的组合。快捷键目的Windows徽标+PRINTSCREEN将屏幕复制到剪贴板(包括鼠标光标)Windows徽标+SCROLLLOCK将屏幕复制到剪贴板(不包括鼠标光标)Windows徽标+PAGEUP切换反色。Windows徽标+PAGEDOWN切换跟随鼠标光标Windows徽标+向上箭头增加放大率Windows徽标+向下箭头减小放大率编辑本段八、使用辅助选项快捷键目的快捷键切换筛选键开关右SHIFT八秒切换高对比度开关左ALT+左SHIFT+PRINTSCREEN切换鼠标键开关左ALT+左SHIFT+NUMLOCK切换粘滞键开关SHIFT键五次切换切换键开关NUMLOCK五秒QQ快捷键,玩QQ更方便Alt+S快速回复Alt+C关闭当前窗口Alt+H打开聊天记录Alt+T更改消息模式Ait+J打开聊天纪录Ctrl+A全选当前对话框里的内容Ctrl+FQQ里直接显示字体设置工具条Ctrl+J输入框里回车(跟回车一个效果)Ctrl+M输入框里回车(跟回车一个效果)Ctrl+L对输入框里当前行的文字左对齐Ctrl+R对输入框里当前行的文字右对齐Ctrl+E对输入框里当前行的文字居中Ctrl+V在qq对话框里实行粘贴Ctrl+Z清空/恢复输入框里的文字Ctrl+回车快速回复这个可能是聊QQ时最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷键F5刷新DELETE删除TAB改变焦点CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+A全选CTRL+Z撤销CTRL+S保存ALT+F4关闭CTRL+Y恢复ALT+TAB切换CTRL+F5强制刷新CTRL+W关闭CTRL+F查找SHIFT+DELETE永久删除CTRL+ALT+DEL任务管理SHIFT+TAB-反向切换CTRL+空格--中英文输入切换CTRL+Shift输入法切换CTRL+E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川攀钢西昌医院手术室招聘护士4人备考题库含答案详解(培优a卷)
- 2026陕西省西北农林科技大学出版社有限责任公司招聘1人备考题库含答案详解(b卷)
- 2026江苏南京市六合区人民医院招聘高层次人才5人备考题库有答案详解
- 2026山东第一医科大学第二附属医院招聘高级专业技术岗位工作人员5人备考题库附答案详解(典型题)
- 2026珠海港股份有限公司校园招聘笔试历年参考题库附带答案详解
- 2026海南省建设投资集团有限公司招聘所属企业副总经理1人笔试历年参考题库附带答案详解
- 2026春季国元农业保险股份有限公司安徽分公司校园招聘49人笔试历年参考题库附带答案详解
- 2026年春季广投智慧服务集团校园招聘笔试历年参考题库附带答案详解
- 2026四川资阳益福康养产业有限公司招聘2人笔试历年参考题库附带答案详解
- 2026中铁建重庆石化销售有限公司加油员招聘3人笔试历年参考题库附带答案详解
- 工程项目进度-成本-质量多目标协同优化模型构建与应用研究
- 2026北京朝阳初三上学期期末化学试卷和参考答案
- 跨栏跑课件教学课件
- 【中考】2025年广东江门语文试卷(原卷+答案)
- 2025年山东省省考面试真题(附答案)
- DB5305∕T 179-2024 红大戟种苗培育技术规程
- 2025年生地会考试卷题及答案
- 无人机城市测绘三维建模技术方案
- 加固门式钢架施工方案
- 2025年检察院书记员考试真题(附答案)
- 2025年邮政柜员考试试题及答案
评论
0/150
提交评论