基于java医院门诊管理系统设计
获取项目源文件,学习交流联系Q:1415736481,可指导毕设,课设
【摘要】计算机信息技术应用于医院的日常管理,可以为医院的发展提供巨大的动力。本系统采SQL server2000为后台数据库,以MyEclipse 6.5为前端开发工具,以TomCat 6.0为服务器,采用MVC三层开发框架。系统实现了挂号管理、处方管理、收费管理、药品管理等必需的功能,其操作简单、功能完善、运行比较稳定,适用于小型医院的门诊信息管理工作。
【关键词】门诊;管理信息系统;SQL server2000;Jsp
The Development of Hospital Management Information System
Abstract: Computer information technology in the daily hospital management, hospitals can provide a tremendous impetus to the development. The system adopted for the background SQL server2000 database to MyEclipse 6.5 as the front-end development tools to TomCat 6.0 as the server, three-tier development using MVC framework. System to achieve the registration management, prescription management, charge management, drug management, the necessary functions. Its operation is simple、perfect function 、stable operation、for small hospital outpatient information management.
Key words: diagnosis ;management information system;SQL server2000;Jsp
目 录
引 言... 1
1概述... 2
1.1开发背景. 2
1.2开发意义. 2
1.3系统目标. 2
2 系统设计原理... 3
2.1系统设计的基本思想. 3
2.2 SQL servser数据库简介. 3
2.3 MyEclipse开发工具描述. 4
2.3.1 MyEclipse简介... 4
2.3.2MyEclipse的开发环境... 4
2.3.3 MyEclipse的数据库的访问方法... 4
3 系统分析... 6
3.1可行性分析. 6
3.2需求分析. 6
3.2.1功能需求... 6
3.2.2数据需求... 6
3.2.3系统数据流图... 7
3.2.4数据字典... 9
4 系统设计... 11
4.1总体设计. 11
4.2数据库设计. 12
4.2.1概念结构设计... 12
4.2.2逻辑结构设计... 13
4.2.3物理结构设计... 13
5 系统实现... 16
5.1数据库的建立. 16
5.2数据库的连接. 17
5.3主界面的实现. 18
5.4挂号管理模块的实现. 19
5.5处方管理模块的实现. 22
5.6收费管理模块的实现. 26
5.7药品管理模块的实现. 28
5.8后台管理模块的实现. 32
6 系统测试... 35
6.1测试环境. 35
6.2功能测试. 35
6.3性能测试. 35
6.4界面测试. 36
6.5调试问题. 36
6.6测试结果. 36
总结... 38
致谢... 39
参考文献... 40
科技外文文献... 41
附录A:源程序代码... 46
附录B:系统使用说明书... 64
引 言
随着计算机技术的飞速发展,计算机在医院管理中应用的普及,利用计算机实现医院门诊信息
的管理势在必行,当前的医院门诊管理系统正在由C/S结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的信息系统仍然占据医院管理信息系统的主流。
逐渐地随着计算机在社会各个领域的广泛应用,大量繁杂的工作得以快递、高效的完成,使人们从繁重的劳动中解脱出来,提高了工作效率和工作质量。在计算机应用的众多领域中,管理信息系统占据着十分重要的地位,它使用系统的观点,以计算机科学和现代通信技术为基础,对某一组织或机构中有关管理的数据进行收集、处理,并输出有用信息, 使大量的手工劳动自动完成,避免了因人工操作带来的各种错误。
医院门诊管理系统是现代医院管理不可缺少的一部分,是适应现代医院要求,推动医院的门诊信息管理走向科学化、规范化、高效化的必要条件。现代医院需要高效的完成医院门诊信息管理的日常业务,包括病人挂号管理,处方管理,收费,取药,药品管理等操作。并达到操作过程中的直观、方便、使用、安全等要求。此外,医院门诊信息管理系统还需要后台用户的管理功能,以及用户需求进行数据的添加、删除、修改等操作。为了方便医院门诊信息管理需要,我们设计制作了医院门诊信息管理系统提供。
该医院门诊信息管理系统可以应用在一个医院的局域网中,系统地、全面的进行门诊信息管理。支持病人的挂号管理,处方管理,收费管理,药品管理以及在各个模块中信息的增加、删除、修改、查询等,系统以其系统性、全面性、使用的安全性和稳定性以及应用的广泛性为特点,极大地减轻了医院工作人员的工作强度,提高了医院门诊信息管理工作的水平,下面章节将详细介绍本系统的设计过程。
1.1开发背景
1.2开发意义
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了更好管理门诊信息而设计的。当前,医院作为病人就诊的地方,有许多信息需要处理和管理。现今,有很多门诊信息系统都是初步开始使用,甚至尚未使用计算机进行信息处理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于处方等很多信息都是用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个门诊信息管理系统,使门诊信息管理工作规范化,系统化,程序化,避免管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改情况。
1.3系统目标
医院门诊信息管理系统是用于管理医院门诊信息的重要工具,一个完善的医院门诊信息管理系统的功能主要包括以下几项:
挂号管理:包括挂号、挂号单处理。
处方管理:包括开处方、处方查询、处方管理。
收费查询:包括处方查询、收费单处理。
药品管理:包括收费单查询、录入药品信息、药品管理。
后台管理:主要用于添加各个板块的用户。
2.1系统设计的基本思想
2.2 SQL servser数据库简介
SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版
SQL server 2008是微软出的SQL系列最新版本。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
2.3.1 MyEclipse简介
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、 JSF、 CSS、Javascript、 SQL、 Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1. JavaEE模型
2. WEB开发工具
3. EJB开发工具
4. 应用程序服务器的连接器
5. JavaEE项目部署服务
6. 数据库服务
7. MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。
2.3.2MyEclipse的开发环境
2.3.3 MyEclipse的数据库的访问方法
在MyEclipse6.5中,我们有两种方法进行数据库的连接,一种是通过java语句直接写出类,对JDBC进行操作;一种是直接通过配置数据库连接池对数据库连接的类进行封装。本文将主要讨论在MyEclipse6.5中, 应用JDBC技术,对数据库进行操作。下面讨论应用JDBC访问数据库方法。
(1)用JDBC连接Oracle8/8i/9i数据库
先要在MyEclipse6.5添加相应的jar包,然后在连接数据库的类中写入如下语句:
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
(2)用JDBC连接DB2数据库
先要在MyEclipse6.5添加相应的jar包,然后在连接数据库的类中写入如下语句:
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
(3)用JDBC连接Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
(4)用JDBC连接MySQL数据库
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Stringurl="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" //myDB为数据库名
Connection conn= DriverManager.getConnection(url);
3 系统分析
3.1可行性分析
(1)经济可行性分析
开发需求较低,加上成熟的软硬件环境、目标系统并不是十分复杂和开发周期较短,人员经济支出有限。开发完成运行后,为使用者带来便利,为系统的进一步推广创造了条件,经济收益将远超过投资。从经济角度考虑,此系统开发可行。
(2)法律可行性分析
由于整个系统是自行开发,自行使用,所以系统本身不存在版权争议,符合国家各种政策法规。
(3)技术可行性分析
采用SQL server 2000作为数据库MyEclipse6.5作为开发工具TomCat 6.0作为服务器,采用MVC三层框架来进行开发。现在的MVC开发模式发展的已经很成熟,资料也很丰富,即使遇到问题也有很多资料,所以说从在技术上是可行的。
3.2需求分析
3.2.1功能需求
医院门诊管理系统是管理医院门诊信息的重要工具,医院门诊信息管理涉及挂号信息、处方信息、收费信息、药品信息等多种数据管理。从信息管理角度出发可将分为五类:挂号管理、处方管理、收费管理、药品管理和后台用户管理。
一个完善的医院门诊信息管理系统的任务主要包括以下几项:
挂号管理:包括病人挂号、挂号单处理。
处方管理:包括开处方、处方查询、处方管理。
收费管理:包括处方查询、收费单管理。
药品查询:包括收费单查询、录入药品信息、药品管理。
后台管理:主要是对各个模块的用户进行添加和删除。
安全退出:主要是删除系统中的用户登录记录。
3.2.2数据需求
(1)动态数据
输入数据:点击提交按钮时上传的数据;
查询时所输入的关键字;
点击增加、删除和修改时所上传的数据;
录入和修改时所上传的数据;
点击功能按钮时所上传的数据;
输出数据:查询关键字确定的数据库记录的子集;
挂号单、收费单、处方单、药品信息表等操作结果;
3.2.3系统数据流图
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理元素,它只是描绘信息在软件中流动和被处理的情况。因为数据流图是系统逻辑功能的图形表示,即使不是专业的计算机人员也容易理解它,所以它是分析员和用户之间极好的通信工具。
如图3.1所示,数据流图的四种基本符号和具体描述如下:
|
|||||||||
|
|||||||||
|
|||||||||
|
|||||||||
图3.1 数据流图的基本符号
医院门诊管理系统的顶层数据流图3.2所示:
图3.2 顶层数据流图
医院门诊管理系统的一层数据流图如图3.3所示:
图3.3 一层数据流图
3.2.4数据字典
编号:D1 数据存储名称:病人挂号信息 简述:病人在医院门诊时挂号所产生的信息 组成:病人挂号信息=自增项id+挂号单编号+病人姓名+病人性别+病人年龄+所挂可是类别+所挂科室名+所要办理的业务 来源:挂号信息录入 去向:医生 |
编号:D2 数据存储名称:处方信息 简述:医生对病人进行开处方时所产生的信息 组成:处方信息=自增项id+处方单编号+病人姓名+病人性别+病人年龄+是否交费 来源:处方添加 去向:医院收费人员、药房管理人员 |
编号:D3 数据存储名称:收费信息 简述:病人在医院交费处交费所产生的信息 组成:收费信息=自增项id+收费单编号+收费日期+病人名+开处方的当事人+处方价钱+备注 来源:挂号信息录入 去向:医院收费人员、药房管理人员 |
编号:D4 数据存储名称:药品信息 简述:药房管理人员处理药品信息时所产生的信息 组成:药品信息=自增项id+药品单编号+药品名+药品类型+药品规格+生产企业+包装量+包装单位+单位价格+现有数量 来源:药品信息录入 去向:药房管理人员 |
编号:D5 数据存储名称:用户信息 简述:管理员添加用户信息时所产生的信息 组成:用户信息=自增项id+用户名+用户密码 来源:用户信息录入 去向:后台管理员 |
通过对数据字典的定义,我们就可以开始的程序和数据库,进行系统的设计了。
4 系统设计
首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。
实现功能模块时,采用先模块化,后集成的方式。即对系统各个功能模块分别独立设计和调式,在创建系统主窗体时再将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计调式。
在访问数据库时,采用功用数据模块存放数据库需要的对象。该模块在各个功能模块中被直接调用,避免对数据库的反复连接,并可减少代码编写,从而提高系统开发效率。
4.1总体设计
在设计医院门诊信息系统时:根据实际情况,进行模块化设计;由上可得出,医院门诊信息管理系统需要实现的功能模块有:
医院门诊信息管理系统 |
挂号管理 |
处方管理 |
收费管理 |
药品管理 |
挂号 |
挂号信息处理 |
开处方 |
处方信息查询 |
处方信息管理 |
处方查询及收费 |
收费单信息处理 |
收费查询及开药 |
录入药品信息 |
药品信息管理 |
后台管理 |
4.2数据库设计
4.2.1概念结构设计
E-R图是一种信息模型图,体现了系统实体之间的关系。通过系统需求分析,了解系统的分解功能以及数据流程。根据这些实体及属性和实体之间的关系,可以得到系统E-R图
系统中所涉及的实体属性图如图4.2 图4.3 图4.4 图4.5 图4.6所示。
图4.2“病人”实体属性图
图4.3“医生”实体属性图
图4.4“收费人员”实体属性图
图4.5“药品管理人员”实体属性图
图4.6“管理员”实体属性图
下面是系统的E-R图,如图4.7所示:
图4.7系统E-R图
4.2.2逻辑结构设计
数据库逻辑结构设计是把概念模型(E-R图)转换为符合数据库管理系统的数据模型,就是把概念模型(E-R图)转换为关系模型。把系统的概念模型(E-R图)转换为关系模型可得如下的关系模式。
挂号表(自增项,挂号单编号,病人姓名,病人性别,病人年龄,所挂科室类别,所挂科室名,所要办理的业务),挂号单编号为此关系的码。
处方表(自增项,处方单编号,日期,病人姓名,病人性别,病人年龄,备注),处方单编号为此关系的码。
处方内容表(自增项,处方单编号,药品1编号,药品1数量,…),处方单编号为此关系的码。
收费表(自增项,收费单编号,日期,病人名,收费的当事人,处方价钱,备注),收费单编号为此表的码。
药品管理表(自增项,取药单编号,取药时间,取药人姓名,开药人姓名,备注),取药单标号为此表的码。
药品信息表(自增项,药品单编号,药品名,药品类型,药品规格,生产企业,包装量,包装单位,单位价格,现有数量),药品单编号为此表的码。
4.2.3物理结构设计
在医院门诊管理系统中数据库的名称设置为hospital 数据库中的表名称和字符标识,如下所示:
表4.1挂号表(guahao)
序号 |
字段名 |
描述 |
数据类型 |
数据长度 |
主键 |
可否为空 |
1 |
G_id |
自增项 |
int |
n |
||
2 |
G_number |
编号 |
archar |
30 |
√ |
n |
3 |
G_name |
姓名 |
varchar |
20 |
Y |
|
4 |
G_age |
年龄 |
varchar |
4 |
Y |
|
5 |
G_sex |
性别 |
Varchar |
4 |
Y |
|
6 |
G_kenei |
科室类别 |
Varchar |
40 |
Y |
|
7 |
G_ke |
科室名 |
varchar |
40 |
Y |
|
8 |
G_nei |
办理事务 |
Varchar |
40 |
Y |
.表4.2处方表(chufang)
序号 |
字段 |
描述 |
数据类型 |
数据长度 |
主键 |
可否为空 |
1 |
C_id |
自增项 |
int |
n |
||
2 |
C_number |
编号 |
varchar |
20 |
√ |
n |
3 |
C_time |
日期 |
varchar |
20 |
Y |
|
4 |
C_name |
病人名 |
varchar |
20 |
Y |
|
5 |
C_sex |
病人性别 |
varchar |
10 |
Y |
|
6 |
C_age |
病人年龄 |
varchar |
10 |
Y |
|
7 |
C_cost |
是否交费 |
varchar |
10 |
Y |
表4.3处方内容表(C_drug)
序号 |
字段 |
描述 |
类型 |
数据长度 |
主键 |
可否为空 |
1 |
D_id |
自增项 |
int |
N |
||
2 |
D_number |
处方单编号 |
Varchar |
20 |
√ |
N |
4 |
DY_name1 |
药品1名称 |
Varchar |
20 |
y |
|
5 |
DY_number1 |
药品1数量 |
Float |
y |
||
6 |
DY_name2 |
药品2名称 |
Varchar |
20 |
y |
|
7 |
DY_number2 |
药品2数量 |
Float |
Y |
表4.4收费表:(shoufei)
序号 |
字段 |
描述 |
数据类型 |
长度 |
主键 |
可否为空 |
1 |
S_id |
自增项 |
Int |
N |
||
2 |
S_number |
收费单编号 |
varchar |
20 |
√ |
N |
3 |
S_time |
收费日期 |
Varchar |
20 |
y |
|
4 |
S_name |
病人名 |
Varchar |
20 |
y |
|
5 |
S_names |
收款人姓名 |
Varchar |
20 |
y |
|
6 |
S_money |
处方价钱 |
Float |
y |
||
7 |
S_nei |
备注 |
Varchar |
20 |
y |
表4.5药品管理表(drug)
序号 |
字段 |
描述 |
数据类型 |
数长度 |
主键 |
可否为空 |
1 |
X_id |
自增项 |
Int |
N |
||
2 |
X_number |
取药单编号 |
Varchar |
20 |
√ |
N |
3 |
X_time |
取药时间 |
Varchar |
20 |
Y |
|
4 |
X_name |
病人姓名 |
Varchar |
20 |
Y |
|
X_names |
开药人姓名 |
Varchar |
20 |
Y |
||
X_beizhu |
备注 |
Varchar |
40 |
Y |
表4.6药品信息表(M_drug)
序号 |
字段 |
描述 |
据类型 |
数据长度 |
主键 |
可否为空 |
1 |
M_number |
药品编号 |
Varchar |
20 |
√ |
N |
2 |
M_name |
药品名 |
Varchar |
20 |
N |
|
3 |
M_nei |
药品类型 |
Varchar |
20 |
Y |
|
4 |
M_gui |
药品规格 |
Varchar |
20 |
Y |
|
5 |
M_corporation |
生产企业 |
Varchar |
40 |
Y |
|
6 |
M_liang |
包装量 |
Varchar |
10 |
Y |
|
7 |
M_danwei |
包装单位 |
Varchar |
10 |
Y |
|
8 |
M_money |
单位价格 |
Varchar |
10 |
Y |
|
9 |
M_you |
现有数量 |
Varchar |
10 |
Y |
5 系统实现
5.1数据库的建立
本次采用SQL server 2000作为数据库,整个操作将通过SQL语句在查询分析器中进行,本系统的数据库名为Hospital,本系统采用的SQL server登陆验证是SQL server验证,用户名为“sa”,密码为“sa”。
1)打开SQL server服务器,然后打开查询分析器,在SQL server的验证方式下,输入用户名和密码,然后在工作区中输入如下语句,运行即可:
create database hospital //建立名为hospital德数据库
use hospital //切换hospital为当前数据库
2)在输入各个表的SQL语句,建立各个子表:
建立挂号表guahao
create table guahao(
G_id int identity not null, --自增项
G_number varchar(30) primary key, --挂号单编号
G_name varchar(20), --病人姓名
G_sex varchar(4), --病人性别
G_age varchar(20), --病人年龄
G_kenei varchar(40), --所挂科室类别
G_ke varchar(40), --所挂科室名
G_nei varchar(40) --所要办理的业务
)
建立用户处方表
create table chufang(
C_id int identity not null,
C_number varchar(20) primary key, --处方单编号
C_time varchar(20), --开处方的日期
C_name varchar(20), --病人姓名
C_sex varchar(10), --病人性别
C_age varchar(10), --病人年龄
C_cost varchar(10) --用户是否缴费
)
建立处方药品单
create table C_drug(
D_id int identity not null,
D_number varchar(20) primary key, --处方单编号
DY_name1 varchar(20), --药品1名字
DY_number1 float, --药品1数量
DY_name2 varchar(20), --药品2名字
DY_number2 float, --药品2数量
DY_name3 varchar(20), --药品3名字
DY_number3 float, --药品3数量
DY_name4 varchar(20), --药品4名字
DY_number4 float, --药品4数量
DY_name5 varchar(20), --药品5名字
DY_number5 float, --药品5数量
DY_name6 varchar(20), --药品6名字
DY_number6 float, --药品6数量
DY_name7 varchar(20), --药品7名字
DY_number7 float, --药品7数量
DY_name8 varchar(20), --药品8名字
DY_number8 float, --药品8数量
DY_name9 varchar(20), --药品9名字
DY_number9 float, --药品9数量
DY_name10 varchar(20), --药品10名字
DY_number10 float, --药品10数量
DY_name11 varchar(20), --药品11名字
DY_number11 float, --药品11数量
DY_name12 varchar(20), --药品12名字
DY_number12 float --药品12数量
)
建立收费表
create table shoufei(S_id int identity, --自增项
S_number varchar(20) primary key, --收费单编号
S_time varchar(20), --收费日期
S_name varchar(20), --病人名
S_names varchar(20), --开处方的当事人
S_money float, --处方价钱
S_nei varchar(20) --备注
)
建立药品管理表
create table drug(X_id int identity not null, --自增项
X_number varchar(20) primary key, --取药单编号
X_time varchar(20), --取药时间
X_name varchar(20), --取药人姓名
X_names varchar(20), --开药人姓名
X_beizhu varchar(40) --备注
)
建立药品信息单
create table M_drug(
M_number int identity not null, --药品编号
M_name varchar(20) primary key, --药品名
M_nei varchar(20), --药品类型
M_gui varchar(20), --药品规格
M_corporation varchar(40), --生产企业
M_liang varchar(10), --包装量
M_danwei varchar(10), --包装单位
M_money varchar(10), --单位价钱
M_you varchar(10) --现有数量)
5.2数据库的连接
1)先要将SQL server 2000的jar包导入到项目中,SQL server 2000有三个jar包,将其放在lib包下。
2)在写连接数据库类,写入如下代码:
package com.fit.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class LoginDao
{
public void login(String sql)
{
String db="com.microsoft.jdbc.sqlserver.SQLServerDriver"; Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Hospital;user=sa;password=sa";
try{
Class.forName(db);
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}catch(Exception e)
{
e.printStackTrace();
}
}
public ResultSet Ku(String sql)
{
String db="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Hospital;user=sa;password=sa";
ResultSet rs=null;
try{
Class.forName(db);
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(Exception e){
e.printStackTrace();
}
return rs;
}
}
5.3主界面的实现
主界面主要是起到将各个模块整合在一起的作用,如图5.1所示:
图5.1主页界面图
5.4挂号管理模块的实现
1)挂号处理
在挂号管理中,进行病人的挂号信息的录入工作,如图5.2所示:
图5.2挂号处理界面图
挂号处理的核心代码:
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.GuaHao;;
public class GuaHaoService
{
public void guahao(String number,String name,String sex,String age,String kebie,String kename,String keshi)
{
String sql="insert into guahao values('"+number+"','"+name+"','"+sex+"','"+age+"','"+kebie+"','"+kename+"','"+keshi+"')";
LoginDao login=new LoginDao();
login.login(sql);
}
public List showguahao(String number) throws SQLException
{
String sql="select *from guahao where G_number='"+number+"'";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
GuaHao cu=new GuaHao();
cu.setNumber(rs.getString(2));
cu.setName(rs.getString(3));
cu.setSex(rs.getString(4));
cu.setAge(rs.getString(5));
cu.setKebie(rs.getString(6));
cu.setKename(rs.getString(7));
cu.setKeshi(rs.getString(8));
list.add(cu);
}
return list;
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String age=request.getParameter("age");
String kebie=request.getParameter("kebie");
String kename=request.getParameter("kename");
String keshi=request.getParameter("keshi");
GuaHaoService guahao=new GuaHaoService();
guahao.guahao(number, name, sex, age, kebie, kename, keshi);
try {
List list=guahao.showguahao(number);
request.setAttribute("action", list);
request.getRequestDispatcher("index/GuaHaok.jsp").forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
}
2)挂号单处理,如图5.3所示:
图5.3 挂号单处理界面
挂号单处理的核心代码:
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.GuaHao;
public class GuaHaoUpdateService
{
public List showupdate(String number) throws SQLException
{
String sql="select *from guahao where G_number='"+number+"'";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
GuaHao cu=new GuaHao();
cu.setNumber(rs.getString(2));
cu.setName(rs.getString(3));
cu.setSex(rs.getString(4));
cu.setAge(rs.getString(5));
cu.setKebie(rs.getString(6));
cu.setKename(rs.getString(7));
cu.setKeshi(rs.getString(8));
list.add(cu);
}
return list;
}
}
package com.fit.service;
import com.fit.dao.LoginDao;
public class GuaHaoDelectService
{
public void delect(String number)
{
String sql="delete guahao where G_number='"+number+"'";
LoginDao login=new LoginDao();
login.login(sql);
}
}
5.5处方管理模块的实现
1)开处方,如图5.4所示:
图5.4 开处方界面
核心代码的核心代码为:
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.CuFang;;
public class CuSelectService
{
public List cuselect() throws SQLException
{
String sql="select *from chufang";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
CuFang cu=new CuFang();
cu.setC_number(rs.getString(2));
cu.setC_time(rs.getString(3));
cu.setC_name(rs.getString(4));
cu.setC_sex(rs.getString(5));
cu.setC_age(rs.getString(6));
cu.setC_cost(rs.getString(7));
list.add(cu);
}
return list;
}
public List cuselect1(String number) throws SQLException
{
String sql="select *from chufang,C_drug where C_drug.D_number=chufang.c_number and C_number='"+number+"'";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
CuFang cu=new CuFang();
cu.setC_number(rs.getString(2));
cu.setC_time(rs.getString(3));
cu.setC_name(rs.getString(4));
cu.setC_sex(rs.getString(5));
cu.setC_age(rs.getString(6));
cu.setC_cost(rs.getString(7));
cu.setDY_name1(rs.getString(10));
cu.setDY_number1(rs.getFloat(11));
cu.setDY_name2(rs.getString(12));
cu.setDY_number2(rs.getFloat(13));
cu.setDY_name3(rs.getString(14));
cu.setDY_number3(rs.getFloat(15));
cu.setDY_name4(rs.getString(16));
cu.setDY_number4(rs.getFloat(17));
cu.setDY_name5(rs.getString(18));
cu.setDY_number5(rs.getFloat(19));
cu.setDY_name6(rs.getString(20));
cu.setDY_number6(rs.getFloat(21));
cu.setDY_name7(rs.getString(22));
cu.setDY_number7(rs.getFloat(23));
cu.setDY_name8(rs.getString(24));
cu.setDY_number8(rs.getFloat(25));
cu.setDY_name9(rs.getString(26));
cu.setDY_number9(rs.getFloat(27));
cu.setDY_name10(rs.getString(28));
cu.setDY_number10(rs.getFloat(29));
cu.setDY_name11(rs.getString(30));
cu.setDY_number11(rs.getFloat(31));
cu.setDY_name12(rs.getString(32));
cu.setDY_number12(rs.getFloat(33));
list.add(cu);
}
return list;
}
}
2)处方查询,如图5.5所示:
图5.5 处方查询界面
处方查询的核心代码:
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.CuFang;
public class CuSelectOneService
{
public List cuselect(String number,String name,String time) throws SQLException
{
String sql="select *from chufang where 1=1";
String sql1 = null;
if(number!=null&&!number.equalsIgnoreCase(""))
{
sql1=sql+" and C_number='"+number+"'";
}
if(name!=null&&!name.equalsIgnoreCase(""))
{
sql1=sql+" and C_name='"+name+"'";
}
if(time!=null&&!time.equalsIgnoreCase(""))
{
sql1=sql+" and C_time='"+time+"'";
}
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql1);
while(rs.next())
{
CuFang cu=new CuFang();
cu.setC_number(rs.getString(2));
cu.setC_time(rs.getString(3));
cu.setC_name(rs.getString(4));
cu.setC_sex(rs.getString(5));
cu.setC_age(rs.getString(6));
cu.setC_cost(rs.getString(7));
list.add(cu);
}
return list;
}
}
3)处方管理界面,如图5.6所示:
图5.6 处方管理界面
处方管理的核心代码:
package com.fit.service;
import com.fit.dao.LoginDao;
public class CuUpdateService
{
public void updatecu(String number ,String yao1,float numberz1,String yao2,float numberz2,
String yao3,float numberz3,String yao4,float numberz4,String yao5,float numberz5,
String yao6,float numberz6,String yao7,float numberz7,String yao8,float numberz8,
String yao9,float numberz9,String yao10,float numberz10,String yao11,float numberz11,
String yao12,float numberz12)
{
String sql="update C_drug set DY_name1='"+yao1+"',DY_number1="+numberz1+",DY_name2='"+yao2+"',DY_number2=1"+numberz2+",DY_name3='"+yao3+"',DY_number3="+numberz3+",DY_name4='"+yao4+"',DY_number4="+numberz4+"," + "DY_name5='"+yao5+"',DY_number5="+numberz5+",DY_name6='"+yao6+"',DY_number6="+numberz6+",DY_name7='"+yao7+"',DY_number7="+numberz7+",DY_name8='"+yao8+"',DY_number8="+numberz8+",DY_name9='"+yao9+"'," +"DY_number9="+numberz9+",DY_name10='"+yao10+"',DY_number10="+numberz10+",DY_name11='"+yao11+"',DY_number11="+numberz11+",DY_name12='"+yao12+"',DY_number12="+numberz12+" where D_number='"+number+"'";
LoginDao dao=new LoginDao();
dao.login(sql);
}
}
5.6收费管理模块的实现
1)处方查询界面,如图5.7所示:
图5.7处方查询界面
处方查询的核心代码:
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.ShouFei;
public class SHMoney
{
public void shoufei(String numberA, String number,String time,String name,String beizhu,String shou,float money)
{
String sql="insert shoufei values('"+number+"','"+time+"','"+name+"','"+shou+"',"+money+",'"+beizhu+"')";
String sql1="update chufang set C_cost='已交费' where C_number='"+numberA+"'";
LoginDao dao=new LoginDao();
dao.login(sql);
dao.login(sql1);
}
public List shoufei1() throws SQLException
{
String sql="select *from shoufei";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
ShouFei cu=new ShouFei();
cu.setS_number(rs.getString(2));
cu.setS_time(rs.getString(3));
cu.setS_name(rs.getString(4));
cu.setS_names(rs.getString(5));
cu.setS_money(rs.getFloat(6));
cu.setS_nei(rs.getString(7));
list.add(cu);
}
return list;
}
public void delect(String number)
{
String sql="delete shoufei where S_number='"+number+"'";
LoginDao dao=new LoginDao();
dao.login(sql);
}
}
2)收费单管理界面,如图5.8所示:
图5.8收费单管理界面
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.ShouFei;
public class SHSelectService
{
public List cuselect(String number,String name,String time) throws SQLException
{
String sql="select *from shoufei where 1=1";
String sql1 = null;
if(number!=null&&!number.equalsIgnoreCase(""))
{
sql1=sql+" and s_number='"+number+"'";
}
if(name!=null&&!name.equalsIgnoreCase(""))
{
sql1=sql+" and s_name='"+name+"'";
}
if(time!=null&&!time.equalsIgnoreCase(""))
{
sql1=sql+" and s_time='"+time+"'";
}
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql1);
while(rs.next())
{
ShouFei cu=new ShouFei();
cu.setS_number(rs.getString(2));
cu.setS_time(rs.getString(3));
cu.setS_name(rs.getString(4));
cu.setS_names(rs.getString(5));
cu.setS_money(rs.getFloat(6));
cu.setS_nei(rs.getString(7));
list.add(cu);
}
return list;
}
}
5.7药品管理模块的实现
1) 收费单查询,如图5.9所示:
图5.9 收费单查询界面
收费单查询核心代码
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.ShouFei;
import com.fit.javabean.YaoPin;
public class XYYaoInsertService
{
public void yao(String name,String nei,String gui,String corporation,String liang,String danwei,String money, String you )
{
String sql="insert into M_drug values('"+name+"','"+nei+"','"+gui+"','"+corporation+"','"+liang+"','"+danwei+"','"+money+"','"+you+"')";
LoginDao dao=new LoginDao();
dao.login(sql);
}
public List yaopin() throws SQLException
{
String sql="select *from M_drug";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
YaoPin cu=new YaoPin();
cu.setNumber(rs.getInt(1));
cu.setName(rs.getString(2));
cu.setNei(rs.getString(3));
cu.setGui(rs.getString(4));
cu.setCorporation(rs.getString(5));
cu.setLiang(rs.getString(6));
cu.setDanwei(rs.getString(7));
cu.setMoney(rs.getString(8));
cu.setYou(rs.getString(9));
list.add(cu);
}
return list;
}
public List yaopin1(int number1) throws SQLException
{
String sql="select *from M_drug where M_number="+number1+"";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
YaoPin cu=new YaoPin();
cu.setNumber(rs.getInt(1));
cu.setName(rs.getString(2));
cu.setNei(rs.getString(3));
cu.setGui(rs.getString(4));
cu.setCorporation(rs.getString(5));
cu.setLiang(rs.getString(6));
cu.setDanwei(rs.getString(7));
cu.setMoney(rs.getString(8));
cu.setYou(rs.getString(9));
list.add(cu);
}
return list;
}
public List xyselect(String number,String name,String nei,int number1) throws SQLException
{
String sql="select *from M_drug where 1=1";
String sql1 = null;
if(number!=null&&!number.equalsIgnoreCase(""))
{
sql1=sql+" and M_number="+number1;
}
if(name!=null&&!name.equalsIgnoreCase(""))
{
sql1=sql+" and M_name='"+name+"'";
}
if(nei!=null&&!nei.equalsIgnoreCase(""))
{
sql1=sql+" and M_nei='"+nei+"'";
}
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql1);
while(rs.next())
{
YaoPin cu=new YaoPin();
cu.setNumber(rs.getInt(1));
cu.setName(rs.getString(2));
cu.setNei(rs.getString(3));
cu.setGui(rs.getString(4));
cu.setCorporation(rs.getString(5));
cu.setLiang(rs.getString(6));
cu.setDanwei(rs.getString(7));
cu.setMoney(rs.getString(8));
cu.setYou(rs.getString(9));
list.add(cu);
}
return list;
}
}
2)录入药品信息,如图5.10所示:
图5.10 录入药品信息界面
录入药品信息的核心代码:
package com.fit.service;
import com.fit.dao.LoginDao;
public class XYinsertService
{
public void xyinsert(String number,String time,String name,String shou,String beizhu)
{
String sql="insert into drug values('"+number+"','"+time+"','"+name+"','"+shou+"','"+beizhu+"')";
String sql1="update shoufei set S_nei='"+beizhu+"' where S_number='"+number+"'";
LoginDao dao=new LoginDao();
dao.login(sql);
dao.login(sql1);
}
}
3)药品管理,如图5.11所示:
图5.11 药品管理界面
药品管理的核心代码:
package com.fit.service;
import com.fit.dao.LoginDao;
public class XYDeleteService
{
public void delectyao(int number1)
{
String sql="delete M_drug where M_number="+number1+" ";
LoginDao hao=new LoginDao();
hao.login(sql);
}
public void updateyao(String name,String nei,String gui,String corporation,String liang,
String danwei,String money, String you, int number1)
{
String sql="update M_drug set M_name='"+name+"',M_nei='"+nei+
"',M_gui='"+gui+"',M_corporation='"+corporation+"',M_liang='"+liang+"',M_danwei='"+danwei+
"',M_money='"+money+"',M_you='"+you+"' where M_number="+number1+"";
LoginDao dao=new LoginDao();
dao.login(sql);
}
}
5.8后台管理模块的实现
后台管理界面,如图5.12所示:
图5.12后台管理界面如图
后台管理的核心代码:
package com.fit.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.fit.dao.LoginDao;
import com.fit.javabean.ZGuan;
public class ZMangeService
{
public List guahao() throws SQLException
{
String sql="select *from user1";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
ZGuan cu=new ZGuan();
cu.setUsername(rs.getString(2));
cu.setPassword(rs.getString(3));
list.add(cu);
}
return list;
}
public List chufang() throws SQLException
{
String sql="select *from C_user1";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
ZGuan cu=new ZGuan();
cu.setC_username(rs.getString(2));
cu.setC_password(rs.getString(3));
list.add(cu);
}
return list;
}
public List shoufie() throws SQLException
{
String sql="select *from S_user1";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
ZGuan cu=new ZGuan();
cu.setS_username(rs.getString(2));
cu.setS_password(rs.getString(3));
list.add(cu);
}
return list;
}
public List yaopin() throws SQLException
{
String sql="select *from Y_user1";
List list=new ArrayList();
ResultSet rs=null;
LoginDao login=new LoginDao();
rs=login.Ku(sql);
while(rs.next())
{
ZGuan cu=new ZGuan();
cu.setY_username(rs.getString(2));
cu.setY_password(rs.getString(3));
list.add(cu);
}
return list;
}
}
6 系统测试
在完成了一个应用程序的开发之后,便进入了系统测试阶段,系统测试将检查应用程序是否完成了用户的需求,软件在操作的过程中是否存在漏洞。
6.1测试环境
本医院门诊信息管理系统开发与测试运行环境如下:
开发环境:Windows XP、TomCat
开发工具:MyEclipse6.5、TomCat
运行环境:Windows 98/ME/2000/XP
6.2功能测试
该软件具有如下主要功能:
(1)查询功能;
(2)添加功能;
(3)删除功能;
(4)修改功能;
1)查询功能
按挂号单编号、病人名、所挂科室名进行查询挂号单基本信息;
按处方单编号、病人名、开处方日期查询处方单基本信息;
按交费单编号、病人名、交费日期查询交费单基本信息;
按药品编号、药品名、药品种类查询药品基本信息;
2)添加功能
录入挂号信息;
录入收费信息;
录入药品信息;
添加用户账号信息;
3)删除功能
删除挂号单信息;
删除处方单信息;
删除收费单信息;
删除药品管理信息;
删除药品基本信息;
删除用户账号信息;
4)修改功能
修改挂号单信息;
修改处方单信息;
修改药品基本信息;
6.3性能测试
查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。
6.4界面测试
软件拥有图形用户界面。测试重点是正确性、易用性和视觉效果。在评价易用性和视觉效果时,主观性非常强,应当考虑多个人的观点。
6.5调试问题
在测试软件的时候,我遇到了转码的问题,中文不能存入数据库中,在查询中也不能输入中文进行查询。经过最后的分析,我通过加入过滤器进行了转码,最终解决了乱码的问题,过滤器代码如下:
package com.fit.Encoding;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class Encoding implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
request.setCharacterEncoding("GBK");
filterChain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
将过滤器在xml文件中进行如下配置:
<filter>
<filter-name>Encoding</filter-name>
<filter-class>com.fit.Encoding.Encoding</filter-class>
</filter>
<filter-mapping>
<filter-name>Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6.6测试结果
经过全面的测试,该系统所要求的功能基本能实现,系统性能稳定,安全性好。界面友好且朴实无华。基本达到预期效果。
总结
毕业设计的过程是艰辛的,但是我的收获却是很大的。我的毕业设计主要是应用以前学习的Java知识数据库的知识和在校外学习的jsp技术,综合起来完成了这个医院门诊信息管理的软件,软件虽然不大,但是付出却是十分艰辛的。
首先,通过做毕业设计,我把以前学习到的知识得到了巩固和进一步的提高。再次,我在课程设计中碰到了大量的问题,我通过查阅相关书籍、资料、网络,通过自己钻研,特别是得到了我的指导老师杨刚老师的帮助,使得我在做整个毕业设计的过程中感觉非常的顺利,同时我思路开阔也变得开阔,对软件编程也有了新的认识。
我这次毕业设计的任务是建立一个医院门诊信息管理系统,它用到的开发工具是MyEclipse6.5、SQL server 2000以及TomCat6.0服务器。医院门诊信息管理系统的基本功能:挂号管理、处方管理、收费管理、药品管理和后台管理。在老师同学的帮助下,以及自己的努力下,终于完成这个系统的开发。
当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在编程这方面有一个大的发展。总之,通过几个月的毕业设计,让我感受了软件开发的整个过程的艰辛。毕业设计不仅是对我在大学所学知识的一个综合运用,也是一次增长知识和经验的好机会,同时也使我学会了许多处理、解决问题的方法,大大提高了自己的动手能力,为即将走上工作岗位打下了良好的基础
致谢
毕业设计与论文即将完成之际,回想起开始做毕业设计时的不知所措,以及调研、调试过程中的多次遇阻,真是说不出的艰辛。幸好,有许多老师、同学的帮助,我才得以调试成功,一次次的改进自己的程序,实现各种功能。正是在这些朋友的帮助下,我才及时纠正了自己的语法错误、逻辑错误、攻克了不少难点。
感谢我的指导师杨刚老师。是他在毕业设计之初帮助我分析题目,讲解整个软件的思路,为良好的开端奠定了基础。尤其是在实际设计阶段,老师给了很多的资料,这些资料给了我我相当大的帮助。在杨老师和同学的帮助下,我的毕业设计才能如此迅速的顺利的完成。所以,非常感谢杨刚老师的指导。
不积跬步何以至千里.这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,本设计能够顺利的完成,也归功于各位任课老师的认真负责,和同学的热心帮助,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成。
在此向陕西理工学院,计算机系的全体老师表示由衷的谢意。感谢他们多年来的辛勤栽培。
参考文献
[1] 朱道元等编著,《数据库精选》,北京:海洋出版社,2000。
[2] 周义仓,赫孝良编著,《数据库实验》西安:西安交通大学出版社,1999。
[3] 陈理荣主编,《数据库导论》,北京:北京邮电大学出版社,1999。
[4] 萨师煊,王珊,《数据库系统概论》,北京:高等教育出版社,1990。
[5] 李建义主编, 《数据库原理及应用》, 出版社: 北京交通大学出版社, 2006
[6]Management Information System , Mcleod , Printice Hall , 1998
[7]薛华成 主编,《管理信息系统》[M] .北京:清华大学出版社,1999,
[8] Thomas R. Peltier.Information Security Risk Analysis.Rothstein Associates Inc,2001
科技外文文献
JSP Introduction
JSP (JavaServer Pages) by Sun Microsystems, advocacy, many companies involved in the establishment of a dynamic website with technical standards, the site at http://www.javasoft.com/products/jsp. The technology for creating display dynamically generated content Web page provides a simple and fast way. JSP technology is designed to make Web-based application constructed more easily and quickly, but these applications to work with a variety of Web servers, application server, browser and development tools to work together. JSP specification is the Web server, application server, transaction systems and development tools supplier broad cooperation between the results. In a traditional web page HTML file (* htm, *. html) to add Java program fragment (Scriptlet) and JSP tags (tag), constitutes JSP pages (*. jsp). Web server in the event of a request to access JSP page, the first implementation of the program fragment, and then implement the results in HTML format back to the customer. Program fragments can operate the database, redirect pages and send email, etc., which is needed to create dynamic web site functionality. All program operations are executed on the server, network upload client is only given to the results obtained, the client browser requests a minimum, can be achieved without Plugin, no ActiveX, no Java Applet, even without Frame.
Brief history of the World Wide Web, World Wide Web has grown from a majority of the network shows the evolution of static information to carry out stock transactions and a textbook operation of infrastructure. In various applications, may be used for Web-based client, look no restrictions.
Browser-based client-based applications than traditional client / server applications have several advantages. These benefits include the almost unlimited client access and an extremely simplified application deployment and management (to update an application, managers only need to change a server-based programs, rather than the tens of thousands of installed applications on the client ). In this way, the software industry is quickly to build browser-based client applications into the multi-layered.
The rapid growth of sophisticated Web-based application requires development of technical improvements. Static HTML content for displaying relatively static is a good choice; new challenge is to create a Web-based interaction of applications, in these proceedings, the page's content is based on the user's request or the state of the system, not pre-defined text .
For this problem an early solution is to use CGI-BIN interfaces. Developers to write interfaces associated with the separate procedures, and Web-based applications, the latter through the Web server to call the former. The program has a serious scalability issues - each new CGI request to add a process server. If multiple users concurrent access to the program, the process will consume all of the Web server's available resources and system performance will be reduced to extremely low proportions.
Some of the Web server vendors have tried through their servers, "plug" and the API to simplify Web application development. These solutions are associated with a specific Web server, and can not solve the cross-vendor solution for multiple problems. For example, Microsoft's Active Server Pages (ASP) technology makes Web pages easier to create dynamic content, but can only work in Microsoft's IIS and Personal Web Server on.
There are other solutions, but do not make a normal page designers can easily grasp. For example, technologies such as Java Servlet using the Java language can make interactive applications in the server-side code easier. Developers to write such a Servlet, to receive from the Web browser's HTTP request to dynamically generate the response (which may have to query the database to complete the request) and send HTML or XML document that contains the response to the browser.
JSP technology in various aspects of accelerated development of dynamic Web pages:
1. Content generation and display separation
Use JSP technology, Web page developers can use HTML or XML logo to design and format the final page. Use the logo or feet have been generated JSP pages of dynamic content (content is based on a request to change, for example, account information or request a specific price for a bottle of wine). Generates the logic is encapsulated in the logo and JavaBeans components and tied in small script, all the scripts run in the server. If the core logic is encapsulated in the identification and Beans, then others, such as managers and Web page designers, can edit and use the JSP page without affecting the content generated. On the server side, JSP JSP engine identification and a small script to explain to generate the requested content (for example, by accessing JavaBeans components, using JDBCTM technology to access the database, or include file), and the results to HTML (or XML) page of the form sent back to the browser. This helps to protect their code on, but ensure that any HTML-based Web browser, full availability.
2. Emphasize reusable components
Most JSP pages rely on reusable, cross-platform components (JavaBeans or Enterprise JavaBeansTM components) to implement the requirements of the application more complex treatment. Developers to share and exchange components to perform common operations, or making more of these components is used by the user or customer groups. Component-based approach to accelerate the overall development process, and makes all kinds of organizations optimize their existing skills and the results of development efforts in equilibrium.
3. Simplify page development with identity
Web page developers are familiar with the scripting language will not be programmers. JavaServer Page technology encapsulates many features that are easy to use, XML and JSP-related identity of the dynamic content generation needs. JSP standard logo can access and instantiate JavaBeans component, set or retrieve the component properties, download Applet, as well as implementation of the code more difficult by other means, and time consuming functions.
Identity through the development of customized database, JSP technology is extensible. In the future, third-party developers and other personnel functions for commonly used libraries to create their own identity. This allows Web page developers can use familiar tools and the same as the identification of components that perform specific functions to work.
JSP technology is easily integrated into a variety of applications architecture to take advantage of existing tools and techniques, and extended to support enterprise-class distributed applications. As part of the family using Java technology, and Java 2 (Enterprise Architecture) is an integral part of, JSP technology can support the highly complex Web-based applications.
Since the built-in scripting language, JSP pages are based on Java programming language, and all JSP pages are compiled into Java Servlet, JSP page to have all the benefits of Java technology, including robust storage management and security. As part of the Java platform, JSP Java programming language has a "write once, run everywhere" feature. As more providers will add JSP support to their products, you can use your own choice of server and tools, change tools, or the server does not affect the current application. As with the Java 2 Platform, Enterprise Edition (J2EE) and Enterprise JavaBean technology integration time, JSP page will provide enterprise-class scalability and performance, which is for deployment in a virtual enterprise Web-based applications is required.
4. Technical Analysis
ASP technology is Microsoft's Active Server Page technology. From the form of JSP and ASP are very similar, ASP programmers will recognize a <%%> and <% =%,>. But go further explore the differences will find that many of them, most notably the following three points:
(1)JSP higher efficiency and security
ASP stored in source form, to explain the run, each call ASP pages need to be interpreted on the source, the efficiency is not high. In addition, IIS vulnerability has led many major exposure source site, including the author previously developed sites using ASP, ASP program all be downloaded to. Before the first in the implementation of JSP is compiled into byte code (byte code), byte code by a Java Virtual Machine (Java Virtual Machine) to explain the implementation, interpretation and efficient than the source; server also bytecode Cache mechanism will byte code to improve access efficiency. The first call JSP page may slightly slower, because it is compiled into Cache, after the faster too. Meanwhile, JSP source code is unlikely to be downloaded, especially JavaBean procedures can not put the external directory.
(2)JSP component (Component) method is more convenient
ASP via COM to expand the complex functions such as file upload, send email, and the business process or complex calculations separated into independent reusable modules. JSP JavaBean achieved through the expansion of the same features. In development, COM development complex and cumbersome than the JavaBean, ASP is not difficult to learn, but learn to develop COM to be. The JavaBean much easier, from the previously mentioned examples can be seen easily JavaBean development. In maintenance, COM must be registered on the server, if the revised COM program, you must re-register, and even to shut down and restart. JavaBean do not need to register on the CLASSPATH includes the directory on the line. If the JavaBean was modified, then the Tomcat JSWDK and now need to close and re-run (but not off), but the developers have promised to do in later versions do not need to shut down the server. Another JavaBean is complete OOP, can function for different business processes to establish a set of easily reusable object library, such as user access control, email auto-reply, etc..
(3) JSP wider adaptation platform
ASP is only available for NT and IIS. Although plug-ins ChiliSoft under Unix to support ASP, but their function is limited ASP, ASP + COM must be through a combination of expansion, Unix COM under very difficult to achieve.
中文译文
在万维网短暂的历史中,万维网已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。
附录A:源程序代码
public class GuaHaoDelectService
public void delect(String number)
String sql="delete guahao where G_number='"+number+"'";
LoginDao login=new LoginDao();
import com.fit.javabean.GuaHao;;
public class GuaHaoSelectService
public List select() throws SQLException
String sql="select *from guahao";
LoginDao login=new LoginDao();
cu.setNumber(rs.getString(2));
cu.setKename(rs.getString(7));
public List select1(String number,String name,String sex) throws SQLException
String sql="select *from guahao where 1=1";
if(number!=null&&!number.equalsIgnoreCase(""))
sql1=sql+" and G_number='"+number+"'";
if(name!=null&&!name.equalsIgnoreCase(""))
sql1=sql+" and G_name='"+name+"'";
if(sex!=null&&!sex.equalsIgnoreCase(""))
sql1=sql+" and G_sex='"+sex+"'";
LoginDao login=new LoginDao();
cu.setNumber(rs.getString(2));
cu.setKename(rs.getString(7));
public List select2(String number,String name,String keshi) throws SQLException
String sql="select *from guahao where 1=1";
if(number!=null&&!number.equalsIgnoreCase(""))
sql1=sql+" and G_number='"+number+"'";
if(name!=null&&!name.equalsIgnoreCase(""))
sql1=sql+" and G_name='"+name+"'";
if(keshi!=null&&!keshi.equalsIgnoreCase(""))
sql1=sql+" and G_ke='"+keshi+"'";
LoginDao login=new LoginDao();
cu.setNumber(rs.getString(2));
cu.setKename(rs.getString(7));
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
GuaHaoDelectService gua=new GuaHaoDelectService();
response.sendRedirect("GuaHaoXianServlet");
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
GuaHaoSelectService hao=new GuaHaoSelectService();
if(number==""&&name==""&&sex=="")
request.setAttribute("action", list);
request.getRequestDispatcher("index/GuaHaoSelect.jsp").forward(request, response);
List list1=hao.select1(number, name, sex);
request.setAttribute("action", list1);
request.getRequestDispatcher("index/GuaHaoSelect.jsp").forward(request, response);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String age=request.getParameter("age");
String kebie=request.getParameter("kebie");
String kename=request.getParameter("kename");
String keshi=request.getParameter("keshi");
GuaHaoService guahao=new GuaHaoService();
guahao.guahao(number, name, sex, age, kebie, kename, keshi);
List list=guahao.showguahao(number);
request.setAttribute("action", list);
request.getRequestDispatcher("index/GuaHaok.jsp").forward(request, response);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
GuaHaoUpdateService show=new GuaHaoUpdateService();
List list=show.showupdate(number);
request.setAttribute("action", list);
request.getRequestDispatcher("index/GuaHaoUpdate.jsp").forward(request, response);
public void delectcu(String number)
String sql1="delete chufang where C_number='"+number+"'";
String sql2="delete C_drug where D_number='"+number+"'";
import com.fit.javabean.CuFang;
public class CuSelectOneService
public List cuselect(String number,String name,String time) throws SQLException
String sql="select *from chufang where 1=1";
if(number!=null&&!number.equalsIgnoreCase(""))
sql1=sql+" and C_number='"+number+"'";
if(name!=null&&!name.equalsIgnoreCase(""))
sql1=sql+" and C_name='"+name+"'";
if(time!=null&&!time.equalsIgnoreCase(""))
sql1=sql+" and C_time='"+time+"'";
LoginDao login=new LoginDao();
cu.setC_number(rs.getString(2));
cu.setC_time(rs.getString(3));
cu.setC_name(rs.getString(4));
cu.setC_cost(rs.getString(7));
public void CuInsert(String C_name, String C_number,String C_time,String C_cost,
String C_sex,String C_age,String yao1,float numberz1,String yao2,float numberz2,
String yao3,float numberz3,String yao4,float numberz4,String yao5,float numberz5,
String yao6,float numberz6,String yao7,float numberz7,String yao8,float numberz8,
String yao9,float numberz9,String yao10,float numberz10,String yao11,float numberz11,
String sql1="insert into chufang values" +
"('"+C_number+"','"+C_time+"','"+C_name+"','"+C_sex+"','"+C_age+"','"+C_cost+"')";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
CuSelectService hao=new CuSelectService();
request.setAttribute("action", list);
request.getRequestDispatcher("index/CuDelect.jsp").forward(request, response);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String C_number=request.getParameter("C_number");
String C_time=request.getParameter("C_time");
//String number=request.getParameter("number");
String C_name=request.getParameter("name");
String C_sex=request.getParameter("sex");
String C_age=request.getParameter("age");
String yao1=request.getParameter("yao1");
String number1=request.getParameter("number1");
String yao2=request.getParameter("yao2");
String number2=request.getParameter("number2");
String yao3=request.getParameter("yao3");
String number3=request.getParameter("number3");
String yao4=request.getParameter("yao4");
String number4=request.getParameter("number4");
String yao5=request.getParameter("yao5");
String number5=request.getParameter("number5");
String yao6=request.getParameter("yao6");
String number6=request.getParameter("number6");
String yao7=request.getParameter("yao7");
String number7=request.getParameter("number7");
String yao8=request.getParameter("yao8");
String number8=request.getParameter("number8");
String yao9=request.getParameter("yao9");
String number9=request.getParameter("number9");
String yao10=request.getParameter("yao10");
String number10=request.getParameter("number10");
String yao11=request.getParameter("yao11");
String number11=request.getParameter("number11");
String yao12=request.getParameter("yao12");
String number12=request.getParameter("number12");
float numberz1=Float.valueOf(number1).floatValue();
float numberz2=Float.valueOf(number2).floatValue();
float numberz3=Float.valueOf(number3).floatValue();
float numberz4=Float.valueOf(number4).floatValue();
float numberz5=Float.valueOf(number5).floatValue();
float numberz6=Float.valueOf(number6).floatValue();
float numberz7=Float.valueOf(number7).floatValue();
float numberz8=Float.valueOf(number8).floatValue();
float numberz9=Float.valueOf(number9).floatValue();
float numberz10=Float.valueOf(number10).floatValue();
float numberz11=Float.valueOf(number11).floatValue();
float numberz12=Float.valueOf(number12).floatValue();
CuXianService cu=new CuXianService();
cu.CuInsert(C_name, C_number, C_time, C_cost, C_sex, C_age, yao1,
response.sendRedirect("CuXianServlet");}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
String name=request.getParameter("name");
String keshi=request.getParameter("keshi");
GuaHaoSelectService hao=new GuaHaoSelectService();
if(number==""&&name==""&&keshi=="")
request.setAttribute("action", list);
request.getRequestDispatcher("index/CuXian.jsp").forward(request, response);
List list1=hao.select1(number, name, keshi);
request.setAttribute("action", list1);
request.getRequestDispatcher("index/CuXian.jsp").forward(request, response);
import com.fit.javabean.ShouFei;
String sql1="update chufang set C_cost='已交费' where C_number='"+numberA+"'";
public List shoufei1() throws SQLException
String sql="select *from shoufei";
LoginDao login=new LoginDao();
cu.setS_number(rs.getString(2));
cu.setS_time(rs.getString(3));
cu.setS_name(rs.getString(4));
cu.setS_names(rs.getString(5));
cu.setS_money(rs.getFloat(6));
public void delect(String number)
String sql="delete shoufei where S_number='"+number+"'";
import com.fit.javabean.ShouFei;
public List cuselect(String number,String name,String time) throws SQLException
String sql="select *from shoufei where 1=1";
if(number!=null&&!number.equalsIgnoreCase(""))
sql1=sql+" and s_number='"+number+"'";
if(name!=null&&!name.equalsIgnoreCase(""))
sql1=sql+" and s_name='"+name+"'";
if(time!=null&&!time.equalsIgnoreCase(""))
sql1=sql+" and s_time='"+time+"'";
LoginDao login=new LoginDao();
cu.setS_number(rs.getString(2));
cu.setS_time(rs.getString(3));
cu.setS_name(rs.getString(4));
cu.setS_names(rs.getString(5));
cu.setS_money(rs.getFloat(6));
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
String name=request.getParameter("name");
String time=request.getParameter("time");
CuSelectOneService hao=new CuSelectOneService();
CuSelectService hao1=new CuSelectService();
if(number==""&&name==""&&time=="")
request.setAttribute("action", list);
request.getRequestDispatcher("index/SHSelect.jsp").forward(request, response);
List list1=hao.cuselect(number, name, time);
request.setAttribute("action", list1);
request.getRequestDispatcher("index/SHSelect.jsp").forward(request, response);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
CuSelectService hao=new CuSelectService();
request.setAttribute("action", list);
request.getRequestDispatcher("index/SHSelect.jsp").forward(request, response);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
String name=request.getParameter("name");
String time=request.getParameter("time");
SHSelectService hao=new SHSelectService();
if(number==""&&name==""&&time=="")
System.out.print("*****************"+list.size());
request.setAttribute("action", list);
request.getRequestDispatcher("index/SHSelectOne.jsp").forward(request, response);
List list1=hao.cuselect(number, name, time);
request.setAttribute("action", list1);
request.getRequestDispatcher("index/SHSelectOne.jsp").forward(request, response);
public void delectyao(int number1)
String sql="delete M_drug where M_number="+number1+" ";
public void updateyao(String name,String nei,String gui,String corporation,String liang,
String danwei,String money, String you, int number1)
String sql="update M_drug set M_name='"+name+"',M_nei='"+nei+
"',M_gui='"+gui+"',M_corporation='"+corporation+"',M_liang='"+liang+"',M_danwei='"+danwei+
"',M_money='"+money+"',M_you='"+you+"' where M_number="+number1+"";
public void xyinsert(String number,String time,String name,String shou,String beizhu)
String sql="insert into drug values('"+number+"','"+time+"','"+name+"','"+shou+"','"+beizhu+"')";
String sql1="update shoufei set S_nei='"+beizhu+"' where S_number='"+number+"'";
import com.fit.javabean.ShouFei;
import com.fit.javabean.YaoPin;
public class XYYaoInsertService
public List yaopin() throws SQLException
String sql="select *from M_drug";
LoginDao login=new LoginDao();
cu.setCorporation(rs.getString(5));
cu.setDanwei(rs.getString(7));
public List yaopin1(int number1) throws SQLException
String sql="select *from M_drug where M_number="+number1+"";
LoginDao login=new LoginDao();
cu.setCorporation(rs.getString(5));
cu.setDanwei(rs.getString(7));
public List xyselect(String number,String name,String nei,int number1) throws SQLException
String sql="select *from M_drug where 1=1";
if(number!=null&&!number.equalsIgnoreCase(""))
sql1=sql+" and M_number="+number1;
if(name!=null&&!name.equalsIgnoreCase(""))
sql1=sql+" and M_name='"+name+"'";
if(nei!=null&&!nei.equalsIgnoreCase(""))
sql1=sql+" and M_nei='"+nei+"'";
LoginDao login=new LoginDao();
cu.setCorporation(rs.getString(5));
cu.setDanwei(rs.getString(7));
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number=request.getParameter("number");
String name=request.getParameter("name");
String nei=request.getParameter("nei");
XYYaoInsertService hao=new XYYaoInsertService();
if(number==""&&name==""&&nei=="")
System.out.print("*****************"+list.size());
request.setAttribute("action", list);
request.getRequestDispatcher("index/XYYaoXian.jsp").forward(request, response);
List list1=hao.xyselect(number, name, nei, number1);
request.setAttribute("action", list1);
request.getRequestDispatcher("index/XYYaoXian.jsp").forward(request, response);
int number1=Integer.parseInt(number);
List list1=hao.xyselect(number, name, nei, number1);
request.setAttribute("action", list1);
request.getRequestDispatcher("index/XYYaoXian.jsp").forward(request, response);
public void delect(String number)
String sql="delete from user1 where username1='"+number+"' ";
public void delect1(String number1)
String sql="delete from C_user1 where username1='"+number1+"' ";
public void delect2(String number2)
String sql="delete from S_user1 where username1='"+number2+"' ";
public void delect3(String number3)
String sql="delete from Y_user1 where username1='"+number3+"' ";
public void insert(String username,String password)
String sql="insert into user1 values('"+username+"','"+password+"')";
public void insert1(String username,String password)
String sql="insert into C_user1 values('"+username+"','"+password+"')";
public void insert2(String username,String password)
String sql="insert into S_user1 values('"+username+"','"+password+"')";
public void insert3(String username,String password)
String sql="insert into Y_user1 values('"+username+"','"+password+"')";
import com.fit.javabean.ZGuan;
public List guahao() throws SQLException
String sql="select *from user1";
LoginDao login=new LoginDao();
cu.setUsername(rs.getString(2));
cu.setPassword(rs.getString(3));
public List chufang() throws SQLException
String sql="select *from C_user1";
LoginDao login=new LoginDao();
cu.setC_username(rs.getString(2));
cu.setC_password(rs.getString(3));
public List shoufie() throws SQLException
String sql="select *from S_user1";
LoginDao login=new LoginDao();
cu.setS_username(rs.getString(2));
cu.setS_password(rs.getString(3));
public List yaopin() throws SQLException
String sql="select *from Y_user1";
LoginDao login=new LoginDao();
cu.setY_username(rs.getString(2));
cu.setY_password(rs.getString(3));
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ZMangeService hao=new ZMangeService();
request.setAttribute("action", list);
request.setAttribute("action1", list1);
request.setAttribute("action2", list2);
request.setAttribute("action3", list3);
request.getRequestDispatcher("index/ZGuan.jsp").forward(request, response);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String zhong=request.getParameter("zhong");
String username=request.getParameter("username");
String password=request.getParameter("password");
ZInsertService hao=new ZInsertService();
if(zhong.equalsIgnoreCase("1"))
{hao.insert(username, password);
if(zhong.equalsIgnoreCase("2"))
{hao.insert1(username, password);
if(zhong.equalsIgnoreCase("3"))
{hao.insert2(username, password);
if(zhong.equalsIgnoreCase("4"))
{hao.insert3(username, password);
response.sendRedirect("ZGuanServlet");
附录B:系统使用说明书
开发环境:Windows XP 、SQL server 2000
2)启动IE浏览器,在地址栏中输入“http://localhost:8080/Hospital”,进入主界面。
3)点击挂号管理,输入该模块的密码(lihaijin,123456),进入界面后对挂号信息进行录入,
4)点击处方管理,输入该模块的密码(lihaijin,123456),进入界面后点击挂号单查询查询所
要处理的病人并对其进行开处方操作,点击处方单查询即可查询你要找的处方以及详情查看。
5)点击药品查询,可以进行取药操作、药品基本信息录入、药品信息管理。
系统维护与系统的建立的过程一样重要。日常维护可以保持系统的良好运行。为此特制定维护计划:
基于java医院门诊管理系统设计相关推荐
- 基于JAVA医院门诊管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA医院门诊管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA医院门诊管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: 项目架构 ...
- 基于JAVA干洗店订单管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA干洗店订单管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA干洗店订单管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...
- 基于JAVA台球收费管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA台球收费管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA台球收费管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构 ...
- 基于java的快递物流查询系统_毕业论文-快递管理基于java的物流快递管理系统设计.doc...
毕业论文-快递管理基于java的物流快递管理系统设计 快递管理系统 毕业设计论文 题 目 快递管理系统 姓 名 王敏雪 所 属 系 数学与计算机科学 专 业 计算机科学与技术 班 级 07级计科三班 ...
- 基于JAVA的教师管理系统设计与开发
开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 基于Java的教室管理系统设计与开发 模块 ...
- 基于JAVA医院预约挂号系统设计与实现 开题报告
本科生毕业论文 基于Java医院预约挂号系统springboot框架 开题报告 学 院: 专 业: 计算机科学与技术 年 级: 学生姓名: 指导教师: XXXX大学本科生毕业 ...
- java输入输出图书管理系统设计_基于JAVA的图书管理系统设计(含源文件).doc
PAGE 本科毕业设计(论文) 题 目:基于Java的图书管理信息系统的设计和实现 院 系: 计 算 机 科 学 系 专 业: 计 算 机 科 学 与 技 术 姓 名: 陈 平 指导教师: 周 亚 凤 ...
- 【附源码】计算机毕业设计java医院门诊分诊系统设计与实现
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 【附源码】计算机毕业设计java医疗门诊管理系统设计与实现
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
最新文章
- spark streaming 接收 kafka 数据java代码WordCount示例
- 方法对象java final关键字的用法
- exception is the version of xbean.jar correct
- C#、VSTO讀取Excel類
- foreach 语句
- STM32 之十一 LL 库(low-layer drivers)详解 及 移植说明
- 七种分布式全局 ID 生成策略,你更爱哪种?
- Visual Studio Code 显示隐藏的.git文件和目录
- mybatis3的中文官方文档
- OpenWrt路由器设置万能中继及如何永久修改MAC地址
- Python参考文献
- 计算机轴测图绘图实验报告,Auto_CAD实验报告_轴测图.doc
- 软件开发平台之争:NET VS Java,谁是更好的选择?
- 《音乐达人秀:Adobe Audition实战200例》——实例6 麦克风说话和音乐播放等所有声音都混合录制...
- 生病还要被压榨,外包太惨了!
- OC中category(分类)中添加属性
- linux中giep命令作用,Linux查看硬件信息以及驱动设备的命令
- OPC UA - Open62541学习
- 轻松解决win10不能联网问题
- Java使用Poi填充Word表格模板(图片和文字)