java毕业设计——基于java+JSP+MySQL的健身俱乐部会员管理系统设计与实现(毕业论文+程序源码)——健身俱乐部会员管理系统

基于java+JSP+MySQL的健身俱乐部会员管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于java+JSP+MySQL的健身俱乐部会员管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 设计与实现信息管理系统要根据俱乐部对顾客及其员工管理的实际情况来设计。能更好的方便俱乐部对顾客、员工和健身设备进行集中的管理工作。本信息管理系统包括的功能为:修改登录密码、工作人员管理、会员卡类型管理、会员资料管理、健身器材管理、教练执教管理、安全退出系统。
  2. 本系统的发展适和了健身俱乐部的自动管理需求,经过对现实的需求探讨,本系统采用了JSP和MySQL数据库管理系统作为基础工具进行开发。运用了B/S的3层结构模式和瑞典MySQL AB公司开发的MySQL数据库,并在设计初期。首先,完成了数据库系统的搭建,在设计中录入了一些数据;其次,完成了数据库、开发环境软件和运行环境软件的衔接并最终实现了本系统的运行。JSP拥有Java语言“一次性编写,各处都能运行”的特点,用JSP为基础做成的这套俱乐部管理系统可以轻松移植到任何的平台进行运行。所以用JSP来开发是完全可行的。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:28015个字67页
包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图


3、关键词:

健身中心,JSP,B/S结构

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

第一章 绪论
省略

开发该健身俱乐部信息管理系统的目的是使健身俱乐部的工作效率得到提高。只要根据俱乐部对顾客及其员工管理的实际情况来设计就能更好的方便俱乐部对顾客、员工和健身设备进行集中的管理工作。

1.1 课题背景
省略

1.2 课题研究的目的和意义
省略

我们可以借鉴己开发软件的优点,根据实际需求调查,在此基础上开发出功能较为完善的基于Web的网络管理系统,JSP是在ASP和PHP技术之后,一种新兴的动态网站开发技术,它不像ASP技术的安全性较差,也不像PHP技术扩展性较小,在继承了他们优点的基础之上,还能够支持XML技术,使得功能更加强大,逐渐成为新兴网站开发的首选技术,这次我们用JSP开发这一软件,正迎合了这一技术发展趋势,对我们来说也是一次挑战。

1.3 课题发展前景及趋势
省略

1.4 课题内容简介
本课题解决的问题是如何通过设计一个切实可行的软件系统来解决健身俱乐部管理目前存在的一系列问题。该课题是基于Windows的操作系统,后台数据库采用MySQL,前端使用JSP进行开发。

本课题所研究的健身俱乐部管理系统主要由六个模块组成,即人事资料模块、预约管理模块、器材管理模块、会员管理模块、系统管理模块。运行本系统先由登陆界面窗口进入用户权限认证窗口,通过用户名和口令验证的用户方可进入系统主窗口进行浏览与操作。

会员管理子系统:包括会员个人信息的修改、会员的增加和删除、会员信息查询以及会员卡的管理。
预约管理子系统:包括健身预约信息的录入、和删除。
人事资料管理子系统:包括人事资料的添加、删除、修改功能。
器材管理子系统:包括器材信息的录入、增加和删除、修改、产品信息查询。
考勤、工资管理子系统:包括考勤、工资信息的录入、增加和删除、修改。
系统维护子系统:包括修改密码、修改用户名、删除管理员和增加管理员四个功能模块。
用户管理模块:管理员添加、删除、查询用户基本信息和设置用户权限。

1.5 开发工具
此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和MySQL数据库进行简要介绍。
1.5.1 MyEclipse
MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

1.5.2 Tomcat
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

1.5.3 MySQL
MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。
省略

