欢迎添加微信互相交流学习哦!

项目源码:https://gitee.com/oklongmm/biye2

摘 要
随着社会和经济的发展,旅店业逐渐发达,管理难度也逐渐增加,为了提高工作效率,降低成本,同时减少出错率,使用计算机管理旅店信息已经越发的重要。我国加入WTO之后,旅店业的准入门槛已经降低,大量的大型旅店已经投入运营,为了能够提供更好、更快的服务,采用计算机管理旅店已经是必不可少的事情了。
本系统采用Java设计,数据库使用mysql,该系统采用jsp应用开发,具有管理旅店的基础功能,预定,入住,消费,退房等。
本文介绍了在Eclipse环境下采用struts2框架和hibernate框架构建旅店登记系统。文章介绍了旅店管理管理系统的系统分析部分,包括可行性等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。
关键字:旅店登记系统 struts2 hibernate mysql
An Analysis of the Characteristics of Advertising English
ABSTRACT
With the development of society and economy, the hotel industry has gradually developed, the management difficulty also increases gradually, in order to improve the work efficiency, reduce costs, and reduce the error rate, using computer to manage the hotel information has been more and more important. After Chinas accession to the WTO, the hotel industry access threshold has been reduced, many large hotels have been put into operation, in order to provide better, faster service, using computer to manage the hotel is essential.
Java design is adopted in the system, the database using mysql, the system uses JSP application development, has the basic function of management, hotel reservation, check-in, check-out consumption, etc.
This article describes the Eclipse environment, using Struts2 framework and Hibernate framework construction of hotel management system. This paper introduces the system analysis part hotel management system, including feasibility and so on; the system design part mainly introduced the system function design and the database design and the code design; the system realization part explained several main modules algorithm, this system friendly interface, the operation is simple, quite practical.
Key words: hotel management system Struts2 hibernate MySQL
目 录
TOC 1-3 HYPERLINK l _Toc415491222 第1章 绪 论 1
HYPERLINK l _Toc415491223 1.1选题背景以及意义 1
HYPERLINK l _Toc415491226 第2章 需求分析 3
HYPERLINK l _Toc415491227 2.1系统现状 3
HYPERLINK l _Toc415491228 2.2 可行性分析 3
HYPERLINK l _Toc415491229 2.2.1经济可行性 3
HYPERLINK l _Toc415491230 2.2.2 技术可行性 3
HYPERLINK l _Toc415491231 2.2.3 社会可行性 4
HYPERLINK l _Toc415491232 2.3 总体设计原则 4
HYPERLINK l _Toc415491233 2.3.1易用性原则 4
HYPERLINK l _Toc415491234 2.3.2实用性原则 4
HYPERLINK l _Toc415491235 2.3.3技术先进性和成熟性原则 4
HYPERLINK l _Toc415491236 第3章 系统分析 5
HYPERLINK l _Toc415491237 3.1 开发平台 5
HYPERLINK l _Toc415491238 3.2 功能模块分析 5
HYPERLINK l _Toc415491239 3.2.1用户信息模块 5
HYPERLINK l _Toc415491240 3.2.2房间信息模块 5
HYPERLINK l _Toc415491241 3.2.3操作记录模块 6
HYPERLINK l _Toc415491242 3.2.4入住记录模块 6
HYPERLINK l _Toc415491243 3.2.5顾客信息模块 6
HYPERLINK l _Toc415491244 3.3 非功能性需求分析 6
HYPERLINK l _Toc415491245 第4章 系统设计 7
HYPERLINK l _Toc415491246 4.1 功能设计 7
HYPERLINK l _Toc415491247 4.1.1系统用户组成 7
HYPERLINK l _Toc415491248 4.1.2前台管理员功能 7
HYPERLINK l _Toc415491249 4.1.3其它员工功能 8
HYPERLINK l _Toc415491250 4.1.4管理员功能 8
HYPERLINK l _Toc415491251 4.2 数据库设计 8
HYPERLINK l _Toc415491252 4.2.1 数据库逻辑设计 9
HYPERLINK l _Toc415491253 4.2.2 数据库实现 9
HYPERLINK l _Toc415491254 4.2.3 数据库表设计 9
HYPERLINK l _Toc415491255 4.3 功能设计 10
HYPERLINK l _Toc415491256 4.3.1 系统开发工具 10
HYPERLINK l _Toc415491257 4.3.2系统开发框架 11
HYPERLINK l _Toc415491258 第5章 系统实现 12
HYPERLINK l _Toc415491259 5.1 功能实现 13
HYPERLINK l _Toc415491260 5.1.1 通用功能 13
HYPERLINK l _Toc415491261 5.1.2 非通用功能 13
HYPERLINK l _Toc415491262 5.2 用户功能模块 13
HYPERLINK l _Toc415491263 5.2.1 用户登录 13
HYPERLINK l _Toc415491264 5.3 房间管理页面 14
HYPERLINK l _Toc415491265 5.3.1 功能实现 14
HYPERLINK l _Toc415491266 5.4 其它用户功能 15
HYPERLINK l _Toc415491267 5.4.1打扫房间等 15
HYPERLINK l _Toc415491268 5.4.2 维修房间等 15
HYPERLINK l _Toc415491269 5.5 数据库功能 16
HYPERLINK l _Toc415491270 5.5.1数据库框架配置 16
HYPERLINK l _Toc415491271 5.5.2数据库框架实现 16
HYPERLINK l _Toc415491272 第6章 系统测试 23
HYPERLINK l _Toc415491273 6.1 系统测试的目的及意义 23
HYPERLINK l _Toc415491274 6.2 web系统测试的方法 23
HYPERLINK l _Toc415491275 6.2.1功能测试 23
HYPERLINK l _Toc415491276 6.2.2性能测试 24
HYPERLINK l _Toc415491277 6.2.3可用性测试 25
HYPERLINK l _Toc415491278 6.2.4内容测试 26
HYPERLINK l _Toc415491279 6.2.5整体界面测试 26
HYPERLINK l _Toc415491280 6.2.6客户端兼容性测试 27
HYPERLINK l _Toc415491281 6.2.7安全测试 27
HYPERLINK l _Toc415491282 6.3 系统评价 27
HYPERLINK l _Toc415491283 结 论 29
HYPERLINK l _Toc415491284 致 谢 30
HYPERLINK l _Toc415491285 参考文献 31

