




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
盐城师范学院毕业设计盐 城 师 范 学 院毕业设计旅游管理系统的设计与实现 学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 学 号 指导教师 2016年5月27日 旅游管理系统的设计与实现摘 要当下,互联网技术已经渗入现代企业中,数据信息化、电子商务模块飞速发展。因此,人们的选择范围更加广阔,种类繁多,花费的时间也越来越多,这就要求我们提供一个完整的个性化的服务系统。为了避免无计划的盲目出行,网络定制旅游路线成为人们的首选工具。 本系统用Java进行开发,结合struts2+spring+hibernate以及bootstrap3等框架使用,前台使用JSP动态页面技术。主要实现了对旅游信息的管理,并通过该系统实现游客的在线预订报名操作,借助计算机对信息的数据化处理,更加直观明了,简化了信息检索的过程。【关键词】框架;旅游管理系统;JSP 全套设计加扣 3012250582 The Design And Implementation Of Tourism Management SystemAbstract Nowadays, the Internet technology has infiltrated the modern enterprise, the data information and the e-commerce module was developed fast .Therefore, people have more choices, it takes more and more time, which requires us to provide a complete personalized service system. In order to avoid unplanned travel blindly, network customized travel routes become the tool of choice. The system is developed using Java and using frameworks like struts2+spring+hibernate and bootstrap3, front desk using JSP dynamic page technology. This system mainly realizes the management of tourism information, and through the system to achieve visitors online booking registration operation. With the help of computer to the information data processing, more intuitive to understand and simplify the process of information retrieval. Keywords Framework, The tourism management system, JSP 目 录1 课题概述11.1 课题开发背景11.2 课题研究现状11.3 课题研究内容11.4 课题研究目的12开发工具与相关技术介绍22.1 MySQL22.2 MyEclipse22.3 SSH框架23 系统需求分析23.1性能需求分析23.2功能需求分析24 系统设计54.1系统结构说明54.1.1系统结构描述54.1.2系统基本模块54.2数据库设计65 系统实现85.1概要设计85.2系统组织结构85.3具体实现95.3.1网站首页95.3.2登录105.3.3注册125.3.4管理员后台首页135.3.5热点新闻管理146系统测试156.1系统测试概述156.2测试用例与结果157课题总结17参考文献18致 谢19 盐城师范学院毕业设计1 课题概述1.1 课题开发背景现阶段,互联网应用进入了一个新的阶段,信息化办公标准渗透到各行各业中,带动其产业的发展。人们从互联网上获取和传递信息,Internet在人们生活中的各个方面占有重要的比例。人们生活水平相比过去提升很多,更多的人选择假期出门游玩,如何获取游玩景点的信息以及选择适合的游玩方式是我们首要考虑的问题。就这种情况,很多人看到了商机,大量的旅游公司出现,但是然目前市场上已经有成熟的旅游公司,但无法为人们提供全面的信息,不能快速为用户提供信息,且工作效率缓慢,需要靠手工收集信息,人为处理信息。途牛网与携程网的出现,带领旅游事业向互联网方向发展。此外途牛网与携程网通过对大量数据的处理,将旅游信息分类,根据用户的浏览记录,分析用户的大致需求,有针对性地提供相关信息。据网站数据显示,使用PC端旅游系统的人数比例逐渐增大,所以,未来PC端旅游管理系统发展前景可观。 本文将详细地介绍本系统设计与实现的过程。1.2 课题研究现状各种基于MVC模式的框架的发展,简化了开发步骤,降低了开发难度。本系统采用的SSH框架是近年来应用最广泛的组合框架。利用这套框架可以方便高效地进行系统的开发。 1.3 课题研究内容旅游管理系统是将各种旅游信息处理分类处理,实现信息化管理。游客可以使用本系统浏览新闻、旅游风景或者是提前了解最新的路线活动,这些都能在出发之前了解清楚,有了想法后可注册成为用户参与活动,发表留言。管理员可以对网站内容进行更新,处理报名,审核留言等。 1.4 课题研究目的本系统主要用于旅游信息管理,能简化信息检索的过程,实现高效便捷的信息管理。利用互联网对旅游信息进行快速有效的管理。 2开发工具与相关技术介绍2.1MySQL 任何程序的开发都不离开大量数据,本系统是旅游管理系统,涉及数据庞大,所以采用数据操作功能强大的MySQL。与其他数据库相比,从对保持数据的完整性、对数据强大的操作性能以及对数据安全性的保证,MySQL更适用于小型程序的开发使用。 2.2 MyEclipse 在本系统使用的开发工具是MyEclipse。在企业级的程序开发中,MyEclipse是工程师们的首选,因为它是一个功能非常强大的开发工具,能支持JAVAEE等多种开发插件。 2.3 SSH框架SSH框架就是struts2+spring+hibernate。Hibernate是一个基于JDBC的持久化框架,要求我们以面向对象的方式进行代码的编写,Hibernate会自动生成SQL语句去操作数据库。Spring一个关键要素就是对应用层面基础架构的支持,这样在编写程序时可以更注重业务逻辑开发,而减少了部署环境中不必要的联系。合理地结合三个框架,能够极大的减少代码的工作量,有效的提高了代码的工作效率,采用这些框架可以使整个项目的开发过程模块化,控制程序开发的进度。3 系统需求分析3.1性能需求分析(1)系统的界面风格清新,操作简单,能让用户无障碍地使用;(2)使用Windows操作系统,使用Chrome内核的浏览器。 3.2功能需求分析旅游管理系统主要是实现为用户提供网上订购旅游路线的平台。对用户而言,只需要在电脑上浏览信息,一键报名旅游路线,或者自定义旅游路线;对店家而言,可以更便捷高效的管理系统。本系统提供管理员对新闻,路线,餐饮等信息的管理功能。会员能够报名参加路线活动,可以发表留言,查看相关信息。本系统共设置了三种角色:管理员、游客和会员。具体如下:(1)管理员登录为管理员身份时,管理员负责系统维护,可以对热点新闻、旅游路线、餐饮酒店、人文风采、用户报名的旅游路线以及用户的评论等信息进行管理,主要功能如下,其对应的用例图,请参考下图3-1:a.管理员能登录到后台系统;b.管理员能够对热点新闻进行管理;c.管理员能够对景点介绍进行管理;d.管理员能够对餐饮酒店进行管理;e.管理员能够对旅游路线进行管理;f.管理员能够对人文风采进行管理;g.管理员能够对线路报名信息进行管理;h.管理员能够对用户评论进行管理;图3-1 管理员功能用例图 第 3 页 , 共 19 页(2)游客打开系统主页但未登录时,当前身份为游客,游客浏览网站上的内容,想参加报名或了解更多信息需要通过注册成为会员。游客能够做的如图3-2所示:a.游客能够浏览网站的信息;b.游客能够注册成为会员;图3-2 游客功能用例图(3)会员会员是本系统的主要使用者,在本系统中注册就好,会员可以浏览网站的内容,在登录后可以发布留言、参加报名活动、查看相关信息。其主要功能如下,其对应的用例图,请参考下图3-3:a.会员能够浏览网站;b.会员能够登录系统;c.会员能够发表留言;d.会员能够报名参与活动;e.会员能够查看个人信息;f.会员能够查看留言记录;g.会员能够查看其他会员信息;第 1 页 共 25 页图3-3 会员功能用例图 4 系统设计4.1系统结构说明4.1.1系统结构描述此次设计为了方便快捷地使用,所以采用了B/S的架构,只需提供访问地址就能运行。系统整体是MVC三层模式,在页面显示内容的是视图层,服务器接收用户发出的请求,使用Hibernate框架提供的操作对数据进行处理。结构简单清晰,可以快速开发出不同功能模块。4.1.2系统基本模块游客、会员、管理员三种角色使用系统,各自对应的基本功能模块。请参考下图4-1:景点介绍管理餐饮酒店管理旅游管理系统管理员热点新闻管理旅游线路管理人文风采管理线路报名处理评论管理注册用户管理登录系统报名参加发表评论注册账户浏览网站内容会员游客 图4-1 旅游管理基本模块图 4.2数据库设计程序的开发离不开大量的数据,对数据库进行设计与分析是系统开发的前提,数据库对于系统维护和管理很重要,所以要设计好数据库,来满足用户对系统功能与行为各方面的要求。本系统是旅游管理系统,数据比较烦杂,对数据的设计要求更高。系统中用到的表如下所示: (1)报名信息表,记录报名信息,涉及报名姓名、报名时间、报名状态等,请参考下表4-1:表4-1 报名表字段名称类型是否空具体描述IDint(9)主键NOTESvarchar(255)备注ADDTIMEdatetime建立时间DELSTATUSint(9)状态记录TELvarchar(255)联系电话NAMEvarchar(255)用户姓名STATUSvarchar(255)报名状态CONTENTIDint(9)关联的内容IDUSERIDint(9)报名的用户ID (2)管理员信息表,记录管理员信息,涉及管理员的密码、管理员姓名,请参考下表4-2:表4-2 管理员表字段名称类型是否空具体描述IDint(9)主键PASSWORDvarchar(255)密码USERNAMEvarchar(255)用户名 (3)内容信息表,记录文章的内容信息,涉及文章内容、建立时间、信息类型和状态等,请参考下表4-3:表4-3 内容表字段名称类型是否空具体描述IDint(9)主键CONTENTtext文章内容ADDTIMEdatetime建立时间DELSTATUSint(9)状态记录CLICKSHUint(9)点击次数TYPEvarchar(255)类型TITLEvarchar(255)文章标题窗体顶端RECOMMENDvarchar(255)是否推荐状态 (4)评价信息表,记录用户评价信息,涉及评价内容、建立时间以及状态等,请参考下表4-4:表4-4 评价表字段名称类型是否空具体描述IDint(9)主键ADDTIMEdatetime建立时间DELSTATUSint(9)状态记录COMMENTCONTENTvarchar(255)评论内容CONTENTIDint(9)关联的内容IDUSERIDint(9)评论的用户ID (5)用户信息表,记录用户信息,涉及用户的用户名、密码、联系方式、真实姓名及状态等,请参考下表4-5:表4-5 用户表字段名称类型是否空具体描述续表4-5IDint(9)主键ADDTIMEdatetime建立时间DELSTATUSint(9)状态记录CONTACTvarchar(255)联系方式PASSWORDvarchar(255)密码TRUENAMEvarchar(255)真实姓名USERNAMEvarchar(255)用户名5 系统实现5.1概要设计本系统由网站页面和后台管理两个部分组成。网站主要是面向游客和会员,游客能够浏览网页上的新闻、旅游信息等内容,也能全局搜索查询感兴趣的内容,如果想要报名参加旅游路线则需要注册成为会员。成为会员后拥有报名、评论,查看具体信息等权限。后台管理是给管理员使用的,主要用来更新页面的数据,比如新闻内容、路线详情等。管理员拥有管理用户,管理留言内容的权限。对于评论内容非法的用户管理员可以锁定账号,并且对留言内容删除。5.2系统组织结构系统包图请参考下图5-1,lvyou是项目名称。src里保存着控制器的包、业务逻辑类包、实体类的包,工具类的包等,其中action包中是控制器,用来接收各种请求名并调用相应的方法后返回相应的页面。dao包中是相应的业务处理方法。impl包中是dao对应的实现类,用来对数据进行具体的操作。model包中存放的是实体类,util包下存放的是工具类。WebRoot是Web目录,其中包含WEB-INF目录、js文件、图片等, web.xml为项目的配置文件。 图5-1 系统包图5.3具体实现本系统有前台网站模块供会员和游客访问,后台管理模块负责整个系统数据管理,本节将详述系统的登录、注册、页面显示等的实现过程。 5.3.1网站首页(1)页面设计,请参考下图5-2: 图5-2 网站首页(2)首页的内容都是存放在数据库中的,对网站访问的时候需要在页面显示之前就将数据查到放在页面上。具体实现过程:在Web.xml中配置,地址栏输入到项目名,立即发送index.action请求到后台,这样在进入页面前就会先执行请求查出首页展示的数据,放在页面上。index.action(3)首页的请求到了Controller层,对应的处理请求方法会通过调用dao层的业务逻辑代码来查询出所需要的信息并且存入对应的不同的list集合中,再通过request里的setAttribute方法,将list集合数据放入request中,跳转到首页。/网站首页public String index() HttpServletRequest request = ServletActionContext.getRequest();Util.init(request);/热点新闻List list1 = contentDao.selectBeanList(0, 8, where deletestatus=0 and leixing=1 order by tuijian);request.setAttribute(list1, list1);(4)页面使用EL表达式接受request中的数据,并使用JSTL表达式判断控制页面一行显示几条数据,依次循环迭代出数据。最终在访问系统时,数据都会显示在页面上。 $bean.title 5.3.2登录(1)登录界面设计,请参考下图5-3: 图5-3 网站会员登录(2)在网站中点击登录,转到登录页面,在页面上按提示依次输入用户的相关信息,点击确认登录,然后form表单会作post提交,将请求发送到Controller层。页面代码如下: (3)Controller层处理相关请求,接受传递过来的用户名和密码,调用DAO的方法进行查询。实现代码如下:/用户登录操作public void login2() throws IOExceptionHttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();String username = request.getParameter(username);String password = request.getParameter(password);User u = userDao.selectBean( where username=+username+ and password=+password+ and deletestatus=0);(4)DAO里具体实现的查询方法,使用由spring所配置的hibernate的操作对象进行对数据的查询操作。实现代码如下: SuppressWarnings(unchecked)public User selectBean(String where) List list = this.getHibernateTemplate().find(from User +where);if(list.size()=0)return null;return list.get(0);(5)list结果不为空说明该用户存在且输入的用户名密码正确。否则表示该记录不存在,则返回至登录页面,并提示用户登录不成功。5.3.3注册(1)用户注册页面设计,请参考下图5-4:图5-4网站注册页面(2)注册页面按提示依次输入用户的相关信息,每项均为必填项,确认后点击注册按钮,form表单作post提交,发送请求到Controller层。页面代码如下:(3)Controller层创建一个user对象,把从页面获取的信息都写在USER对象里面,然后调用DAO的方法根据用户名查询数据库中是否有对应记录,如果该记录没有,则执行DAO里的insertBean(bean)方法,如果有,则在数据库中添加该条记录,同时跳转回注册页面,并提示用户错误原因:“该用户名已经存在!”。实现代码如下:/用户注册操作public void register2() throws ExceptionHttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();User user = new User();user.setUsername(request.getParameter(username);user.setPassword(request.getParameter(password);user.setTruename(request.getParameter(truename);user.setLianxifangshi(request.getParameter(lianxifangshi);user.setCreatetime(new Date();user.setCreatetime(new Date();User u = userDao.selectBean( where username=+user.getUsername()+);5.3.4管理员后台首页(1)页面设计,请参考下图5-5: 图5-5管理员首页(2)登录验证身份通过之后,将执行查询方法,查询出要在首页显示的评论内容,同时跳转到后台首页。/用户登录操作public String login() throws IOException HttpServletRequest request = ServletActionContext.getRequest();Util.init(request);String username = request.getParameter(username);String password = request.getParameter(password);Manage user = manageDao.selectBean( where username=+username+ and password=+password+ );/评论List list_pinglun = pinglunDao.selectBeanList(0, 4, where deletestatus =0 order by createtime desc);int count_baoming = baomingDao.selectBeanCount(where zhuangtai =未处理 and deletestatus =0 order by createtime desc);(3)前台使用el表达式循环迭代,接收数据并放在隐藏域里,方便js方法从页面上根据value取值。(4)在iframe窗页面中使用js方法从主页面隐藏域中取值,动态改写页面,将数据显示出来。var title_1 = $(#t_1,window.parent.document).val();/获取评论1的内容document.getElementById(t1).innerHTML=title_1; /写入页面5.3.5热点新闻管理(1)页面设计,请参考下图5-6:图5-6管理员首页(2)在后台管理页面,点击左侧的菜单栏:前台显示管理-热点新闻发布。会发送请求Controller层,同时传入参数(类型)。热点新闻发布(3)后台处理请求,接收传入的类型,调用对应的Dao方法查询相应的数据,返回到指定页面显示出来。/根据类型判断显示列表数据public String contentlist() HttpServletRequest request = ServletActionContext.getRequest();String title = request.getParameter(title);String leixing = (String) (request.getParameter(leixing).subSequence(0, 1);(4)点击页面上修改按钮,会发送请求并带入参数(对应内容的主键ID)。删除(5)根据接收到的ID查询出已存在的记录,发送到修改页面显示。这样能在修改页面看到修改之前的内容,有个对比,修改时不易出错。/跳转到更新网站内容页面public String contentupdate() HttpServletRequest request = ServletActionContext.getRequest();Content bean = contentDao.selectBean( where id= + request.getParameter(id);request.setAttribute(bean, bean);request.setAttribute(url, houtaimethod!contentupdate2.action?id=+bean.getId();request.setAttribute(titletitle, Util.leixing(bean.getLeixing()+修改);this.setUrl(manage/content/contentupdate.jsp);return SUCCESS;6系统测试6.1系统测试概述软件测试是对软件质量的一种保证,作用是检查各项功能是否实现完备,检验软件系统、部件或者过程是否满足规定的需求。针对系统选取了几个典型模块的进行测试。6.2测试用例与结果表6-1 登录测试所属模块登录系统测试点登录详细过程1.进入系统主页;2.输入用户名:qiansainan和密码:qiansainan,点击登录;续表6-1预期结果使用该数据可成功登录。实际结果使用该数据可成功登录。表6-2 发布旅游景点测试所属模块景点信息管理 测试点发布旅游景点信息 详细过程1.以管理员身份登录,进入系统后台;2.输入旅游景点信息:韩国五日游;3.点击“发布”;预期结果该条旅游景点发布成功; 实际结果该条旅游景点发布成功; 表6-3 修改旅游景点测试所属模块景点信息管理测试点修改旅游景点信息详细过程1.以管理员身份登录,进入系统后台;2.在搜索框中,输入:韩国五日游,查询该条信息;3.点击“修改”,输入:韩国六日游;4.点击“保存”;预期结果该条旅游景点修改成功;实际结果该条旅游景点修改成功;表6-4 删除旅游景点测试所属模块景点信息管理测试点删除旅游景点信息详细步骤1.以管理员身份登录,进入系统后台;2.在搜索框中,输入:韩国五日游,查询该条信息;3.点击“删除”;预期结果该条旅游景点删除成功;实际结果该条旅游景点删除成功;表6-5 查询旅游景点测试所属模块景点信息管理测试点查询旅游景点信息续表6-5详细过程1.以用户身份登录,进入系统主页;2.在搜索框中,输入:韩国五日游,查询该条信息;预期结果成功查询到该旅游景点信息;实际结果成功查询到该旅游景点信息;7课题总结本次旅游管理系统的设计与实现致力于服务传统旅游公司,本系统的设计,通过使用网页信息的形式使用户能最便捷的获得信息资源。通过电子信息化管理代替大量繁杂的人工处理方式,减少遗漏信息的发生,减少出错率以及大量资源浪费闲置现象。旅游管理系统可以改变了传统旅游的业务模式,满足游客的个性化需求,优化旅游产业的结构和资源的合理利用,拉动相关经济发展。本毕业设计的缺点在于目前只设计了PC端版本,没有开发手机端版本。目前途牛网与携程网均开发了手机端APP给广大用户使用,比PC端更便携,更易于使用。目前Android设备使用广泛,拥有大量的客户群体,未来软件Android更有市场潜力,所以还需要学习Android技术,在此基础上完善本设计,开发Android版的旅游管理系统。开发过程中也不可避免的遇到些问题,例如:详情页面是采用了EL表达式循环迭代出后台传过来的list集合,但是页面布局的时候是两个不同集合的内容在一个结构里,这就导致了要嵌套使用EL循环标签,但是技术上不可行,多次尝试后,还未找到解决方法,在同学建议下改变布局,错开迭代,并且使用JSTL判断控制一行显示条数。后台首页由于是采用了Bootstrap框架,进入后显示的主页内容是由左侧的固定导航和右边的一块iframe窗构成。ifr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士执业资格考试题库(护理伦理学专项)伦理学伦理道德决策案例分析
- 2025年大学移民管理专业题库- 移民汽车与交通工具管理
- 2025年大学社会体育指导与管理专业题库- 校园体育活动赞助运作模式
- 2025年大学工会学专业题库-工会学专业的实验教学
- 2025年大学融合教育专业题库- 融合教育中的学习评估
- 2025年期货从业资格考试法律法规重点题库试卷
- 2025年大学移民管理专业题库- 移民管理与青年就业问题
- 2025年大学融合教育专业题库- 教学设计与融合教育的融合
- 2025年刑法模拟检测试卷(刑法中的法律适用问题解析与案例分析集)
- 2025年大学警卫学专业题库- 防止校园恶作剧与欺凌事件
- 2025年绿化工技师试题及答案
- 关于成立特种设备安全管理机构的通知(模板)
- 食品添加剂欧盟编码纯中文版
- 全自动生化分析仪advia2400中文操作手册
- 建筑室外围蔽板材(简化)
- YS/T 397-2015海绵锆
- GB/T 3217-1992永磁(硬磁)材料磁性试验方法
- GB/T 2091-2008工业磷酸
- GB/T 19816.2-2005涂覆涂料前钢材表面处理喷射清理用金属磨料的试验方法第2部分:颗粒尺寸分布的测定
- 市政工程工程量计算规范课件
- 隐身技术概述课件
评论
0/150
提交评论