1.5.4 JSP
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:
(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下
(5)支持服务器端组件。Web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供Web页面调用,以增强系统性能。JSP可以使用成熟的JavaBeans 组件来实现复杂商务功能。

内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;page JSP网页本身; exception 针对错误网页,未捕捉的例外。

1.5.5 JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用JavaScript可以开发交互式Web网页。

JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了JavaScript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。

1.6 软硬件需求
硬件需求:
CPU:Pentium以上计算机
内存: 512M以上
软件需求:
操作系统版本:Windows XP /vista/Win7
开发工具:MyEclipse
后台服务器:Apache Tomcat 7.0
开发语言:Java
浏览器:IE6.0

第二章 需求分析
2.1 需求调研
省略

2.2 可行性分析
省略

2.2.1技术可行性
技术上的可行性主要是根据系统分析得到的需要开发的软件,来分析利用现有技术是否能实现待开发的软件。本系统需要连接到互联网上,运用jsp+servlet技术开发,方便快捷,开发所需要的软件工具都是简单易操作的且开源,安全,可维护性强,本系统在MyEclipse的开发环境下采用java语言编写,Java语言具有较强的可移植性,安全性和稳定性,可以在不同的系统上运行,本系统采用的服务器是Apache-Tomcat-7.0版本,开发技术则采用的是jsp+servlet技术。下面介绍本系统使用的几种常见的技术:

2.2.1.1 JSP技术
JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导,基于JavaServlet以及整个Java体系的web开发技术,并且他是由许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(.htm,.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。

对于我们现在的使用,JSP无疑是一种非常方便的工具,可以精确的写出自己想要的界面效果,这也是我使用JSP技术的重要原因。

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.2.1.2 MyEclipse Enterprise Workbench 8.5
MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。

MyEclipse 是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。

2.2.1.3 SQLServer2005
SQLServer2005最初的开发者的意图是用SQLServer2005和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:SQLServer2005并没有他们需要的那么快和灵活。这导致了一个使用几乎和SQLServer2005一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于SQLServer2005而写的第三方代码更容易移植到SQLServer2005。

Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

2.2.1.4 JDBC技术
JDBC技术是Java Data Base Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。

简单地说,JDBC能完成下列三件事:

  1. 同一个数据库建立连接;
  2. 向数据库建立连接;
  3. 处理数据库返回的结果。

JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户版面更友好的API或开发工具基础。
浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作,数据库访问的三层结构如图2-1所示。
在这里插入图片描述

图2-1 数据库访问三层结构
用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。

在三层模型中,命令将被发送到服务的“中间层”,而“中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回“中间层”,然后“中间层”将它们返回用户。其模型如图2-2所示。
在这里插入图片描述

图2-2 JDBC的三层模型
因为“中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。
简单地说,JDBC 可以做三件事:与数据库建立连接,发送SQL语句并且获得数据,最后根据得到的数据进行处理。
数据库连接如图2-3所示:
在这里插入图片描述

图2-3 数据库的连接处理
在建立数据连接时,要判断连接是否建立成功了,如果没有建立成功,要进行异常的捕捉等的错误处理,如果连接建立起来了,那么就继续进行。得到数据库连接后,就要执行事先写好的SQL语句,通常可以用预编译命令,防止SQL注入,在执行时,如果SQL语句出现错误,也要进行异常的捕捉和处理,如果SQL语句正确,则成功之后就会返回ResultSet这个结果集,我们可以对其进行一些操作。

2.2.1.5 B/S模式
B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。

省略

2.2.1.6 EL技术
EL全名为Expression Language,它原本是JSTL 1.0为方便存取数据所自定义的语言。

表达式这种语言的灵感来自于ECMAScript和XPath表达式语言,它的格式为${express},它提供了在 JSP 中简化表达式的方法。它是一种比较简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的可扩展函数以及一组隐式对象。

EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计算。JSP 2.0 将 EL 表达式添加为一种脚本编制元素。

2.2.2 操作可行性
该系统具有易用性,B/S结构使得客户端不必安装任何软件,只要有浏览器并连接到Internet或企业内部的Intranet上即可使用,免除了非专业人员操作技术上的困难。服务器操作系统采用Windows 7,Web服务器为Apache-Tomcat7.0版本,数据库为MySQL。

该系统具有友好亲切的使用界面,功能丰富并且使用简单,一般用户无需培训即可使用,对运行的平台和机器配置要求不高,便于配置和应用。
2.2.3 社会可行性
随着社会的发展和计算机技术的进步,人类越来越依赖于信息化的管理系统,这种系统能更加方便的获得信息以及处理信息。人们都改变了过去的思维,开始走向了互联网的时代,在社会中成为了一种新的潮流。

2.2.4 可行性小结
省略

2.3 功能模块需求分析
本系统最大的特点是使用操作简单、友好的提示信息。
会员制健身中心管理系统的设计与实现,主要是以提高健身会所形象、便捷客户服务与增强健身中心管理为主旨,主要有以下七大功能:
1、修改登录密码;
2、工作人员管理;
3、会员卡类型管理;
4、会员资料管理;
5、健身器材管理;
6、教练执教管理;
7、安全退出。

2.4 界面需求
省略

第三章 系统分析与设计
3.1 数据库的分析与设计
计算机信息系 统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。

数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。

3.1.1数据库的概念结构设计
概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。

数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。

概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。

在这里插入图片描述

图3-1 E-R图各元素

1)系统模块E-R图,如图3-2所示:
在这里插入图片描述

图3-2 系统模块E-R图

2)会员资料实体E-R图,如图3-3所示:
在这里插入图片描述

