文档库 最新最全的文档下载
当前位置:文档库 › 药品进销存管理系统(论文范文,JSP,JAVA,毕业设计)

药品进销存管理系统(论文范文,JSP,JAVA,毕业设计)

目录

摘要 .......................................................... - 3 -第一章绪论 .................................................... - 5 -1.1开发背景. (5)

1.2系统可行性分析 (6)

1.3技术分析 (6)

第二章系统分析与设计........................................... - 9 -2.1系统需求分析 (9)

2.2系统开发技术、环境、软件的选择 (11)

第三章数据库设计与实现........................................ - 12 -3.1MYSQL简介. (12)

3.2数据库需求分析 (12)

3.3数据库逻辑设计 (13)

3.4数据库结构创建 (13)

第四章系统详细设计............................................ - 15 -4.1JSP连接和打开数据库. (15)

4.2登录界面 (16)

4.3各项功能设计 (20)

第五章系统界面介绍............................................ - 26 -5.1管理员模块介绍 (26)

5.2普通用户功能介绍 (28)

第六章结论与展望.............................................. - 29 -致谢 ........................................................ - 30 -参考文献 ...................................................... - 31 -附录 .......................................................... - 32 -

图片清单

图1.1 B/S模式应用系统网络结构图................................. - 7 - 图1.2 C/S模式应用系统网络结构图................................. - 7 - 图2.1 系统功能模块图........................................... - 10 - 图3.1 药品图片实体E-R图....................................... - 13 - 图3.2 用户实体E-R图........................................... - 13 - 图3.3 用户、药品之间关系E-R图................................. - 13 - 图3.4 用户表 drug ............................................. - 14 - 图4.1 网站首页图............................................... - 16 - 图4.2 管理员主界面............................................. - 18 - 图4.3 普通用户主界面........................................... - 18 - 图4.4 药品修改................................................. - 21 - 图4.5 药品销售................................................. - 23 - 图4.6 密码修改................................................. - 23 - 图5.1 管理员登录界面........................................... - 26 - 图5.2登录后显示................................................ - 26 - 图5.3 药品信息................................................. - 26 - 图5.4药品修改.................................................. - 27 - 图5.5 删除药品................................................. - 27 - 图5.6 添加药品................................................. - 27 - 图5.7 修改密码................................................. - 27 - 图5.8 添加用户................................................. - 27 - 图5.9 普通用户登录............................................. - 28 - 图5.10 普通用户登录后显示...................................... - 28 - 图5.11 药品查询................................................ - 28 - 图5.12 药品销售................................................ - 28 - 图5.13 密码修改................................................ - 28 -

基于B/S模式药品进销存系统

摘要:本系统是基于JSP技术建立的药品进销存管理系统,其目标是完成医院对药品的进、销、存进行管理。

该药品进销存管理系统是针对医院医药管理方面而开发的一款以药品管

理为基础(涉及到药品的基本信息查询和管理,药品采购,药品销售,药

品存货等)的药品信息管理软件,它代替了汇总信息量繁冗、效率低下的

人工管理药品的方式,代替了查询、更新、维护更是困难重重的纸张登记

时代,以广泛的调查为基础,最大程度上满足使用需求,同时辅助于其他

自定义管理的医院管理系统来提升医院的管理水平,优化资源,尽可能降

低成本,统筹安排以实现最大效益化,真正意义上的实现了管理的科学化、高效化。系统采用JSP技术,以Tomcat为服务器、MySQL为数据库系统,

建立了一个基于B/S模式的药品进销存管理系统。

全文分为五章,按照软件工程的流程,详细地介绍了系统设计及开发的过

程。第一章绪论,介绍了系统开发背景、可行性分析和采用的技术;第二

章系统设计与分析,包括系统的需求分析、设计思想、功能设计;第三章

数据库设计与实现,包括数据库的需求分析、逻辑设计及其数据表结构创

建;第四章系统详细设计,详细介绍了各功能的编码设计和实现,讨论了

系统编码中的难点和重点问题;第五章系统界面介绍,详细的介绍了系统

每个功能页面的内容与操作。