第1章 绪论
1.1选题背景以及意义
随着我国经济的发展,旅店业飞速发展,大型旅店以及连锁旅店如雨后春笋般出现,旅店管理难度逐渐加大,以往的人工操作已经不能满足如今的大中型旅店的管理,为了旅店管理的方便、快速、准确,提高房间的利用率,设计一套旅店登记系统成为当前社会的需求。
1.2国内外研究现状及发展趋势
管理信息系统(MIS)是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。MIS的发展与计算机网络技术的发展是紧密相关的,随着Internet/Intranet技术的广泛应用,MIS的体系结构也发生很大的变化,从以往基于C/S结构的数据访问及安全体系发展到当前的基于B/S结构体系。旅店登记系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护和客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。
随着旅店的规模不断扩大,旅店规模数量急剧增加,有关旅店规模的各种信息也成倍增长。面对庞大的信息量,有必要开发旅店登记系统来提高旅店规模管理工作的效率。可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
鉴于上述管理信息系统的日趋成熟和收集信息的情况,该旅店登记系统充分运用MIS的总体思想,综合应用了B/S模式、MYSQL 、JSP等技术,并具有旅店员工对自己所需信息的操作和管理员对系统进行管理等功能,很好的将管理效率提升了,真正完好地达到服务于生产生活的目的。
1.3课题研究的意义
今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被于多领域计算机之所以如此流行的原因主要有以下几个方面:
首先,计算机可以代替人工进行许多繁杂的劳动;
其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率;
第四,计算机可以使敏感信息更加安全。
现在,我们已经进入到Internet时代了,旅店信息管理也要随之更新,随着无纸化办公的一步步实现,让计算机来管理旅店信息是现在各个地区都在积极进行的工作之一,。旅店登记系统必然会在以后的信息管理系统中大放异彩。
第2章 需求分析
2.1系统现状
原有的旅店登记系统是在1998年由深圳市一家专门从事旅店管理信息系统的有限公司开发的,该系统基于C/S模式,拥有预订、接待、结账、客房管理以及查询服务等功能,系统实施以来,由于采用计算机所带来的便利性和高效性,旅店的业务蒸蒸日上,在社会公众中树立良好的企业形象,但随着数据的增加,业务的增加,竞争的加剧,原有的子系统已暴露出运行速度慢,处理时间长,且不能上网等缺点。随着近几年网络的飞快发展,人们的消费行为也随着改变,越来越多的人们希望通过网络迅速了解旅店信息和进行消费,基于上述原因,需要重新开发一套基于jsp的旅店登记系统系统。
2.2 可行性分析
旅店行业的发展已经达到一定程度,但是相关的基于C/S模式的管理系统软件尚未达到与之适应的程度,同时,在开发过程中,我们为了尽量给用户以方便,考虑到用户需求的实际情况,建立较为简单易明的系统服务,开发此系统无论在经济上,操作上,还是在技术上都是可行的。
2.2.1经济可行性
(1)必要性。如果不采用该管理信息系统,其业务过程中所产生的数据将得不到及时、有效的存储和处理,显得比较杂乱无章,难以分析、归纳和比较,影响企业的管理和决策,造成企业效率低下,浪费人力资源、时间和金钱!
(2)有益性。以较低成本开发出来的管理信息系统将整个业务流程数据进行系统的整合管理,从而能够有效地提高企业内外的信息沟通效率,节省大量的人力、时间和金钱,从而降低成本,加快业务流程,提高企业效益,给企业带来巨大的经济回报!
(3)可能性。本系统的开发成本少,时间短,无需投入太多的人力、物力和财力,完全能够以最短的时间、最少的人力和最低的成本开发出该系统。
2.2.2 技术可行性
目前大部分的人已经学会了使用电脑,系统的设计实现仅仅需要点击一下鼠标,敲击几下键盘即可操作该系统。因此在技术层面上该系统是可以实现的。
2.2.3 社会可行性
(1)必要性。如果不采用该系统,将会给公司的内外沟通造成严重的障碍,不利于公司的客户关系管理和企业文化的形成,在社会上也会造成一定的影响!
(2)可能性。由于该系统能以较低的成本,较短的时间开发出来,且能极大地提高企业的效率,便于公司管理,必然能得到广大员工和公司领导的支持。但不容忽视的是由于新系统的投入使用会造成员工的不适应,必然会引起这些员工的抵触。所以公司要做好这些员工的工作。
(3)有益性。由于该系统能极大地提高企业的效率和效益,从而能提高客户和员工的满意度,进而在社会上形成一定的声誉。
从以上可行性分析可知,该系统开发具备技术上、经济上和社会上的可行性。
2.3 总体设计原则
根据现状分析,用户需求分析和可行性分析,设置本系统的开发目标,其目标如下:
(1)建立一套功能完整、高效、安全、稳定的旅店前台管理信息系统。
(2)系统能够对员工日常操作进行快速、安全地反映。
(3)实现对预订、入住、退宿、调房、房态设置等信息的方便迅速录入、查询及管理,了解旅店日常业务的相关信息。
(4)界面简洁、操作方便、简单易学,用户不需要有太多的专业知识。
(5)能够方便用户、旅店管理人员通过内部网或外部网了解相关信息。。
2.3.1易用性原则
系统界面清晰美观,简单明了,符合业务人员使用习惯,可直接面向非计算机专业人员。
2.3.2实用性原则
系统具有良好的实用性,能够保证稳定可靠地连续运行。
2.3.3技术先进性和成熟性原则
系统使用的前台设计技术及后台数据库设计技术,都应用了先进且成熟的编程技术,便于系统开发和维护。
第3章 系统分析
系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析。它侧重于从业务全过程的角度进行分析。分析的主要内容是:业务和数据的流程是否通畅,是否合理;数据、业务过程和实现管理功能之间的关系;老系统管理模式改革和新系统管理方法的实现是否具有可行性等等。系统分析的目的是将用户的需求及其解决方法确定下来,这些需要确定的结果包括:开发者关于现有组织管理状况的了解;用户对信息系统功能的需求;数据和业务流程;管理功能和管理数据指标体系;新系统拟改动和新增的管理模型等等。系统分析所确定的内容是今后系统设计、系统实现的基础。
3.1 开发平台
(一)CPU:P41.8GHz。
(二)内存:256MB以上。
(三) 分辨率:最佳效果1024×768像素。
(四)操作系统:Windows XP/Windows 2000。
(五)数据库:MYSQL 。
(六)开发工具包:JDK Version1.7。
(七)JSP服务器:Tomcat 7。
(八)浏览器:火狐浏览器,谷歌浏览器等。
3.2 功能模块分析
根据系统需求分析对系统进行功能模块划分。在每个模块中,分别包含相应的自模块,每个子模块有不同的用户角色来操作。下面是5个模块的详细功能需求。
3.2.1用户信息模块
该模块由三部分组成,分别是修改密码、查看个人操作记录、用户列表和增删用户。其中修改密码和查看个人操作记录面向所有用户,用户列表和增删用户只有该系统的管理员才可以使用该功能。
3.2.2房间信息模块
该模块分为两部分,分别是增删房间,更改房间入住状态等。其中增删房间只能由管理员操作,更改房间入住状态为前台工作人员操作。
3.2.3操作记录模块
该模块分为两部分,管理员操作,和个人用户操作。
(一) 管理员操作
管理员可以查看所有用户的操作记录以及自己的操作记录。方便了解用户的操作,以便知道每个用户的操作的异常与否。
(二)个人操作
个人用户可以查看自己的过去的操作。
3.2.4入住记录模块
在该模块中,管理员可以查看所有的顾客的入住记录,其它人员则不能查看。
3.2.5顾客信息模块
前台工作人员可以登记顾客的入住信息,并将该信息保存在系统数据库中,方便用户下次入住时进行快速登记,省却了一些麻烦,提高了工作效率。同时前台工作人员可以修改错误顾客的信息。
3.3 非功能性需求分析
(1)界面简单大方。
(2)操作明了
(3)系统可靠,在出现人为操作错误的情况下,系统能够筛选出错误,并拒绝执行。
(4)系统应该能够阻止一些不友好的访问,以保证顾客的信息不被泄露。
第4章 系统设计
系统设计是新系统的物理设计阶段。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,在用户提供的环境条件下,设计出一个能在计算机网络环境上实施的方案,即建立新系统的物理模型。
4.1 功能设计
根据旅店信息管理的性质,将系统分成4个部分:顾客入住,顾客消费,顾客退房,房间处理。登录用户主要有3种角色:管理员、其它员工、和前台工作人员。其中前台工作人员登陆后,可查看房间入住信息,办理顾客入住,办理退房等。管理员登录系统后可以增加以及删除用户,增删房间,以及更改费用,设定优惠等。其它员工可以查看房间的当前的入住状态,以便进行打扫,更换消费品等操作。
4.1.1系统用户组成
该系统中有前台管理员,其它员工,管理员,三种用户。
图4—1系统总体构架
4.1.2前台管理员功能
前台管理员的功能如下图4-2。