图3-3 会员资料实体E-R图
3.1.2数据库的逻辑结构设计
我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:
*每一个实体要转换成一个关系
*所有的主键必须定义非空(NOT NULL)
*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
根据E-R模型,会员制健身中心管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。
本系统的数据库名:db_jianshen2017_g,一共有四个表,分别如下:

在这里插入图片描述

表3-1 会员卡信息表
在这里插入图片描述

表3-2 健身器材表

在这里插入图片描述

表3-3 工作人员表

在这里插入图片描述

表3-4 教练执教表

3.1.3 数据库的连接原理
本系统采用Hibernate对数据库进行管理。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。

Hibernate 技术本质上是一个提供数据库服务的中间件。它的架构如图3-5所示:
在这里插入图片描述

图3-3 Hibernatre架构图

图3-3显示了 Hibernate 的工作原理,它是利用数据库以及其他一些配置文件如 Hibernate .properties ,XML Mapping 等来为应用程序提供数据持久化服务的。
Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。

3.2中文乱码问题处理
在程序中经常会遇到中文乱码的情况,如果手动的在servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。
在web.xml中配置:

<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param></filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>//*表示工程下所有的页面都会有此过滤器的处理
</filter-mapping>

对应的SetCharacterEncodingFilter.java文件中的重要代码,在初始化init()方法中定义:

public void init(FilterConfig filterConfig) throws ServletException {
	    this.filterConfig = filterConfig;
        this.encoding = filterConfig.getInitParameter("encoding");
        String value = filterConfig.getInitParameter("ignore");
        }
在工具包util包中同样定义了DataFormate类来处理字符转换:
       public static String toUni(String gbStr){
        String uniStr = ""; /*把字符串转换成uincode编码*/
        if(gbStr == null){
          gbStr = "";
        }
        try{
          byte[] tempByte = gbStr.getBytes("GB2312");
          uniStr = new String(tempByte,"ISO8859_1");
        }catch(Exception ex){
        }
        return uniStr;
      }
      /* 把字符串转换成Utf8编码*/
  public static String toUtf8String(String s) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < s.length(); i++) {
             char c = s.charAt(i);
              if (c >= 0 && c <= 255) {
                sb.append(c);
                }
              else {
                   byte[] b;
                    try {
                       b = Character.toString(c).getBytes("utf-8");
                     }catch (Exception ex) {
                        System.out.println(ex);b = new byte[0];
                     }
                         for (int j = 0; j < b.length; j++) {
                           int k = b[j];
                           if (k < 0) {
                             k += 256;
                           }
                           sb.append("%" + Integer.toHexString(k).
                                     toUpperCase());  } }
				       return sb.toString();  }