关键词:JSP;数据库;B/S模式;进销存

Based on B / S model drugs Invoicing System

Abstract:The system is based on JSP technology to build a pharmaceutical inventory management system, its goal is to complete the progress of medicine

hospitals, sales and stock management.

Inventory management system is the drug for the management of hospital

medicine and the development of a basis for drug administration (basic

information related to drug inquiry and management, drug procurement,

drug sales, drug inventory, etc.) of drug information management software,

It replaces the cumbersome summary of information, inefficient way of

manual management of drugs, instead of the query, update and maintain the

registration of paper even more difficult times, to extensive investigation,

based on the maximum extent to meet the application needs, while

supporting the other custom management system to improve hospital

management hospital management, optimize resources, reduce costs as

much as possible to co-ordinate arrangements to achieve the maximum

benefit of the true sense of the realization of the management of scientific

and efficient. System uses JSP technology to Tomcat for the server, Mysql

database system, the establishment of which is based on B / S model drug

inventory management system.

Paper is divided into five chapters, in accordance with the software

engineering process, detailed description of the system design and

development process. The first chapter introduces the background of system

development, feasibility analysis and the use of technology; Chapter II

system design and analysis, including system requirements analysis, design,

functional design; database design and implementation of Chapter III,

including demand analysis database , logic design and structure of the table

to create; IV system detailed design, detailed design of each function and

implementation of the coding system is discussed in the difficult and key

code issues; fifth chapter describes the system interface, described in detail

system for each function and operation of the contents of the page. Keywords: JSP; database; B / S mode; Invoicing

第一章绪论

Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。

近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。Web数据库在新的Internet环境中发生了很大的变化。就应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。随着国内高校校园网的建设的追捕完善,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。

1.1 开发背景

随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。进销存管理是医药行业管理中的重要部分,面对大量的药品进销存信息,采用人力畜力将浪费大量时间,人力和物力,并且数据准确性低,数据汇总速度慢,所以针对医药行业由于每天销售量很大,呆账,错帐时有发生且常出现开“空单”的现象,开发一个界面友好,易于操作的进销存软件成为医药企业的首选。通过计算机对企业信息流通过程中的数据进行自动化管理是开发本系统的主要目的。

1.课题研究内容和意义

随着社会的发展,越来越多的医院都将普及计算机和网络的应用。众所周知,医院的药品管理通常都比较繁琐,需要耗费大量的人力、物力资源,考虑到降低成本、提高医院的管理水平,此次设计的药品进销存管理系统能够基本实现医院对此方面的需求,其将实现以下功能:

课题主要研究以下内容:

(1)掌握采用Internet的TCP/IP协议,以B/S方式,JSP编程技术。

(2)掌握一种多任务多用户操作系统。

(3)JSP的动态网页和MYSQL 数据库。

(4)学会使用几种开发工具。

2.课题主要工作

本文以开发一套药品进销存管理系统为例,详细的说明了一个系统的开发过程和所涉及到的问题及解决方法。本文中所做的主要工作如下:

(1)掌握Windows XP+Myeclipse+JSP+Tomcat系统的一般原理;

(2)阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;

(3) 设计实现用户登录、药品查询、药品添加、药品销售等JSP页面;

(4) 分析并解决实现中的若干技术问题;

(5) 建立完整的药品进销存管理系统,进行测试并分析结果。

1.2 系统可行性分析

(1)技术可行性

本设计在windows xp系统中采用现在较流行的JSP编程语言设计,采用MySQL 建立药品信息数据库, 利用Tomcat服务器运行程序,以及JDBC技术访问数据库。对于软件技术要求,现在的程序设计语言已非常成熟,采用B/S模式,利用JSP 技术,使用MySQL中提供的数据库。所以在技术上完全可行。

(2)经济可行性

当前许多中小型药房都使用人工管理方式(即纸和笔)来管理药品的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小药房应该向大型企业那样采用先进的管理方式,提高药房效率、降低运营成本。

(3)操作可行性

界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。所以系统操作上完全可行。

1.3 技术分析