图4—2 前台员工端管理
4.1.3其它员工功能
其它员工的功能如下图4-3。
图4—3 其它员工端管理
4.1.4管理员功能
管理员的功能如下图4-4。
图4—4管理员管理
4.2 数据库设计
(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。数据库系统需要操作系统的支持。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此需要反复探寻,逐步求精”,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
4.2.1 数据库逻辑设计
本系统数据库采用MYSQL数据库,系统数据库名称为lvdian。根据系统的功能模块分析,所需要的数据表有
1、用户表(存放可以访问系统的三种用户的信息)
2、房间表(记录旅店应该有的房间信息)
3、操作记录表(记录系统用户的操作记录)
4、入驻记录表(记录顾客的入住记录信息)
5、顾客信息表等。(记录顾客的信息,用于快速登记以及入住记录使用)
4.2.2 数据库实现
本系采用java流行框架hibernate来操作数据库。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
因此使用hibernate能够更加方便的操作数据库,快速的开发应用已达到只关注系统逻辑实现的目的。
4.2.3 数据库表设计
表1 房间表
字段名 数据类型 长度 约束
id int 10 主键
LouCeng int 10 Not nul
FangHao varchar 45 Not nul
HuXing varchar 45 Not nul
ZhuangTai Varchar 45 Not null
表2 用户表
字段名 数据类型 长度 约束
id int 10 主键
userName varchar 45 Not nul
Password varchar 45 Not nul
power varchar 45 Not nul
lastLoginTime Date Not null
表3 顾客表
字段名 数据类型 长度 约束
id int 10 主键
Name varchar 45 Not nul
IDCard varchar 45 Not nul
XingBie varchar 45 Not nul
HuiYuanJiBie Int 10 Not null
表4 操作记录
字段名 数据类型 长度 约束
id int 10 主键
userName varchar 45 Not nul
power varchar 45 Not nul
CaoZuo Varchar 45 Not null
Time Date Not null
表5 入住记录表
字段名 数据类型 长度 约束
id int 10 主键
name varchar 45 Not nul
IDCard varchar 45 Not nul
FangJian varchar 45 Not nul
startTime Date Not null
endTime Date Not null
4.3 功能设计
4.3.1 系统开发工具
JSP,全称为Java Server Pages/Servlet。JSP和Servlet都是Sun公司的J2EE(Java 2 platform Enterprise Edition)应用体系中的一部分,两者一般需要放在一起被讨论。Servlet的形式和CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也类似,都是服务器接到客户端的请求后,进行应答。由于线程与线程之间可以通过生成自己的父线程(Parent Thread)来实现资源共享,这样就减轻了服务器的负担,所以,Java Servlet可以用来做大规模的应用服务。JSP技术主要具备以下特点:
(1)将内容的产生和显式进行分离:使用JSP技术,Web开发人员可以使用HTML或者XML标志来设计和格式化最终页面。使用JSP标志或者小脚本来产生页面上的动态内容。
(2)强调可重用的群组件:绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBean或者Enterprise JavaBean)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3)采用标志简化页面开发:Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标志中进行动态内容产生所需要的。标准的JSP标志能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
Eclipse 是一个开放源代码 (​http:​/​​/​baike.baidu.com​/​subview​/​60376​/​5122159.htm _blank​)的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
MySQL是一个关系型数据库管理系统 (​http:​/​​/​baike.baidu.com​/​view​/​1450387.htm​),由瑞典MySQL (​http:​/​​/​baike.baidu.com​/​view​/​24816.htm​) AB公司开发,目前属于Oracle (​http:​/​​/​baike.baidu.com​/​view​/​15020.htm​)公司。Mysql (​http:​/​​/​baike.baidu.com​/​view​/​24816.htm​)是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统 (​http:​/​​/​baike.baidu.com​/​view​/​68446.htm​),关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活 (​http:​/​​/​baike.baidu.com​/​view​/​474022.htm​)性。MySQL所使用的SQL语言是用于访问数据库 (​http:​/​​/​baike.baidu.com​/​view​/​1088.htm​)的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码 (​http:​/​​/​baike.baidu.com​/​view​/​394804.htm​)这一特点,一般中小型网站的开发都选择MySQL作为网站数据库 (​http:​/​​/​baike.baidu.com​/​view​/​1088.htm​)。
4.3.2系统开发框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
Struts 2是实现MVC模式的Web层框架。基于WebWork核心,并具有Struts1的一些优点。主要实现的是控制器部分的功能,可以和多种页面技术(完成视图功能)配合使用。
LayoutIt通过使用我们的拖放界面生成器帮助您简单快速地创建Bootstrap前端代码。它陈列出Bootstrap的每个元素和组件,你只需要用鼠标拖曳到页面上即完成设计,让您的前端编码更容易,不需要你是javascript,HTML5或CSS3的专家。所有的设计可以是响应式的CSS和流体。设计完成后,您只需下载HTML即获得自己设计的源码。
第5章 系统实现
该系统实现了旅店规模信息的管理各项功能。如添加、删除、修改系统使用账号,以及添加、修改、删除和查找房间信息等。
在本系统中,有三类用户:管理员,前台员工,其它员工。三种不同的用户所具有的操作权限以及操作内容均不一样。
前台员工登陆旅店登记系统后可以查看旅店房间的入住状态,记录顾客的消费信息,登记顾客的入住信息等;其它员工登陆系统可以处理维修,打扫等事项;管理员可以增删房间,更改费用,设定优惠,增删用户等。
根据上面的要求,从操作功能上可以分为两个类:一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。
5.1 功能实现
5.1.1 通用功能
(一)登录与注销
每个用户都可以用自己的帐号登录系统。用户操作完成后推出系统,注销后可以重新登录系统。
(二)修改密码
每个用户第一次登录都用默认密码。(第一次登陆都必须修改密码)
5.1.2 非通用功能
信息维护包括:修改、删除、添加、模块的读写权限设置。
(一)管理员(超级管理员)
系统常规管理:修改费用,增删房间。
系统用户管理:增删前台员工以及其它员工。
口令管理:密码的修改。
(二)前台员工
入住登记,续住登记,退房,消费记录,查看房间状态。通知其它员工处理顾客的需求。
(三)其它用户
查看房间入住状态,查看用户的需求,记录顾客的消费:
5.2 用户功能模块
5.2.1 用户登录
该模块用于登陆,在提交正确的的账号密码后,就会跳转到对应身份的主界面。如图5-1所示:
图5-1用户登陆界面
5.3 房间管理页面
前台员工登陆系统之后可以看到自己相应的界面(如图5-2)
图5-2 前台员工界面
5.3.1 功能实现
前台员工登陆旅店登记系统后可以查看旅店房间的入住状态,记录顾客的消费信息,登记顾客的入住信息,预定房间,退房等操作。
前台员工点击相应房间的订房按钮,可以填写订房人的身份证号码同时数据库更新房间状态为预定。
点击入住,即可填写顾客的身份信息等,办理入住。实现该功能只需要更新房间状态为入住,同时增加相应的入住信息记录即可。
5.4 其它用户功能
5.4.1打扫房间等
同样,其它用户登陆后,也可以看到与自己的权限相关的主界面。负责打扫房间等服务的用户登陆之后可以看到自己的主界面。需要打扫的房间会有打扫两个字显示出来,用户可以看到哪个房间需要打扫,打扫完毕后,只需要在需要打扫的房间上点击打扫即可。如图5-3.
图5-3 清洁打扫人员主界面
5.4.2 维修房间等
维修人员可以看到需要维修的房间的操作显示为维修。点击维修,房间状态更新为维修。待维修人员维修完毕之后,告知前台用户,填写相应的消费即可(如果不是因为顾客造成的损坏,可以不填写)。如图5-4.
图5-4 维修人员主界面
5.5 数据库功能
5.5.1数据库框架配置
在MySql数据库中创建数据库lvdian和数据表,接下来创建应用程序。在Tomcat服务器的安装目录下,找到webapps文件夹,在该文件夹,创建应用程序根目录lvdian,并且在lvdian/web-inf/lib目录文件夹中,存放struts2和hibernate所需要的 jar文件。
5.5.2数据库框架实现
本系统使用hibernate框架操作和管理数据库。使用BaseDao类封装hibernate的对数据的基本增删改查等功能。该类的主要代码如下。
package com.sys.DAO;import java.io.Serializable;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;/* * 该BaseDAO使用泛型,接受任何类型的Entity Bean. * Hibernate能够判断实体类的类型,决定操作那个数据表。 * BaseDAO封装了最基本的CRUD操作(增C删D改U查R)。如果某个Entity Bean需要 * 其他特别的操作,可以继承BaseDAO,并实现自己的操作, * 达到BaseDAO代码重用的目的 *//** * BaseDAO封装了最基本的CRUD操作(增C删D改U查R) 该函数包含分页查询 * 该BaseDAO是基本的DAO入口,使用query.setProperties(clazz);作为类型匹配 以防止sql注入攻击 * 如果HQL语句中没有String类型,可以使用其子类,UnSafeBaseDAO * * @author 一叶 * * @param * @time 2014年3月24日17:08:33第四次更改 */public class BaseDAO { // /// // 分页查询 private int pageNo = 1;// 页码 private int pageSize = 10;// 每页数目 // // /** * 插入数据 * * @param 一个对象 */ @SuppressWarnings(deprecation) public void create(T objec) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 将对象保存进数据库 session.save(objec); // 提交事务 session.getTransaction().commit(); } catch (Exception e) { // 如有异常抛出,则回滚事务 session.getTransaction().rollback(); // System.out.println(插入异常); } finally { // 关闭会话 session.close(); sessionFactory.close(); } } /** * 更新或者存储数据 * * @param 一个对象 */ @SuppressWarnings(deprecation) public void saveORupdate(T objec) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 将对象保存进数据库 session.saveOrUpdate(objec); // 提交事务 session.getTransaction().commit(); } catch (Exception e) { // 如有异常抛出,则回滚事务 session.getTransaction().rollback(); } finally { // 关闭会话 session.close(); sessionFactory.close(); } } /** * 更新数据 * * @param 一个对象 */ @SuppressWarnings(deprecation) public void update(T objec) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 将对象保存进数据库 session.update(objec); // 提交事务 session.getTransaction().commit(); } catch (Exception e) { // 如有异常抛出,则回滚事务 session.getTransaction().rollback(); } finally { // 关闭会话 session.close(); sessionFactory.close(); } } /** * 删除数据 * * @param 一个对象 */ @SuppressWarnings(deprecation) public void delete(T objec) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 将对象保存进数据库 session.delete(objec); // 提交事务 session.getTransaction().commit(); } catch (Exception e) { // 如有异常抛出,则回滚事务 session.getTransaction().rollback(); } finally { // 关闭会话 session.close(); sessionFactory.close(); } } /** * 根据id查找Entity Bean * * @param 类 * @param id * @return 从数据库中找到的一个对象 */ @SuppressWarnings({ unchecked, deprecation }) public T find(Class clazz, Serializable id) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 根据ID查找实体类对象 return (T) session.get(clazz, id); } finally { // 提交事务 session.getTransaction().commit(); // 关闭会话 session.close(); sessionFactory.close(); } } /** * 查找所有符合条件的元素,以列表形式返回 * * @param hql * ,from T where T.var1 = 小明 and T.var2 = 男 or T.var3.学生 * @return 返回符合条件的所有T */ @SuppressWarnings({ unchecked, deprecation }) public T list(String hql, T clazz) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 创建Query Query query = session.createQuery(hql); // 实例对象自动匹配 query.setProperties(clazz); // 执行查询 return (T) query.list(); } finally { // 提交事务 session.getTransaction().commit(); // 关闭会话 session.close(); //关闭连接 sessionFactory.close(); //清除临时对象指针 clazz=null; } } /** * 查找到某一个元素,查找前请确保所查找到的元素唯一 * * @param hql * from T where T.var1 = 小明 and T.var2 = 男 * @return 返回查询到的单个元素,若果有多个符合条件或者没有,则返回null */ @SuppressWarnings({ unchecked, deprecation }) public T find(String hql, T clazz) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 创建Query Query query = session.createQuery(hql); // 实例对象自动匹配 query.setProperties(clazz); // 执行查询 List list = (List) query.list(); if (list.size() == 1) return list.get(0); else { return null; } } finally { // 提交事务 session.getTransaction().commit(); // 关闭会话 session.close(); sessionFactory.close(); clazz=null; } } /** * 分页查询,即从第几个元素开始(pageNO页码*每页数目pageSize) 查询出最多pageSize个元素 * * @param hql * from T where T.var1 = 小明 and T.var2 = 男 or T.var3.学生 * @param pageNo * 页码 * @param pageSize * 每页最大数目 * @return 返回符合条件的所有T */ @SuppressWarnings({ unchecked, deprecation }) public T listPage(String hql, T clazz, int pageNo, int pageSize) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 根据HQL执行查询 Query query = session.createQuery(hql); // 设定当前要查询的记录位置 query.setFirstResult((pageNo - 1) * pageSize); // 设定查询的记录数目 query.setMaxResults(pageSize); // 实例对象自动匹配 query.setProperties(clazz); // 返回结果 return (T) query.list(); } finally { // 提交事务 session.getTransaction().commit(); // 关闭会话 session.close(); sessionFactory.close(); clazz=null; } } /** * 分页查询 使用前需要提前设定页码setPageNo()和每页最大数目setPageSize() 若果不设定,* 则默认为第一页,每页最大数目为10个 * 分页查询,即从第几个元素开始(pageNO页码*每页数目pageSize) * 查询出最多pageSize个元素 * * @param hql * from T where T.var1 = 小明 and T.var2 = 男 or T.var3.学生 * @return 返回符合条件的所有T */ @SuppressWarnings({ unchecked, deprecation }) public T listPage(String hql, T clazz) { // 开启一个Hibernate会话 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); try { // 开启事务 session.beginTransaction(); // 根据HQL执行查询 Query query = session.createQuery(hql); // 设定当前要查询的记录位置 query.setFirstResult((pageNo - 1) * pageSize); // 设定查询的记录数目 query.setMaxResults(pageSize); // 实例对象自动匹配 query.setProperties(clazz); // 返回结果 return (T) query.list(); } finally { // 提交事务 session.getTransaction().commit(); // 关闭会话 session.close(); sessionFactory.close(); clazz=null; } }//省略get和set方法 }
第6章 系统测试
系统测试,英文是System Testing。是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。
6.1 系统测试的目的及意义
1、 确保系统测试的活动是按计划进行的;
2、 验证软件产品是否与系统需求用例不相符合或与之矛盾;
3、 建立完善的系统测试缺陷记录跟踪库;
4、 确保软件系统测试活动及其结果及时通知相关小组和个人;。
6.2 web系统测试的方法
6.2.1功能测试
1、 链接测试
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
2、表单测试   
当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
3、Cookies测试  
 Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
4、设计语言测试  
 Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、 ActiveX、VBScript或Perl等也要进行验证。
5、数据库测试  
 在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。
在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
6.2.2性能测试
1、连接速度测试   
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2、负载测试  
 负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
3、压力测试   
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。
进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。
压力测试的区域包括表单、登陆和其他信息传输页面等。
6.2.3可用性测试
1、导航测试   
导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。
导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。   Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。
2、图形测试   
在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:
(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
(2)验证所有页面字体的风格是否一致。
(3)背景颜色应该与字体颜色和前景颜色相搭配。
(4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
6.2.4内容测试
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。
信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的拼音与语法检查功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓相关文章列表。
6.2.5整体界面测试
整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致? 对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。
6.2.6客户端兼容性测试
1、平台测试   
市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。
因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。
2、浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。   测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
6.2.7安全测试
 Web应用系统的安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
(2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。  
(5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
6.3 系统评价
系统评价是系统开发的最后步骤,它分析系统的处理,以确保系统能按预期要求运行。系统评价通常涉及:设计中对系统的运行及收益的要求与系统的实际运行及收益进行比较。系统运行后,重温设计中调查的成本、控制和复杂性因素。系统评价期间所揭示的问题和时机将会反馈给系统开发,并重新开始处理。
本系统经过测试后符合使用要求能共正确的、持续稳定的运行。
结论
在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对旅店登记的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本旅店登记系统是一套旅店在日常管理中必不可少的管理软件,通过开发这个系统,我了解了SQL的基本知识巩固了我对JSP的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法。
对JSP了解不够,不能很大发挥其语言功能,尤其在编写代码的时候不能够熟练使用,而是到处查阅资料,也不能够很准确的区别出相近功能指令的各自功能特点,使得在本系统的实现过程中,放弃了一些很好的设想和功能,也是一种遗憾。
但是总的来说,这次的毕业设计对我来说是一次非常难得的锻炼机会。毕业使我对几年来所学的专业课知识得到了融会贯通,得到了比任何一门课都大的提高和进步。
致谢
短暂的毕业设计时间就要结束了,在做这个毕业设计期间,我受到了来自同事,同学以及老师的关怀和帮助,使我在设计旅店登记系统的时候能够解决我以前做不到的难题。在此我特别感谢我的指导老师——郑美珠老师,感谢他们细心地帮助我解决系统设计的瓶颈,检查系统的缺陷和不足,以及纠正我的论文上的问题。
在短暂的毕业设计时间中,我查阅了大量的资料,查看了很多成熟的技术文档,并将这些技术组合充实进了我的系统。这次毕业设计使得我学习到了很多在学校里学不到的知识和技术,对于以后的工作和学习提供了可靠的基础。
在设计系统的时候,许多人帮助我,同时也教会了我一些在设计系统和设计界面上的一些知识,让我感触很深,谢谢你们的无私奉献。你们让我更加进步。
当然,由于时间上的不足,这个毕业设计做的并不是很完美,我会在以后的时间里尽可能的完善它。最后再次真诚的感谢帮助过我的老师、同学、同事们。
参考文献
[1] 夏昕 / 曹晓钢 / 唐勇 深入浅出Hibernate:电子工业出版社,2005-6-13-35
[2] 张海藩.软件工程导论[M]:清华大学出版社,2008,第5版:15-20
[3] 朱福喜,黄昊.Java项目开发与毕业设计指导[M]:清华大学出版社,2008,20-40
[4] 印昊.JAVA与面向对象程序设计[M]:高等教育出版社,2004,61-67
[5] 李刚. 轻量级J2EE企业应用实战:电子工业出版社2007 年4月
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2008年9月.
[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2009年5月1日.
[8]孙涌.《现代软件工程》.北京希望电子出版社,2006年8月.
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2008年2月.
[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2009年3月.
[11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2009年5月.
[12]朱红,司光亚.《JSP编程指南》.电子工业出版 2009年5月.
旅店登记系统
前台端
其它员工端
管理员端
前台端管理
客人入住
入住记录
更换房间
房间列表
客人续住
客人退房
记录消费
退出系统
其它员工端管理
房间状态
房间列表
服务记录
退出系统
管理员端管理
系统说明
增删前台员工
增删其它员工
增删房间
设定费用
设定折扣
查询操作记录

基于JSP的酒店登记预定系统的设计与实现相关推荐

  1. 网上酒店客房预定系统数据库设计

    一.课程设计题目: 某酒店拟开发一个网上酒店客房预定系统,以方便客户预约订房,提高酒店管理水平.客户在入住酒店前需提供姓名.身份证号码.联系电话等个人信息在酒店网站进行预定,预定成功后酒店需发送确认信 ...

  2. 基于SSM的酒店入住预定系统(JavaWeb毕业设计源码)

    项目类型:JAVA WEB项目 项目名称:基于SSM的酒店信息管理系统 用户类型:2个角色(管理员+入住客户) 系统类型:前端网站+后台系统 设计模式:SSM(Spring+SpringMVC+Myb ...

  3. 基于jsp(java)网络教学平台系统的设计与实现

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 摘 要 远程教育作为现代教育技术的形式,给教育思想与技术带来了革命性的变革,己经成为现代教育的 ...

  4. 基于jsp(java)网络教学平台系统的设计和开发(含源文件)

    获取项目源文件,联系Q:1225467431,可指导毕设,课设 摘 要 远程教育作为现代教育技术的形式,给教育思想与技术带来了革命性的变革,己经成为现代教育的必然要求.远程教育要得以顺利.高效的实施, ...

  5. 基于JSP的“爱心宠物诊所”系统课程设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/86790632 资源下载地址:https://download.csdn.net/downl ...

  6. 基于JSP的新鲜水果销售系统的设计

    技术:Java.JSP等 摘要: 现如今,随着网络技术的飞速发展,互联网为人们提供方便.快捷地进行网上购物渠道.在全球化和信息化的背景下,传统水果店的水果受到地域.时节的限制已无法满足人们多种多样的需 ...

  7. 基于jsp/ssm的互联网就医系统的设计与实现

    摘要 我国的医疗改革中还有很多地方还未得到妥善解决.当前国外大多数知名医院都已建立了为自己量身定做的互联网就医系统,而国内的医院网上互联网就医系统则刚刚起步,存在着网站信息杂乱,操作复杂,实用性差等问 ...

  8. 基于jsp的影视创作论坛系统毕业设计(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    摘要: 本文基于JSP技术,设计并实现了一个基于JSP的影视创作论坛系统.该系统旨在提供一个在线平台,供影视创作者交流.展示作品和分享经验.系统具备用户注册.登录.发表文章.评论.上传作品等功能,以满 ...

  9. 基于JAVA体育城场地预定系统后台计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA体育城场地预定系统后台计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA体育城场地预定系统后台计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S ...

最新文章

  1. HarmonyOS 怎样打印log/日志的打印
  2. iOS 如何写出更加严谨的应用
  3. linux系统vsftpd登陆慢卡怎么办
  4. Chrome 对于 glyphicon 字体图标不显示的解决办法
  5. VHDL实现打地鼠游戏设计
  6. LeetCode 801. 使序列递增的最小交换次数(动态规划)
  7. inputstream 初始化_如何完美回答面试官问的Mybatis初始化原理!
  8. 字节跳动AI Lab招聘算法工程师,含全职和实习
  9. 掌握JS压缩图片,这一篇就够了
  10. VS2017 无法使用XXX附加到应用程序
  11. pb11.5调用系统打印机
  12. 关于/etc/login.defs
  13. win32应用程序和win32控制台应用程序
  14. #榜样的力量#工业富联富集云防疫 App丨数据猿新冠战“疫”公益策划
  15. 实时联网游戏后台服务技术选型和挑战(一)
  16. HTTP协议:三.HTTP 报文信息
  17. SQL Server数据库通过身份证号获取年龄段分布
  18. matlab 窄带高斯过程仿真,噪声干扰信号的Matlab仿真.doc
  19. 2021-2027全球与中国工业轴向柱塞泵市场现状及未来发展趋势
  20. java热加载_java热加载

热门文章

  1. 软件工程(考研面试版)
  2. 图像的 matlab代码,常用的一些图像处理Matlab源代码
  3. 【补充】为什么一定要用残差图检查你的回归分析?
  4. Fedora 34 Workstation安装后的配置
  5. 单模光电转换器怎么接_光纤收发器怎么连接?光纤收发器连接图解!
  6. 如何设计一个权限管理模块?
  7. 单片机数字滤波c语言程序,单片机系统中数字滤波的算法【C程序整理】
  8. 如何将证件照的休闲装变职业装
  9. Android 游戏设计教程:游戏元素和工具
  10. TCPDF 解决中文乱码的问题