第四章 系统功能实现
在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

4.1系统登陆页面实现
1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。
2.会员登录的流程图,如图4-1所示:
在这里插入图片描述

图4-1 会员登录的流程图

3.程序运行效果图,如图4-2所示:
在这里插入图片描述

图4-2 系统登陆页面设计

4.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:

	public String login(String userName,String userPw,int userType)
	{
String result="no";
		

		String sql="from TAdmin where userName=? and userPw=?";
		Object[] con={userName,userPw};
		List adminList=adminDAO.getHibernateTemplate().find(sql,con);
		if(adminList.size()==0)
		{
			 result="no";
		}
		else
		{
			 WebContext ctx = WebContextFactory.get(); 
			 HttpSession session=ctx.getSession(); 
			 TAdmin admin=(TAdmin)adminList.get(0);
			 session.setAttribute("userType"0);
             session.setAttribute("admin", admin);
             result="yes";
		}
		return result;
	}

4.2 管理员功能模块
1.描述:系统主页面:左方页面展示了管理员可操作的七大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。

2.程序运行效果图,如图4-3所示:
在这里插入图片描述

图4-3 管理员主页面
在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:

if(session.getAttribute("user")==null)
{
 out.print("<script>alert('请先登录!');window.open('../index.jsp','_self')</script>");	 
}

4.2.1 工作人员管理
4.2.1.1查询工作人员信息
1.描述:管理员点击左侧的菜单“工作人员管理”,页面跳转到工作人员界面,调用后台的action类查询出所有的工作人员信息,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出工作人员信息。

2.程序效果图,如图4-4所示:
在这里插入图片描述

图4-4工作人员信息

4.2.1.2添加工作人员添加
1.描述:输入要添加工作人员的信息以后,点击添加按钮添加工作人员。
2.程序效果图,如图4-5所示:

在这里插入图片描述

图4-5添加工作人员

4.2.2会员资料管理
4.2.2.1会员资料管理
1.描述:管理员点击左侧的菜单“会员资料管理”,页面跳转到会员资料管理界面,调用后台的action类查询出所有的会员资料,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出会员资料。
2.程序效果图,如图4-6所示:

在这里插入图片描述

图4-6会员资料管理
4.2.2.2会员资料删除
1.描述:先是点击会员管理,页面跳转到会员管理界面,浏览所有的会员资料,点击要删除的会员资料,弹出的确定对话框,即可删除该会员资料。
2.程序效果图,如图4-7所示:

在这里插入图片描述

图4-7会员资料删除
4.2.3健身器材管理
4.2.3.1健身器材信息
1.描述:管理员点击左侧的菜单“健身器材管理”,页面跳转到健身器材信息管理界面,调用后台的action类查询出所有的健身器材信息,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出健身器材信息。
2.程序效果图如图4-8所示:

在这里插入图片描述

图4-8查询健身器材信息
4.2.3.2添加健身器材信息
1.描述:管理员输入健身器材相关正确信息后点击录入按钮,如果是没有输入完整的健身器材信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。
2.程序效果图,如图4-9所示:

在这里插入图片描述

图4-9添加健身器材信息
4.2.3.3删除健身器材信息
1.描述:先是点击健身器材信息管理,页面跳转到健身器材信息管理界面,浏览所有的健身器材信息,点击要删除的健身器材信息,弹出的确定对话框,即可删除该健身器材信息。
2.程序效果图,如图4-10所示:

在这里插入图片描述