本系统结构为B/S模式,采用JSP技术。网页制作技术采用HTML,采用JavaScript和CSS技术,使得操作方便、快捷,而且界面美观、大方。

1.B/S和C/S模式

1)两种模式的简介:

B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet 技术的兴起,对C/S模式应用的扩展。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问

和操作共同的数据;最大的缺点是对企业外部网络环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。典型的B/S模式应用系统网络结构如图1.1所示。

C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种,为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是据有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。C/S模式简单地讲就是基于企业内部网络的应用系统。与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。典型的C/S模式应用系统网络结构如图1.2所示。

图1.1B/S模式应用系统网络结构图图1.2C/S模式应用系统网络结构图

2)两种模式的比较:

(1)投入成本比较:

B/S结构软件一般只有初期一次性投入成本,而C/S结构的软件则不同,随着应用范围的扩大,投资会连绵不绝。

(2)硬件投资保护比较:

应用范围扩大,系统负载上升时,C/S结构软件的一般解决方案是购买更高级的中央服务器,原服务器放弃不用,这是由于C/S软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而B/S结构则不同,随着服务器负载的增加,可以平滑地增加服务器的个数,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。

(3)数据安全性比较:

由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、病毒、等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于

其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。

(4)数据一致性比较:

在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。

(5)服务响应及时性比较:

C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即"休克更新"),其服务响应时间基本不可忍受。而B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。

(6)网络应用限制比较:

C/S结构软件仅适用于局域网内部用户或宽带用户(1M以上);而B/S结构软件可以适用于任何网络结构(包括28.8K拨号入网方式),特别适于宽带不能到达的地方(例如双汇集团的某些分公司,仅靠电话上网即可正常使用软件系统)。

2.JSP技术

JavaServer Pages技术(JSP)是太阳微系统公司(Sun Microsystems Inc.)在Web服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对Java编程环境(例如Java Servlets和JavaBeans)进行支持的技术和工具后产生的一种新的、开发基于Web应用程序的方法。

JSP动态网站开发技术主要有以下一些特点:

1、能够在任何Web或应用程序服务器上运行;

2、分离了应用程序的逻辑和页面显示;

3、能够进行快速的开发和测试;

4、简化了开发基于Web的交互式应用程序的过程。

第二章系统分析与设计

本章主要从系统的目标设计、功能设计和设计思想等几个方面阐述了系统的需求分析,最后通过需求分析给出了系统功能模块设计与开发的环境、技术和工具。

2.1 系统需求分析

系统需求分析是系统分析和设计的一个重要阶段,他对系统提出了完整、准确、清晰、具体的要求。

1.需求概述

系统主要完成药品进销存管理系统的各项功能。管理可以对密码进行修改,查询药品信息,对新进药品进行添加操作;普通用户可以查询药品相关信息,通过输入要销售的药品编号来对药品的销售进行管理。

(1)运行环境:

系统基本运行环境为Windows环境,安装Myeclipse,安装tomcat 6.0,安装MYSQL ,配置好JDBC,即可在浏览器下可以浏览。

(2)条件与限制:

由于系统较小,且在Windows系统下开发,故在Windows环境下基本没有什么限制,只要运行环境配置正确即可。

2.系统设计目标

本系统主要完成以下功能:

(1)管理员可以通过登录界面输入用户名和密码进行身份验证后登录主页面,

可以对密码进行修改,查询药品信息,对新进药品进行添加操作,通过输入药品编号对已经入库的药品进行修改操作。

(2)普通用户通过登录界面输入用户名和密码进行身份验证后登录主页面,

可以查询药品相关信息,通过输入要销售的药品编号来对药品的销售进行管理,查询相关的信息,以及药品的剩余量。

3.系统功能需求

根据系统设计目标,本系统有两种角色:管理员、普通用户。每个角色对应一个模块,因此从功能上可以分为对应的俩个模块,每个模块实现对应角色的功能。具体功能模块图如图2.1示。

图2.1系统功能模块图

4.系统设计思想

系统采用B/S模式。以数据库服务器、WEB服务器、客户浏览器构成一个三层的B/S模式体系,具体编程技术选用JSP。

