java毕业设计 宾馆管理系统_第1页
java毕业设计 宾馆管理系统_第2页
java毕业设计 宾馆管理系统_第3页
java毕业设计 宾馆管理系统_第4页
java毕业设计 宾馆管理系统_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档毕业设计题 目 基于WEB的宾馆管理系统 的设计与实现 学 院 信息科学与工程学院 专 业 计算机科学与技术 班 级 计0905 学 生 张允 学 号 20091221537 指导教师 张* 二一三 年 六 月 七 日摘 要随着我国经济以及科学技术的迅速发展,宾馆酒店行业的竞争越来越激烈。若要想在竞争中脱颖而出,必须在营业管理、宾馆服务等方面提高服务管理意识。而对宾馆的日常营业状况,宾馆的管理及服务起了相当大的作用。为提高宾馆的管理水平,提供一套完善的宾馆管理软件是必不可少的。一套完善的宾馆管理软件有利于提高宾馆的综合服务水平,更是帮助宾馆管理好内部的秩序,减少工作人员的工作量。因此,采用全新的计算机管理系统软件,将大大提高宾馆的管理效率以及服务水平。在Internet时代,已经有越来越多的人接触到互联网,基于WEB发布信息更加符合现代人生活的需要。系统是在Windows7操作系统的环境下,采用B/S开发模式,使用MyEclipse 6.5、MySQL开发工具和SSH框架技术开发的宾馆管理系统。系统操作简单、快捷,极大地减少了职员的工作量,还大大提高数据的准确性。本报告除了对宾馆不同角色的各个功能模块作了详细的介绍,还在功能描述过程中配有插图,能够更好地帮助用户理解和使用该系统的基本模块。关键词:宾馆,酒店,管理,SSH,MyEclipseABSTRACTWith our Countrys economy and technology of science developing rapidly, the hotels competition is more and more fierce. If one hotel want to be successful from the competition, the hotel must improve its service consciousness in the business management, hotel services, etc.And hotels manangement and service plays an important role on the hotels business.In order to improve their management and service,a set of a perfect hotel management software is necessary.Not only it can improve the hotels management and service level, but also can help the hotel manage its internal order and reduce the workload of staff. Therefore, using a brand computer management system will improve the efficiency of management and service level in the hotel.In the era of the Internet, more and more people have chance to access to the Internet.So it is necessary to develop a system based on WEB of publishing information.The system is in environment of Windows 7 operating system and adopting B/S development model,using the software of MyEclipse 6.5 and MySQL development tools and the SSH framework technology that developing this hotel management system. This system operated very simply, fast and can reduce a lot of workload from staff and greatly improve the accuracy of the data. This report describe different roles of each function module in detail.In addation,the report is equipped with illustrations, in the process of functional description to help better understand and use function of the system. Key words: Hotel, Management, SSH, MyEclipse目 录摘 要IABSTRACTII目 录III1课题研究背景12相关技术简介22.1SSH框架简介22.2jQuery技术简介22.3AJAX技术简介22.4HQL简介22.5jqPlot绘图插件简介32.6MyEclipse开发工具简介32.7MySQL数据库简介33可行性分析43.1技术可行性43.2经济可行性43.3操作可行性44需求分析54.1系统功能需求54.1.1功能描述54.1.2用例图84.2系统性能需求94.2.1数据精度94.2.2时间精度94.2.3响应速度104.2.4实用性104.3软硬件支持104.3.1开发环境104.3.2运行环境105系统总体设计115.1系统功能模块115.2系统功能结构图115.3系统流程图136数据库设计146.1数据库概要说明146.2概念结构设计146.3逻辑结构设计187系统详细设计与实现217.1搭建开发环境217.2系统模块详细设计247.2.1通用代码247.2.2注册登录模块设计267.2.3投票调查模块设计287.2.4评论模块设计297.2.5房间预订模块设计307.2.6房间退订模块设计347.2.7宾馆主页模块设计(前台职员)357.2.8客房管理模块设计387.2.9顾客管理模块设计407.2.10消费服务模块设计407.2.11盈利统计模块设计43结 论46参 考 文 献48致 谢49.1 课题研究背景随着我国经济以及科学技术的迅速发展,宾馆酒店行业的竞争越来越激烈。若要想在竞争中脱颖而出,必须在营业管理、宾馆服务等方面提高服务管理意识。而对宾馆的日常营业状况,宾馆的管理及服务起了相当大的作用。为提高宾馆的管理水平,提供一套完善的宾馆管理软件是必不可少的。一套完善的宾馆管理软件有利于提高宾馆的综合服务水平,更是帮助宾馆管理好内部的秩序,减少工作人员的工作量。因此,采用全新的计算机管理系统软件,将大大提高宾馆的管理效率以及服务水平。2 相关技术简介2.1 SSH框架简介在本系统中,SSH 分别指的是Struts2、Spring、Hibernate框架。相对于Struts1而言Struts2的流程相对简单,而且不用处理编码问题,这也是选择Struts2的主要原因之一。编写Action类来实现业务逻辑的处理。Hibernate使用开发工具自动添加支持,用来实现dao层,其中包括数据访问接口和对应的实现类,直接操作数据库。Spring用来实现解耦、管理,用来管理Struts和Hibernate。其中解耦体现在依赖注入,在配置文件中进行对象的创建和生成依赖。2.2 jQuery技术简介jQuery底层封装了JavaScript,可以实现网页的动态效果。本系统中jQuery的作用有两点:1是使用jQuery技术发送ajax请求,实现网页局部的动态刷新;2是给网页添加动画效果、事件处理和动态生成html元素。2.3 AJAX技术简介AJAX 指异步JavaScript和XML,即Asynchronous JavaScript And XML。在web应用开发中,取代普通的表单请求,向服务器发送ajax请求,优点是服务器请求处理的过程中,客户端的浏览器不用等待服务器响应后才继续执行,可以继续操作,而且只能通过JavaScript触发事件的方式发送,实现局部刷新。AJAX包含的技术有JavaScript、XML、DOM、DHTML、JSON。2.4 HQL简介HQL是Hibernate Query Language,即Hibernate查询语言。本系统使用Hibernate中的HQL代替JDBC的SQL进行操作数据库。HQL的几个特点:1、HQL查询的是类中的属性,而不是表中的字段;2、除了类名、属性名等关键字外,其他大小写不敏感;3、HQL中,不能直接使用*;4、当进行投影查询时,默认返回的是Object类型的数组。2.5 jqPlot绘图插件简介jqPlot是一个第三方的jQuery绘图插件,可以使用它制作漂亮的线状图和柱状图以及饼图。jqPlot支持为图表设置不同的样式,用户可以根据自己的喜好来进行配置,比如可设置柱条宽度、颜色、阴影等。2.6 MyEclipse开发工具简介MyEclipse是一个优秀的用于开发Java、WEB的Eclipse插件集合,功能强大,支持也非常广泛,能够编写Java、JSP、Servlet等程序,同时支持SQL Server、MySQL、Oracle等数据库的连接。使用MyEclipse开发和发布JaveEE工程,可以极大的提高工作效率,减少开发周期。而且MyEclipse是功能十分丰富的JavaEE集成开发环境,包括了完善的编码、测试和发布功能。2.7 MySQL数据库简介MySQL是一个关系型的数据库管理系统,将数据保存在不同的数据表中,这样增加了存储的速度同时提高了灵活性。因为速度快、体积小、成本低等优点,经常被用于中小型网站的web开发。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL也有它不足之处,比如规模小等,但依旧不影响该数据库的受欢迎程度。3 可行性分析3.1 技术可行性技术可行性是指决策的技术和决策方案的技术不能超过组织所拥有的或有关人员所掌握的技术的范围。开发该宾馆管理系统,用到的技术并不复杂,包括一门高级编程语言和一个关系型的数据库管理系统。MySQL在安全性、准确性和运行速度方面都有不错的效果,并且处理数据库量较大,效率较高,而本系统采用的前台开发工具MyEclipse6.5集成开发环境中的Java语言及与之关联的SSH框架所提供的各种控件、方法可以帮助我们完成系统的开发。应用程序由MyECLipse6.5集成开发环境中的Java、JSP、SSH编程语言进行开发。3.2 经济可行性经济可行性主要是指可以使用的资源的可能性,其包括人力资源、自然资源和资金条件。宾馆管理系统从设计、开发、运营到维护所需要的成本较低,不需要过多的人力和自然资源,开发周期也不会很长,而且在软硬件方面的要求都不是很高。但是一套宾馆管理软件会给宾馆带来巨大的收益,能够创造更多的价值。3.3 操作可行性操作可行性是指系统交付后是否易于使用并能够创造一定的价值。本宾馆系统采用界面化设计,简单易用容易上手,各项数据都用表格或图表形式显示出来。在顾客端,用户可以按照提示方便的进行房间房间预订;在前台职员端,用户同样可以方便地对宾馆进行管理。同时也能减少错误的出现,保证数据的正确性。4 需求分析为了开发出真正能够满足用户需求的软件产品,必须详细地了解用户有哪些需求。对软件需求的深入理解是软件开发工作获得成功的必要条件,不论开发人员将设计和编码工作做的有多么完善,如果不能满足用户需求,结果只能会让用户失望,给开发人员带来烦恼。4.1 系统功能需求通过需求分析阶段对宾馆管理系统的整个应用情况作全面的、详细的调查,确定宾馆管理的实现目标,收集支持系统总体的设计目标的基础数据和对这些数据的要求,确定用户的详细需求,并把这些写成用户和数据库设计者都能接受的文档。为了使得系统更加人性化,减少工作人员的工作量,使管理更加方便快捷,提高数据的准确性,系统一定要有相应的功能来实现宾馆管理中实际相应的功能,包括房间的预定、入住、结算,顾客的管理,盈利统计等。本系统主要分为两种角色,顾客和前台职员,根据不同的角色登录不同的地址,可行使不同的功能。4.1.1 功能描述顾客端的功能需求:(1) 顾客网上注册登录模块顾客进入该网站后可查看宾馆主页的信息,但不能预订房间、投票和评论,要执行这些功能,顾客必须首先要登录系统。为顾客添加一张注册登录表,顾客在注册时,在后台为顾客随机生成一个19位的数字字符串,以模拟网上支付。为注册和登录添加各种验证,比如判断输入的信息是否为空字符串、昵称是否已存在。(2) 顾客端主页显示模块顾客进入网站后默认显示宾馆主页模块,在该模块中显示了宾馆的简介,并包含了三个辅助功能:a) 百度地图功能,实现宾馆的详细定位,方便顾客查询b) 投票调查功能,仿照百度贴吧的投票功能,投票前必须首先登录该网站。投票成功后自动刷新数据和条状图的长度。使用设置按钮为不可用状态来防止顾客恶意地刷票。c) 提交评论功能,使用分页显示所有顾客的评论,顾客登录后提交评论,在首先第一行显示最新提交的评论,并局部刷新,评论包括顾客昵称、评论内容、评论时间。(3) 顾客网上预定房间模块房间预订模块式该系统在顾客端的核心模块,该模块为顾客显示了所有的房间信息,包括房间的状态以及预订、入住房间的时间,方便顾客根据已预订、入住的时间来安排自己的预定时间。其中图片为1扇门表示单人间,2扇门表示双人间,图片的颜色代表房间的不同状态,绿色代表空房,黄色代表预定,红色代表入住。该模块主要包含了三个功能:a) 日期检查,在预定房间之前,首先要对输入的预定时间进行检查,判断所填的时间是否合法,如果不合法或者有冲突,则不能预订。日期检查分为三种情况:1) 预定日期必须大于等于今天的日期;2) 离店日期必须大于预定日期;3) 预定日期离店日期不能与其他的日期有冲突。b) 预定房间,当预定空房时,图片颜色由绿黄,预定已经预定、入住的房间时,颜色不变。根据选择的支付方式来决定是否显示网上支付界面。c) 网上支付,该宾馆系统模拟了网上支付,选择支付银行、输入银行卡号和验证码,提交后实现网上支付。(4) 顾客网上退订房间模块房间成功预订之后,可以查看自己预订的房间信息,并且可以实现退订,退订模块实现了两项功能:a) 查看房间信息,预订成功后,可以查看预定的房间信息并进行核实,如果信息有误获取预定日期不符合要求,可是进行退订b) 退订功能,后台实现与预定房间功能相反。宾馆前台职员的功能需求:(1) 宾馆主页模块(前台职员端)宾馆前台职员进入网站并登录后,首先进入宾馆主页页面,在这里可以执行宾馆前台端的核心功能:办理网上预定、办理前台预订、前台入住、办理离店、查看今日入住和今日离店房间房间、查看房间信息等。a) 办理今日离店,顾客入住到期时,主页会自动显示哪些房间的顾客今日需离店。办理完成后,判断房间是否有预定,如果没有,则红绿,如果有预定,则红黄。b) 办理今日入住(网上预订),顾客在网上预定房间后,当到达预定日期时,宾馆主页刷新会显示哪些房间的顾客今日会入住,并可根据房间号查看房间的详细信息。办理完成后,房间颜色由黄红。c) 办理预定、入住(前台),顾客直接到宾馆前台进行办理,同网上预订,需要输入顾客的信息,并进行日期检查,并前台支付。房间图片颜色同样需要相应地改变。d) 增删房间,因为一个宾馆的房间数是固定的,所以并不是真实的删除或添加一个房间,而是将一个房间状态变为维护状态(模拟房间删除),而且只有空房才能转换为维护状态,绿黑。当进入维护状态后,顾客端预定房间时就不能预定维护房间;当前台职员端将房间由维护状态重新改为空房(模拟房间添加),顾客端可以预定该房间。(2) 客房管理模块客房管理模块主要的功能是实现多种方式的房间查询,进入该页面后,初始化所有的房间信息,按房间查询,可根据房间类型、房间状态、房间人数分别进行查询,按顾客查询,可输入顾客的身份证号或姓名进行查询。此外,还对所有的房间设计排序,按每个字段、属性都有升序、降序排序。(3) 顾客管理模块顾客管理模块主要的功能是实现多种方式的顾客查询,进入该页面后,初始化所有的顾客信息,可以根据顾客的各个属性进行查询,也可以根据各个属性进行排序,比如身份证号、姓名、联系电话等。(4) 消费服务模块该模块显示该宾馆的服务,供顾客消费。主要提供了两部分的功能:服务的查询和服务的更新。a) 服务查询,可根据服务类型、服务名称、服务编号查询,同样提供排序功能。b) 服务更新,顾客的消费或者宾馆进货等都会改变服务的属性,所以服务更新同样需要分成5项:顾客消费:当有顾客消费时,需要输入服务编号和数量,计算费用后更新初始化列表,服务余量减去消费数量。如果消费数量大于服务余量,则提示错误信息。商品购入:当服务余量不足时,宾馆需要购入商品,后台实现与顾客消费功能相反,输入服务编号和数量,计算费用后更新初始化列表,服务余量加上购入数量。修改服务:入股服务的信息有变动,则可以修改服务的信息,但服务编号默认是不变的,修改完成后自动更新初始化列表。添加服务:后台自动检测最大服务编号,然后加1作为新服务的服务编号,添加完成后更新初始化列表。删除服务:如果宾馆不在需要某项服务,可以删除掉服务,根据输入的服务编号删除服务,并更新初始化列表。(5) 盈利统计模块该模块统计了宾馆的盈利情况,包括历年统计(初始化数据),年-月统计,年-月-日统计。当执行和费用有关的操作时,比如顾客网上支付、前台预订、入住、顾客消费、商品购入等,会自动更新统计情况。a) 历年统计,不需要输入年和月,只需点击按钮即可查询历年的盈利额b) 年-月统计,是根据年查询某年的12个月的盈利情况c) 年-月-日统计,选择某年和某月,查询一个月的31天的盈利额(不足31天的设置盈利额为0.0,如4月31号的盈利额为0.0),如果年和月有一项没选,则不发送请求。d) 今日统计,显示今日盈利、本月盈利、今年盈利,使查询更加直观。4.1.2 用例图顾客注册、登录预定房间网上预订退订房间满意调查评论图4.1 顾客用例图宾馆职员登录预定办理入住办理离店办理客房管理顾客管理服务消费盈利统计图4.2 宾馆职员用例图4.2 系统性能需求4.2.1 数据精度系统的数据精度主要体现在各种费用的计算上,因为系统只应用于一般性的营业操作,对数据精确度的要求不是很高,但在盈利统计方面还是将数据精确到“元”;4.2.2 时间精度时间精度体现在顾客在网上以及在宾馆前台预订房间时的预定时间上,本系统设计的房间共有四中状态:空房、预订、入住和维护,当所预订的房间是空房时,不需要进行预订时间检验,当房间状态为预定或者入住时,需要进行时间检验,判断顾客所输入的预定或者入住时间是否合法,即预定的时间不能与已预订的时间有冲突,这既可实现一个房间的多次预定,又保证了时间精度。4.2.3 响应速度此系统界面设计简洁但功能大体完整,页面素材尺寸较小,jsp页面布局也不复杂,并采用ajax技术实现页面的局部刷新,提交请求时不影响浏览器的用户操作,业务逻辑处理没有复杂的循环,因此系统的响应速度较快。4.2.4 实用性宾馆日常都处于营业状态,因此软件也要有能力长期地工作,应用性能良好的开发软件和关系型数据库,保证数据的完整性。该系统的用户界面设计简洁美观,用户只需简单的培训即可操作使用。4.3 软硬件支持4.3.1 开发环境(1) 操作系统:Windows 7 Ultimate SP1(2) 开发工具:MyEclipse 6.5(3) 数据库:MySQL 5.0(4) 服务器:Tomcat 6.0.29(5) 文档制作系统:Microsoft Office Word 2007(6) 测试工具:Windows Internet Explorer 9.04.3.2 运行环境(1) 操作系统:Windows 7、Windows XP(2) 浏览器:IE 9.0以上、Google Chrome(3) 服务器:Tomcat 6.0.29(4) 硬盘容量:1G或以上(5) CPU主频:1.3GHZ或以上(6) 内存容量:512MB或以上(7) 显示分辨率:建议1366*7685 系统总体设计5.1 系统功能模块为提高宾馆的管理水平,提供一套完善的宾馆管理软件是必不可少的。一套完善的宾馆管理软件有利于提高宾馆的综合服务水平,更是帮助宾馆管理好内部的秩序,减少工作人员的工作量。因此,采用全新的计算机管理系统软件,将大大提高宾馆的管理效率以及服务水平。根据宾馆的具体情况,系统中不同的角色有不同的具体的功能。(1) 顾客端:注册登录模块:顾客的注册和登录宾馆主页模块:提供给顾客基本的宾馆信息和具体位置。满意调查模块:使用div实现一个投票功能。提交评论模块:顾客对宾馆进行评论,分页的形式显示。房间预定模块:预定房间、时间检验、前台/网上支付。房间退订模块:退订房间。(2) 前台职员端:客房主页模块:办理今日入住、今日预定,增、删房间,查看房间信息,办理房间预订、入住、时间检验。客房管理模块:对房间的各种方式的查询,排序。顾客管理模块:对顾客的各种方式的查询,排序。消费服务模块:对宾馆内的服务提供增删改查、排序功能。盈利统计模块:对宾馆的年、月、日盈利情况进行统计。5.2 系统功能结构图如图5.1所示宾馆管理系统前台职员端顾客端注册登录宾馆主页房间预订房间退订宾馆主页客房管理顾客管理消费服务盈利统计顾客注册顾客登录百度地图投票调查提交评论办理预定办理入住办理离店增删房间客房查询顾客查询顾客消费商品购入修改服务添加服务删除服务历年统计年-月年-月-日今日统计日期检验网上支付图5.1 系统功能结构图开始5.3 系统流程图查看宾馆信息进入网站注册登录提交评论投票调查预定房间网上支付?否是网上支付结束图5.2 系统流程图(顾客端)开始登录是是是是否办理预订?网上预订?办理入住?否否否办理离店交费网上预订?办理预订交费办理入住结束图5.3 系统流程图(前台职员端)6 数据库设计6.1 数据库概要说明在MySQL5.0 数据库中建立名为hotel_system2的数据库,根据对系统的分析和设计,共创建了10张表,数据表设计如下所示,图6.1:register表:用户注册登录表customer表:顾客表room表:房间表commentary表:宾馆评论表research表:投票调查表clerk表:职员表service表:宾馆服务表dayprofit表:日盈利表monthprofit表:月盈利表yearprofit表:年盈利表图6.1 数据库表6.2 概念结构设计概念设计使用E-R图进行描述。根据数据库需求分析规划出的实体有:用户注册实体、顾客实体、房间实体、投票调查实体、提交评论实体、服务实体、盈利实体等实体E-R图如下所示:注册用户编号昵称密码房间号银行卡号余额图6.2 注册用户实体-属性图顾客身份证姓名性别电话入住时间房间号图6.3 顾客实体-属性图离店时间状态支付方式客房房间号类型人数价格日期范围状态图6.4 客房实体-属性图投票调查选项编号选项名称投票数量图6.5 投票调查实体-属性图评论评论编号用户昵称评论内容评论时间图6.6 评论实体-属性图宾馆服务服务名称服务类型服务成本服务余量服务售价图6.7 宾馆服务实体-属性图服务编号年盈利年份盈利额图6.8 年盈利实体-属性图图6.9 月盈利实体-属性图年份一月二月十一月十二月日盈利图6.10 日盈利实体-属性图年月1日2日30日31日顾客客房支付入住预定图6.11 顾客端综合E-R图职员客房查询维护顾客查询服务添加删除修改查询月盈利图6.12 前台职员端综合E-R图6.3 逻辑结构设计逻辑结构设计的任务是将概念结构设计阶段所得到的概念模型转换为具体数据库管理系统所能支持的数据模型,即由E-R图转换为数据库表。表6.1 顾客注册登录表字段名数据类型长度可否为空是否主键描述idint11not null是编号,自增nicknamevarchar32昵称passwordvarchar32密码roomidint11房间号datescopevarchar32日期范围bankCardIdvarchar32银行卡号moneyint11余额表6.2 顾客表字段名数据类型长度可否为空是否主键描述idvarchar32not null是身份证号namevarchar32顾客姓名genderchar1顾客性别phonevarchar32联系电话roomidint11房间号livedatevarchar32入住日期leavedatevarchar32离店日期statusint11顾客状态paywayint11支付方式表6.3 房间表字段名数据类型长度可否为空是否主键描述idint11not null是房间号typevarchar32房间类型bednumint11房间人数pricedouble房间单价statusint11房间状态datescopevarchar200日期范围表6.4 投票调查表字段名数据类型长度可否为空是否主键描述idint11not null是编号、自增namevarchar32选项名称numint11投票数量表6.5 宾馆评论表字段名数据类型长度可否为空是否主键描述idint11not null是编号、自增registernamevarchar32顾客昵称contentvarchar200评论内容commentdatevarchar32评论时间表6.6 宾馆服务表字段名数据类型长度可否为空是否主键描述idint11not null是服务编号namevarchar32服务名称typevarchar32服务类型costdouble服务成本pricedouble服务售价remainint11服务余量表6.7 年盈利表字段名数据类型长度可否为空是否主键描述yyyyint11not null是年profitdouble年盈利表6.8 月盈利表字段名数据类型长度可否为空是否主键描述yyyyint11not null是年mm01double1月盈利mm02double2月盈利mm11double11月盈利mm12double12月盈利表6.9 日盈利表字段名数据类型长度可否为空是否主键描述yyyymmvarchar32not null是年-月dd01double1日盈利dd02double2日盈利dd30double30日盈利dd31double31日盈利7 系统详细设计与实现7.1 搭建开发环境添加Hibernate3.1支持,自动生成Hibernate.cfg.xml 配置文件,并添加相应的jar包,根据数据库表反向生成对应的实体类和映射文件。添加Struts2支持,为了避免相关jar包的冲突,手动添加Struts2支持,导入相关jar包,并在src目录下创建struts.xml配置文件。添加Spring3.2支持,与添加Struts2相同,不使用MyEclipse工具添加,手动添加相应的jar包,在WEB-INF下创建applicationContext.xml文件。因为Hibernate交给Spring管理,所以应删除Hibernate.cfg.xml文件。(1) struts.xml文件配置如下:(2) applicationContext.xml文件配置如下:com/etoak/bean/Register.hbm.xmlcom/etoak/bean/Customer.hbm.xmlcom/etoak/bean/Room.hbm.xmlorg.hibernate.dialect.MySQLDialecttruetrue(3) web.xml文件配置如下:struts2org.apache.struts2.dispatcher.FilterDispatcherstruts2/*org.springframework.web.context.ContextLoaderListenercontextConfigLocation/WEB-INF/applicationContext.xml index.jsp 7.2 系统模块详细设计7.2.1 通用代码(1) 判断是否已登录顾客端用户登录时,会将用户信息放入session中。如果用户会执行更新数据库的操作,需要判断用户是否,在jsp页面中用EL表达式获取用户,使用jQuery技术判断获取的用户是否为空字符,代码实现如下:function isLogin()/获取hidden的内容var isLogin = $(input#hidden_nickname).val();/判断是否已登录,如果登录,则返回trueif(isLogin=)return false;elsereturn true;(2) 数据写回到客户端js用jQuery技术发送ajax请求,在action中执行业务逻辑,并将结果返回到客户端的js。Struts2提供了json插件,可将返回的数据封装在json中,并实现与servletAPI的解耦,但有时使用json封装并不太实用。这种情况使用PrintWriter将数据写回到客户端的方式,代码实现如下:public void returnToJs(String str)/写回到客户端的jsHttpServletResponse response = ServletActionContext.getResponse();response.setContentType(text/plain;charset=utf-8);PrintWriter out = null;try out = response.getWriter(); catch (IOException e) e.printStackTrace();out.print(str);out.flush();out.close();(3) 更新数据库的盈利额当执行房间的预定、入住时,会牵扯到费用问题,同时和预订、入住的日期有关,应根据具体的日期调用相应的方法。因此,需要用反射获取类中的所有方法,并根据日期拼凑成方法名,调用Method类的invoke( )方法,及执行了相应的get和set方法。核心代码实现如下:/根据反射,分别获取所有方法Method methods_dp = null;/原来的金额double oldmoney_dp = 0;/用反射实现分别获取本类中的所有方法try methods_dp = Class.forName(com.etoak.bean.Dayprofit).getDeclaredMethods(); catch (Exception e) e.printStackTrace();for(int i = 0;imethods_dp.length;i+)/如果组成的get方法名和该类中的某个方法的方法名相同,则调用该方法if(dayGetter.equals(methods_dpi.getName()try oldmoney_dp = (Double)metho

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论