基于JSP药店管理系统论文Word文件下载.docx
《基于JSP药店管理系统论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于JSP药店管理系统论文Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
![基于JSP药店管理系统论文Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/12/bdff1277-1853-4b5b-86af-eca2ab4290a2/bdff1277-1853-4b5b-86af-eca2ab4290a21.gif)
如何尽快建立和完善现代企业的信息化管理机制问题,已成为药品经营企业发展的关键所在。
计算机基于语言基础融合了强大的数据库开发能力是一种非常好的数据开发工具。
事实证明,计算机在管理体系的应用,使数据管理更现代化,自动化,智能化;
减轻了人工管理的工作量,使其变得更具有条理性,科学性,为解决医药管理行业的各种问题做出了巨大的贡献。
1.4可行性分析
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。
1.4.1经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
1.4.2技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本网站用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
本系统的开发,是典型的Mis开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。
采用流行的JSP+SQLSERVER2000体系,已无技术上的问题。
1.4.3运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。
当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
1.4.4时间可行性
从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。
1.4.5法律可行性:
①所有技术资料都为合法。
②开发过程中不存在知识产权问题。
③未抄袭任何网站,不存在侵犯版权问题。
④开发过程中未涉及任何法律责任。
综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。
2、相关技术简介
2.1JSP技术简介
JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。
由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。
在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。
JSP技术为创建显示动态生成内容的web页面提供了简便的方法。
JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
2.2JSP工作原理
JSP是面向服务器的,因此支持任何浏览器。
当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。
JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。
这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。
因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。
2.3JSP体系结构
JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。
模式一:
JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。
Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。
当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。
所以模式一可用于小型应用,不能够满足大型应用的需要。
模式二:
JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。
从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。
而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。
2.4JSP的特点
1.简化的页面生成技术。
JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。
这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。
2.与Java平台有机集成。
JSP技术是Java2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。
在JSP页面中可以使用几乎所有的Java组件和JavaAPI,这就能充分发挥出Java语言的强大功能。
使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。
3.硬件平台和服务器无关性。
JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(WriteOnce,RumAnywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
4.功能可扩展性。
如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(EnterpriseJavaBean)以及自定义的标记来扩展功能。
JSP可以通过JDBC,与诸如Oracle、SQLServer这样的大型关系数据库进行连接。
JSP提供了一些隐含对象。
这些隐含对象在JSP页面中可以直接引用,而不必首先声明。
利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。
例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。
2.5SQLSERVER2000数据库
SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。
SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;
1998年,SQLServer7.0版本和用户见面;
SQLServer2000是Microsoft公司于2000年推出的最新版本。
SQLServer特点:
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。
SQLServer也可以很好地与MicrosoftBackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
2.6系统数据库连接
JDBC技术是JavaDataBaseConnectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(ApplicationProgrammingInterface)。
它由一组用Java语言编写的类和接口组成。
通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。
因此,开发人员使用JDBCAPI可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQLServer。
不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。
简单地说,JDBC能完成下列三件事:
1.同一个数据库建立连接;
2.向数据库建立连接;
3.处理数据库返回的结果。
JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。
说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。
很多可视化的Java开发工具,如VisualAgeForJava、VisualCafé
、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。
另一种使用JDBCAPI的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。
通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。
数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。
图5.1使用中间件的数据库访问三层结构
用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。
这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。
本系统采用的正是这样的三层结构的数据库访问模式。
在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。
数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。
其模型如图5.2所示。
图5.2JDBC的三层模型
因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。
所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。
JDBC是JAVA应用程序与数据库的沟通桥梁。
它提供了三项服务功能:
一、与数据库建立连接。
二、将SQL语句传递给数据库。
三、从数据库取得SQL语句的执行结果。
当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。
建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(JavaVirtualLMachine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。
完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。
此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。
当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。
Statement主要实现两个功能:
执行SQL语句以及取得执行结果。
在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。
每个Statement对象只能产生一个ResultSet对象。
数据库连接如图5.3所示:
图5.3数据库的连接处理
数据库的连接处理具体实现如下:
//建立JDBC——ODBC桥
sun.jdbc.odbc.JdbcOdbcDriver;
//桥建立不成功时的错误处理
catch(ClassNotFoundExceptionevent){}
//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中
Con=建立JDBC——ODBC桥
Sql=SQL查询语句
执行查询
Rs=返回结果
//SQL出错处理
catch(SQLExceptione1){}
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。
随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。
MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。
企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。
新程序的开发期很短。
安装和版本控制将大为简化。
程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。
对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。
简单地说,JDBC可做三件事:
与数据库建立连接、发送SQL语句并处理结果。
下列代码段给出了以上三步的基本示例:
Connectioncon=DriverManager.getConnection("
jdbc:
odbc:
wombat"
,"
login"
,
"
password"
);
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("
SELECTa,b,cFROMTable1"
while(rs.next()){
intx=rs.getInt("
a"
Strings=rs.getString("
b"
floatf=rs.getFloat("
c"
}
上述代码对基于JDBC的数据库访问做了经典的总结。
3、需求分析
3.1数据库设计
(1)数据库完整性--建立完整的数据库,将药店的业务详细记录。
(2)数据库安全性--设置密码,权限访问。
(3)数据库备份--以免数据意外丢失。
3.2页面设计
随着网站设计的客户友善度的不断提升,使得界面成为网站设计的一大宠儿,好的界面设计可以给用户很高的视觉享受和友好暗示。
3.3业务流程图
(1)企业的经营者对工作人员的管理
(2)采购员对库存的管理
(3)购药管理
3.4需要解决的问题
利用先进适用的计算机技术和网络通信技术,对药品、员工和消费者进行合理的管理,方便消费者,降低复杂繁琐的销售过程和药品管理过程,降低成本,提高综合经济效益。
4、概要设计
4.1基本思路
充分利用现有网络的软硬件资源,应用WEB的开放式技术,建立药品管理系统的基本目标就是为药品管理提供一种交互、开放、易用的环境,为开发应用药品管理提供丰富高效的技术手段及其软件工具。
围绕实现这个目标,应用平台的开发设计必须突出坚持技术手段相为主的主体性要求;
既要立足当今先进技术,又要考虑未来技术发展的前瞻性要求;
最大限度地适应于各种软硬件环境,兼顾不同学科的教学特点,适用于不同水平用户群的通用性要求;
以尽可能低廉的投入而获得尽可能高效的经济性要求。
4.2基本思想
在总体结构上采用三层B/S结构:
各类药品信息在服务器一端,采取数据库统一存放和组织,用户在客户机一端,无须任何配置工作,只须使用浏览器向服务器代理提出访问请求,服务器审核后通过中间控件与后台数据库链接,把请求服务的信息通过浏览器反馈给用户。
4.3功能模块图
本系统的模块划分如下图所示
要能够实现药品录入,药品销售,库存统计,客户资料,员工管理,等功能。
(1)药品管理:
对药品进行录入管理,包括药品名称、产地、价格等;
销售方面包括对药品的出售、退货、调货等进行管理,同时包括金额管理
(2)库存管理:
对药品的数量、存放时间、有无溢惑缺货等进行管理和统计。
(3)客户管理:
对不同的客户类型,针对不同的管理,包括个人信息,添加、查看等。
(4)员工管理:
对员工的资料进行统计、工资状况、工作时间等。
4.4处理流程设计
4.4.1系统操作流程图
4.4.2数据增加流程
添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行