为什么采用B/S模式呢?从第一章绪论中1.3节C/S和B/S模式的介绍中,我们可以很容易得出本系统采用B/S模式比较好。本系统应用主要针对现代社会需求设计,考虑到医院的药品数量较多,而B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据,因此系统更适合用B/S模式构建。另外从投入成本比较、硬件投资保护比较、数据安全性比较、数据一致性比较、服务响应及时性比较、网络应用限制比较等方面也很容易得出就此系统而言B/S 模式比C/S模式优越。

选用JSP的原因很多,主要有以下几个方面:

(1)JSP通过JDBC(Java DataBase Connectivity),即JAVA数据库连接技术,可以造JAVA应用程序中与关系型数据库建立连接,并执行相关操作,它提供了程序开发人员实时存取各类数据库(如Access、Oracle、SQL Server)的能力,可以轻松地完成对各类数据库的查询,存取等操作。

(2)在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

(3)由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

(4)使用普通的文本编辑器即可进行编辑设计,无须编译,容易编写,可在服务器端直接执行。

2.2 系统开发技术、环境、软件的选择

做好系统需求分析之后,我们应该选择系统开发的环境和合适的技术去实现系统的功能,还要选择好合适的支持该技术的软件工具。

1.开发技术

网页开发离不开HTML技术,HTML制作静态的网页的框架和页面,再加上CSS 技术和JavaScript这样的脚本语言,使得网页漂亮、个性。

因为系统采用B/S模式,因此必须选择一种网页编程技术,像JSP,PHP,ASP 这样的技术。因为JSP技术有很多优点(在1.3 JSP技术中已经介绍),因此选择JSP技术为网页编程。

系统是要和数据库连接的,因此考虑数据库技术。采用JSP技术,部署好服务器,配置好ODBC(Open Database Connectivity,开放数据库互连)的DSN,就可以通过编程控制数据库的数据管理。

2.JSP的开发工具和运行环境及配置方案

1)JSP的开发工具:

(1)jdk1.5.exe

(2)tomcat 6.0

(3)myeclipse

(4)数据库mysql

(5)辅助工具:MySQL-Front Dreamweaver

2)JSP的运行环境

(1)JSP系统运行的系统环境是Windows 98/ME/2000/XP

(2)J2SDK:Java2的软件开发工具,是Java应用程序的基础。JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK。

(3)Tomcat服务器:Apache组织开发的一种JSP引擎,本身具有Web服务器的功能,可以作为独立的Web服务器来使用。但是,在作为Web服务器方面,Tomcat 处理静态HTML页面时不如Apache迅速,也没有Apache健壮,所以我们一般将Tomcat与Apache配合使用,让Apache对网站的静态页面请求提供服务,而Tomcat 作为专用的JSP引擎,提供JSP解析,以得到更好的性能。并且Tomcat本身就是Apache的一个子项目,所以Tomcat对Apache提供了强有力的支持。对于初学者来说,Tomcat是一个很不错的选择。

(4)MySQL:作为本次系统开发的主要数据库。没有数据库的支持,JSP系统将无法运行。它是系统开发的基本工具。

3)JSP环境的配置方案

采用J2SDK+Tomcat,在这种方案里Tomcat既作为JSP引擎又作为Web服务器,配置比较简单。

第三章数据库设计与实现

本章简单介绍了MYSQL ,然后着重阐述了数据库的需求分析,逻辑设计及优化和数据库表的创建,详细地介绍了系统数据库的分析、设计及其实现的过程。

3.1 MYSQL 简介

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun 公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL数据库主要有以下特点。

1、可移植性

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。

2、可扩展性和灵活性

MySQL可以支持UNIX、Linux和SUNOS以及Windows等多种操作系统平台。在一个操作系统中实现的应用可以很方便地移植到其他操作系统。MySQL作为开源性质的数据库服务器,可以为那些想要增加独特需求的用户提供完全定制的功能。

3、强大的数据保护功能