图4-10删除健身器材信息
4.2.4 教练执教管理
4.2.4.1教练执教管理
1.描述:管理员点击左侧的菜单“教练执教管理”,页面跳转到教练执教管理界面,调用后台的action类查询出所有的教练执教,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出教练执教情况。
2.程序效果图,如图4-11所示:

在这里插入图片描述

图4-11教练执教管理页面
4.2.5.2教练执教录入
1.描述:管理员输入教练相关正确信息后点击录入按钮,如果是没有输入完整的教练执教,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。
2.程序效果图,如图4-12所示:

在这里插入图片描述

图4-12 教练执教录入
4.2.6 修改密码
1.描述:输入用户名和用户的原有密码,输入新密码以后点击修改按钮即可修改密码成功。
2.程序效果图,如图4-13所示:

在这里插入图片描述

图4-13 修改密码
4.2.7 退出系统
1.描述:点此按钮回到系统的主页面。
2.关键代码:主要是通过javascript语句来实现, item_word[8][4]=“退出系统”;
item_link[8][4]=“javascript:window.open(‘…/index.jsp’,‘_self’)”;

第五章 系统测试
省略

5.1 测试的任务及目标
省略

5.1.1 测试的任务
省略

5.1.2 测试的目标
省略

5.2 测试方案
测试有两种方法:黑盒测试和白盒测试。
黑盒测试是一种看不到程序内部结构的测试方法,它又被称为功能测试,在程序的借口进行测试,检查功能是否能够按照说明书进行正确的反应,程序员要做的就是输入数据,然后验证得到的结果是否正确,这样能够保持外部新的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。

5.3 测试过程
在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。
这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。

5.4 测试用例
测试是软件开发时期的最后一个阶段,也是软件质量保证中至关重要的一个环节,它的目的是发现程序的错误和不足之处。
本系统采用黑盒测试中的等价类法,对系统进行测试。检测失物招领系统有问题需要大量的输入数据,下面只列出一部分测试用例:
5.4.1 主页面的登录模块测试
测试流程: 1.打开系统首页,输入错误的登录信息
2.登录
3.输入正确的登录信息
4.登录
5.测试结果

在这里插入图片描述

表5-1 主页面登录模块测试

5.4.2 游客注册测试
建立有效等价类是游客输入的各个信息都正确,期望结果:注册成功!无效等价类如表5-2所示:
在这里插入图片描述

表5-2 游客注册无效等价类
测试用例:
第1组:用户名:bb 用户密码:aa
确认密码:aa 联系电话:18234086882
QQ:1104014730 E-mail:1104014730@qq.com
来自:山西
测试结果:提示注册成功!

第2组:用户名: 用户密码:aa
确认密码:aa 联系电话:18234086882
QQ:1104014730 E-mail:1104014730@qq.com
来自:山西
测试结果:请输入用户名!

第3组:用户名:bb 用户密码:
确认密码:aa 联系电话:18234086882
QQ:1104014730 E-mail:1104014730@qq.com
来自:山西
测试结果:请输入用户密码!

第4组:用户名:bb 用户密码:aa
确认密码: 联系电话:18234086882
QQ:1104014730 E-mail:1104014730@qq.com
来自:山西
测试结果:请输入确认密码!

第5组:用户名:bb 用户密码:aa
确认密码:aa 联系电话:18234086882
QQ: E-mail:1104014730@qq.com
来自:山西
测试结果:请输入QQ!

第6组:用户名:bb 用户密码:aa
确认密码:aa 联系电话:18234086882
QQ:1104014730 E-mail:
来自:山西
测试结果:请输入邮箱地址!

第7组:用户名:bb 用户密码:aa
确认密码:aa 联系电话:18234086882
QQ:1104014730 E-mail:1104014730@qq.com
来自:
测试结果:请输入来自哪里!

第8组:用户名:admin 用户密码:aa
确认密码:aa 联系电话:18234086882
QQ:1104014730 E-mail:1104014730@qq.com
来自:山西
测试结果:用户名已存在!