MySQL有一个非常灵活且安全的权限和密码系统。为确保只有获授权用户才能进入该数据库服务器,所有的密码传输均采用加密形式,同时也提供了 SSH和SSI。支持,以实现安全和可靠的连接。MySQL强大的数据加密和解密功能,可以保证敏感数据不受未经授权的访问。

4、支持大型的数据库

虽然对于用PHP编写的网页来说,只要能够存放数百条以上的记录数据就是够了,但MySQL可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySQL可以针对不同的应用进行相应的修改。

5、超强的稳定性

MySQL拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用而不必担心其稳定性。线程是轻量级的进程,它可以灵活地为用户提供服务,而不占用过多的系统资源。用多线程和C语言实现的MySQL能很容易地充分利用CPU。

6、强大的查询功能

MySQL支持查询的select和where语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷、方便。

3.2 数据库需求分析

系统中的实体有:药品、用户。

关系有:管理员或普通用户管理药品。

(1)药品实体E-R图如图3.1示。

(2) 用户实体E-R图如图3.2示。

(3)用户和药品之间关系的E-R图。

用户和药品之间是1对n的管理关系,也就是说一名用户可以管理多个药品;而一种药品也可以被管理员和普通用户两种用户管理。E-R图如图3.3示。

图3.1药品图片实体E-R图

图3.3用户、药品之间关系E-R图图3.2用户实体E-R图

3.3 数据库逻辑设计

数据库的逻辑设计就是把E-R图转化为所选用DBMS产品所支持的数据模型。本系统数据库系统为MYSQL ,因此将E-R模型转化为关系数据模型即可。

由图3.1中E-R模型可得到以下关系模式(以下关系模式中下划线表示主键):药品(药品编号,药品通用名,药品化学名,批准文号,产品类别,剂型,规格,专利号,成分,用法用量,主治功能,生产厂家,进价,售价,数量,生产日期,过期日期,采购负责人,售出负责人,有效期);

用户(用户ID,用户名,密码,用户类型);

3.4 数据库结构创建

数据库采用MYSQL,通过SQL语句在MySQL Command line client中可以方便的建立数据库以及数据表,也可以通过MySQL-Front建立数据库及数据表。分别建立药品信息表(drug)、用户表(user)。

下边仅以创建用户表为例:(在MySQL Command line client中输入)

CREATE TABLE `user` (

`user_id` char(6) NOT NULL COMMENT '用户ID',

`user_name` char(10) NOT NULL COMMENT '用户名称',

`user_password` char(6) NOT NULL COMMENT '用户密码',

`user_type` char(8) NOT NULL COMMENT '用户类型',

`user_else` char(50) DEFAULT NULL,

PRIMARY KEY (`user_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

创建后表的结构如右边图3.4所示。用户表存用户编码、用户名、密码、用户类型。

药品信息表存贮药品编码、药品通用名、进价、售价、售出人等信息。

图3.4用户表 DRUG

第四章系统详细设计

本章详细介绍了系统的编码实现过程。按照功能模块分别介绍了管理员模块和普通用户模块的设计,着重介绍了系统编码实现中的难点和重点。

4.1 JSP连接和打开数据库

JSP和数据库连接有多种方式。本系统采用JDBC连接数据库,通过DriverManager 类连接数据源。DriverManager的类路径为java.sql.DriverManager,它主要完成驱动程序的装载和建立新的数据库连接。java.sql.DriverManager的常用方法如下:

1.getConnection(String URL):参数URL表示数据库链接地址,该方法输出Connection对象。

2.getConnection(String URL,String username,String password):参数URL表示数据库连接地址,参数username表示登录数据库用户名,参数password 表示登录数据库口令。该方法输出Connection对象。

在MyEclipse中新建web工程,选择JavaEE5.0规范,工程名为jdbc.将JDBC 驱动mysql-connector-java-5.0驱动包复制到D:\medicine\WebRoot\WEB-INF\lib目录下。在该工程中新建包,包名为common。在包中新建一个Java类,类名为ConnectToDb,在类中编写以下代码:

package common;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class ConnectToDb {

private Connection conn = null;

private String dburl = "jdbc:mysql://localhost:3306/medicine?user=root&password=root&useUnicode=true&c haracterEncoding=GBK";

private String dbdriver = "com.mysql.jdbc.Driver";

public ConnectToDb() {

try {

Class.forName(dbdriver);

} catch (ClassNotFoundException cnfe) {

System.out.println(cnfe.getMessage());

}

}

protected Connection getConn() {

try {

conn = DriverManager.getConnection(dburl, "root", "123");

} catch (SQLException sqle) {

System.out.println(sqle.getMessage());

}

return conn;

}

}

在MyEclipse中运行该类,即可连接上数据库。

4.2 登录界面

本系统首页界面为登录界面,登陆界面主要是2个文本框分别输入用户名和密码,一个下拉框选择登陆类型,首页界面如图4.1示。

界面JSP程序如下示。

<%@page contentType="text/html;charset=utf-8" language="java" import="java.sql.*" errorPage="" %>

content="text/html; charset=utf-8"

/>

药品信息管理系统-管理首</p><p>页

method="post" action="login">

class="STYLE13">药品信息管理

系统

图4.1网站首页图

/>





*用户登录*
用户名
*6个字符
密码
*6个字符
类型
*用户类型

 

Copyright© 万成凤 tel:182********

1.管理员登录后主界面

管理员主界面包括药品信息修改、查询、添加、删除、添加用户等图标。首页

界面如图4.2示。

2.用户登录后主界面

用户主界面包括药品信息查询、销售、删除、修改密码。首页界面如图 4.3示。

3.登陆服务器访问验证

先读取用户提交的用户名、密码和用户类型,并且去掉空格,然后对密码进行加密。根据用户类型在对应的表中查找是否有符合的数据,没有查找到就给用户提示,返回首页,以便用户重新登陆。如果找了符合的数据,设置session(“username ”)为用户名,session("user")为用户姓名,根据用户登录类型设置session("pass")。 package servlet.login; import java.io.*; import javax.servlet.*;

图4. 3 普通用户主界面

图4. 2 管理员主界面

import javax.servlet.http.*;

import java.sql.ResultSet;

import java.sql.SQLException;

import https://www.wendangku.net/doc/3618335378.html,er;

import common.*;

public class Login extends HttpServlet {

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

this.doPost(req, resp);

}

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

req.setCharacterEncoding("GBK");

resp.setCharacterEncoding("UTF-8");

resp.setContentType("text/html;charset=UTF-8");

PrintWriter out = resp.getWriter();

HttpSession session = req.getSession();

String user_id = req.getParameter("user_id");

String password = req.getParameter("password");

String type = req.getParameter("type");

if ("".equals(user_id) || null == user_id) {

out.println("用户ID为空!");

resp.setHeader("Refresh", "1;URL=index.JSP");}

else {

if ("".equals(password) || null == password) {

out.println("用户密码为空!");

resp.setHeader("Refresh", "1;URL=index.jsp");

}

else {

OperateDB opdb = new OperateDB();

StringBuffer sql = new StringBuffer("SELECT * FROM user "

+ "WHERE user_name = '" + user_id + "' AND "

+ "user_type='" + type + "' AND user_password='"

+ password + "'");

ResultSet rs = opdb.executeQuery(sql.toString());

try {

if (rs.next()) {

User user = new User();

user.setUser_id(rs.getInt(1));

user.setUser_name(rs.getString(2));

user.setUser_password(password);

user.setUser_type(type);

user.setUser_else(null);

if(user.getUser_type().equalsIgnoreCase("common")){

user.setUser_type("普通用户");

}

else{

user.setUser_type("超级用户");

}

session.setAttribute("user",user);

session.setAttribute("user_id", user_id);

resp.sendRedirect("user/loginsuccess.jsp");

}

else {

out.println("");

resp.setHeader("Refresh", "2;URL=index.jsp");

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

}

使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用 Session 方法显式地结束一个会话和设置空闲会话的超时期限。

4.3 各项功能设计

1.管理员功能模块设计

管理员可以通过登录界面输入用户名和密码进行身份验证后登录主页面,可

相关文档
相关文档 最新文档