第9组:用户名:admin 用户密码:aa
确认密码:aaa 联系电话:18234086882
QQ:1104014730 E-mail:1104014730@qq.com
来自:山西
测试结果:两次输入的密码不一致!

第10组:用户名:admin 用户密码:aa
确认密码:aaa 联系电话:1
QQ:1104014730 E-mail:1104014730@qq.com
来自:山西
测试结果:输入的联系电话格式不正确!

第11组:用户名:admin 用户密码:aa
确认密码:aaa 联系电话:18234086882
QQ:aa E-mail:1104014730@qq.com
来自:山西
测试结果:输入的QQ格式不正确!

第12组:用户名:admin 用户密码:aa
确认密码:aaa 联系电话:18234086882
QQ:aa E-mail:1104014730
来自:山西
测试结果:输入的邮箱格式不正确!

5.5 其他错误
在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值类型不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误,如图5-1所示:
在这里插入图片描述

图 5-1由于servlet路径配置错误,运行时的提示

5.6 小结
在本章中,通过对软件的测试验证了软件程序的质量,分别对登录部分进行了等价类测试,等价类测试不考虑内部的结构,将程序的输入分为若干个有代表性的部分,从每个部分选取数据进行测试,通过对这些模块的测试可以基本证明程序具有一定的健壮性和质量性。

结 论
本设计己经实现健身俱乐部信息管理系统的全部功能,而且健身俱乐部信息管理系统的实用功能全部能够正常运行,例如:修改登录密码、工作人员管理、会员卡类型管理、会员资料管理、健身器材管理、教练执教管理、安全退出七大模块。本设计运用B/S的3层结构模式和瑞典MySQL AB公司开发的MySQL数据库,并在设计初期,首先,完成了数据库系统的搭建,在设计中录入了一些数据;其次,完成了数据库、开发环境软件和运行环境软件的衔接并最终实现了本系统的运行

省略

参考文献
[1] BruceEckel. JAVA编程思想[M]. 机械工业出版社, 2003.1~78
[2] 孙一林,彭波等. JSP数据库编程实例[M]. 清华大学出版社, 2002.1~465
[3] Brown等. JSP编程指南(第二版)[M]. 电子工业出版社, 2003,1~268
[4] 孙涌. 现代软件工程[M]. 北京希望电子出版社,2003,1~246
[5] 姜翠霞. 数据库系统基础[M]. 航空航天大学出版社, 2009.51~208
[6] Flangan. JAVA技术手册[M]. 中国电力出版社, 2002.23~294
[7] LeeAnnePhilips. 巧学活用JSP[M]. 电子工业出版社, 2004.1~319
[8] 萨师煊, 王珊. 数据库系统概论[M]. 高等教育出版社, 2002.3~460
[9] 李曙光. JSP开发实例完全剖析[M]. 电子工业出版社, 2006.23~400
[10] [美]Walter Savitch. Absolute Java[M]. 电子工业出版社. 2005
[11] Kong Michael. An environment for secure SQL/Server computing [M].Oxford University Press Inc., 1993: 149 
[12] W.Clay,Richardson, Donald,Avondolio. The Java high class weaves a distance:JDK 5[J]. Scientific & Technology Book Review,No.3, 2006:17-18
[13] Sanden, Bo. SYSTEMS PROGRAMMING WITH JSP:EXAMPLE - A VDUCONTROLLER[C]. Communications of the ACM,Vol28,No10,1985:1059-1067
[14] Tsui,Frank F. JSP EM DASH A RESEARCH SIGNAL PROCESSOR IN JOSEPHSON TECHNOLOGY[C]. IBM Journal of Research and Development,Vol24, No2,1980:243-252

致 谢
省略

附录:英文技术资料翻译
英文原文
省略

中文译文
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于java+JSP+MySQL的健身俱乐部会员管理系统设计与实现(源码+文档)_JSP_BS_健身俱乐部会员管理系统.zip
  • 8
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值