旅游管理系统的设计与实现参考模板

上传人:沈*** 文档编号:91620936 上传时间:2022-05-17 格式:DOC 页数:39 大小:1.84MB
收藏 版权申诉 举报 下载
旅游管理系统的设计与实现参考模板_第1页
第1页 / 共39页
旅游管理系统的设计与实现参考模板_第2页
第2页 / 共39页
旅游管理系统的设计与实现参考模板_第3页
第3页 / 共39页
资源描述:

《旅游管理系统的设计与实现参考模板》由会员分享,可在线阅读,更多相关《旅游管理系统的设计与实现参考模板(39页珍藏版)》请在装配图网上搜索。

1、本科生毕业论文(设计)家乡旅游管理系统的设计与实现姓名李慧学号20112070521专业计算机科学与技术指导教师李洁颖2013年5月27日I / 39摘要目前,旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一,互联网的兴起给旅游业带来了新的契机。旅游网站逐渐成为旅游信息管理的主要途径。因此,开发一个稳定的适用性好的旅游管理系统具有非常重要的意义。在对现有旅游查询网站的分析和比较的基础上,依循面向对象软件开发过程,设计出客户端基于Web浏览器,服务器端基于JSP和Servlet,数据源基于关系型数据库的三层框架,完成JSP页面设计、服务器端核心请求的处理以及对数据库的同步更新。以旅游管理

2、系统的应用实例实现了这个方案。该系统可以实现游客分类查询路线信息.路线预定,在线选购物品和结账。系统管理员查询、修改、删除和添加交通和线路,产品信息。系统工作稳定、操作简单、维护方便。关键词:旅游;安阳;管理系统AbstractAt present , tourism is one of the most developing and the biggest large scale industry in the world. Internet brings tourism to a new turning point. Tourist information is managed mainl

3、y by tourism web site instead .As a result , it is very important to develop a flexible tourism management system. On the base of the analysis of the current tourism web sites, complied with the process of OOD, a three-layer system is designed, consisted of client based on web browser, server based

4、on JSP and Servlet and data source based on relational database. We finish the design of the JSP pages, the core response to request from user and the synchronous update of the database, and develop a tourism management system to implement the design. The system can implement these functions as foll

5、owing: classified route information query for tourist, route reservation information for administrator, online shopping and purchase, and administrator can add, query, modify or delete the traffic、route and goods information. This system is stable, reliable and quite simple in operation .The mainten

6、ance is also convenient.Key Words: Travel, AnYan ,Management System目录1 引言12 系统开发的关键技术22.1 系统的MVC结构22.2 系统的开发平台22.2.1 Myeclipse简介22.2.2 Sql Server 2005简介32.3 系统使用的技术42.3.1 JAVA语言42.3.2 JSP技术42.3.3 JavaScript技术53 旅游管理系统需求分析63.1 系统需求分析63.1.1 游客管理模块63.1.2 购物车模块63.1.3 交通模块63.1.4 旅行社模块73.1.5 新闻模块73.1.6 当地

7、特色模块73.2 系统性能指标74 系统设计84.1 系统设计总体要求84.2 系统模块设计84.1.1 数据库设计94.3 系统功能设计134.3.1 页面设计134.3.2 游客功能设计134.3.3 系统管理员功能设计134.3.4 旅游社管理设计144.4 关键技术的实现154.4.1 汉字显示的实现154.4.2 文件上传功能的实现174.4.3 页面间参数传递的实现184.4.4 数据库连接技术195 系统的实现225.1 系统环境配置225.2 主要功能模块的实现235.2.1 页面登陆的设计与实现235.2.2 购物车功能245.2.3 安阳美景模块266 测试286.1 测试

8、的基本概念286.2 测试的任务与目的286.2.1 测试的任务286.2.2 测试的目的286.3 系统测试的步骤296.4 本系统测试296.2.1 用户注册登陆模块测试296.2.2 购物车模块测试306.2.3 后台管理测试31参考文献32致 谢331 引言现代社会已经步入了信息社会的世界。随着互联网的广泛应用,计算机技术、计算机网络技术、数据库技术、管理技术的发展,对信息的处理和利用已经深入到各行各业,已经深入到人类生活中的各个方面。旅游是人们丰富多彩生活的重要组成部分之一,旅游业已经成为当今世界上发展势头最强劲的产业之一,它是集吃、住、行、游、购、娱六大要素于一身的综合性产业。随着

9、旅游业的不断发展,各个地方的旅游竞争也越来越激烈,为了吸引游客,越来越多的地方注重发展本地的旅游网路平台,通过互联网这个开放的窗口展示着自己独特的魅力。河南安阳是八大古都之一,著名历史学家郭沫若先生游览安阳时曾经这样赞叹,洹水安阳名不虚,三千年前是帝都。中原文化殷创始,观此胜于读古书。这样一座历史文化名城,中国优秀旅游城市,甲骨文和周易的故乡,红旗渠精神的诞生地。更应该让大家所了解。本着这样的目的,结合本地旅游资源的实际情况和旅游发展的实际需求,开发了一个旅游管理系统,以此希望促进本地旅游业的发展。本系统将要依循面向对象软件开发过程,设计出客户端基于WEB浏览器,服务器端基于JSP和Servl

10、et,数据源基于数据库的三层架构,采用MVC结构,完成JSP页面设计、服务器端请求的处理以及对数据库的同步更新。该系统可以实现游客分类查询安阳风景、路线信息、路线预定,在线选购物品和结账。系统管理员查询、修改、删除和添加交通、线路、风景和产品信息。系统工作稳定、操作简单、维护方便。通过分析了一些国内1用户的注册与登录模块2旅游线路模块外的旅游网站和根据国内旅游者的习惯,设计了旅游管理系统的功能模块和业务流程。3当地旅游资源模块4票务交通模块5旅行社模块6当地特色模块通过该旅游系统,实现了旅游资源网络化,可以更好的宣传本地旅游资源。2 系统开发的关键技术2.1 系统的MVC结构MVC全名是Mod

11、el View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下:Model(模型)层:由JavaBean来实现,将具体的业务封装在Bean内部,具备安全、高性能、可重用等优秀的特征。View(视图)层:由JS

12、P页和HTML标签组成。这一层次的主要特点是和客户交互,进行动态页面的展示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同内容的界面。Controller(控制器)层:这一层是将View和Model的这两层进行最大限度分离的工具。可以由Servlet来实现,Servlet和JSP虽然同样都属于页面展示工具,但分属两层。主要在于JSP以脚本语言的形式存在, 它的主要优势是进行动态数据的Web展示,而Servlet是一个完整的Java程序,进行业务的调用和流程的处理,由于Servlet控制页面跳转速度很快,所以作为控制器可以最大限度发挥它的优点。通过这种模型的建立,我们的应用系

13、统具备了非常好的性能和可扩展性。将业务组件和展示页面进行分离,并通过Controller来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。2.2 系统的开发平台2.2.1 Myeclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功

14、能,完整支持HTML,Struts,JSP,CSS,Javascript,还有Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能强大,支持广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。MyEclipse的实际价值来自其发布的大量的可视化开发工具和实

15、用组件。如CCS/JS/HTML/XML的编辑器,帮助创建EJB和Struts项目的向导并产生项目的所有主要的组件如Action/Session Bean/Form等,此外还包含编辑Hibernate配置文件和执行SQL语句的工具。和.NET平台开发工具VS20003/VS2005以及以前的快速开发RAD工具Delphi,PowerBuilder等相比,Java/JSP应用开发的低效率一直是个缺陷。直到Eclipse和MyEclispe等出现后,情况才有所改观(尤其是MyEclispe等可视化开发插件),大大提高了开发效率。新版本MyEclipse提供了AJAX、Struts Developm

16、ent、Hibernate Tools、Spring IDE Integration等功能。这些功能毫无疑问可以简化Web应用开发,并对Struts、Hibernate、Spring等开发框架的广泛应用起到了非常好的促进作用。此外MyEclipse还包含大量由其他组织开发的开源插件,Genuitec增强了这些插件的功能并且撰写了很多实用文档便于开发者学习。综上所述,MyEclipse插件对加速Eclipse的流行起到了很重要的作用,并大大简化了复杂Java/JSP应用的开发。2.2.2 Sql Server 2005简介SQL Server 2005是一个全面的数据库平台,使用集成的商业智能B

17、I工具提供了企业级的数据管理。SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005数据引擎是本企业数据管理解决方案的核心。此外SQL Server 2005结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与Microsoft Visual Studio、Microsoft Office System以及新的开发工具包(包

18、括Business Intelligence Development Studio)的紧密集成使SQL Server 2005与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005都可以为您提供创新的解决方案,帮助您从数据中更多地获益。Microsoft仔细倾听了您的反馈,并对行业进行了认真研究,全世界的Microsoft研究团队共同努力,经过创造性思索才最终向您奉献出这一引入了上百种新增功能或改进功能的SQL Server 2005。这些功能将有助于您在以下三个主要方面提高业务:1企业数据管理SQL Server 2005针对行业和分析应用程序提供了一

19、种更安全可靠和更高效的数据平台。SQL Server的最新版本不仅是迄今为止SQL Server的最大发行版本,而且是最为可靠安全的版本。2开发人员生产效率SQL Server 2005提供了一种端对端的开发环境,其中涵盖了多种新技术,可帮助开发人员大幅度提高生产效率。3商业智能SQL Server 2005的综合分析、集成和数据迁移功能使各个企业无论采用何种基础平台都可以扩展其现有应用程序的价值。构建于SQL Server 2005的BI解决方案使所有员工可以及时获得关键信息,从而在更短的时间内制定更好的决策。2.3 系统使用的技术2.3.1 JAVA语言Java语言诞生于20世纪90年代的

20、初期,最初是以智能家电的芯片语言出现的。但是很快,人们发现了它有更广阔的用武之地,由于它适用于Internet环境,引起计算机界的广泛关注,迅速发展成计算机网络编程语言。Java语言备受推崇,因其确实可称得上是新一代编程语言,具有众多优点,它简单、面向对象、可移植、与硬件无关、系统强健安全、具有很高的性能,并提供了分布性、多线程、动态性的支持。2.3.2 JSP技术JSP(Java Server Pages)是由Sun公司在java语言上开发出来的一种动态网页制作技术,JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果,使您可以将网页中的动态部分和静态的HTML

21、相分离。1将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。2强调可重用的组件绝大多数JSP页面信赖于可重用的、跨平台的组件(JavaBeans或者Enterprise-JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,井使得这些组件为更多的使用者或者客户团体所使用6。3采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言

22、的编程人员。JSP技术封装了许多功能,这些功能是在生成与JSP相关的XML标识的动态内容时所需要的。标准的JSP标识能够访问和实例化JavaBeans组件、设置或者检索组件属性、下载Applet,以及执行用其他方法更难于编码和耗时的功能。4健壮性与安全性由于JSP页面的内置脚本语言是基于Java编程语言的,且都被编译为JavaServlet,它就具有Java技术的所有好处,包括健壮的存储管理和安全性7。5良好的移植性作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,可以使用自己所选择的服务器和工具,而且更改工具

23、或服务器并不影响当前的使用。6企业级的扩展性和性能当与Java2平台,企业版(J2EE)和EnterpriseJavaBeans技术整合时,JSP页面将提供企业级的扩展性和性能,这企业中部对于虚拟署基于Web的应用是必需的。2.3.3 JavaScript技术JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本设计语言,它可以镶嵌在HTML代码中的特殊类型代码,这些代码可以由浏览器解释执行,它使网页开发者可以更有效地控制页面。而且JavaScript是一种面向对象的语言,可以操控浏览器脚本对象模型所支持的各种标准对象,如当前窗口、浏览器本

24、身信息、URL、HTML文档等等,并能对用户触发事件做出即时响应,诸如单击鼠标、表单操作等,而且这些都不需要客户机与服务器的交互通信,既为用户提供了更快速的操作,又减小了服务器端的负担,十分适合于编制交互网页和较小的编程任务。JavaScript是一种解释性语言,它不需要对JavaScript程序进行预先编译而产生可执行的机器代码,只是在程序执行时才由一个内置于浏览器中的JavaScript解释器将源代码动态地处理成可执行代码。目前流行的浏览器都具有这种解释器。从Web发布角度来看,它的这种特性使它比编译性语言更加易于编程和使用。由于JavaScript是由Java继承而来的,因此它是一种面向

25、对象的程序设计语言。JavaScript中的对象有两个组成部分状态和行为,或者说变量(属性)和函数(方法)。可以用JavaScript的对象来模拟现实生活中的各种实例,从而大大方便了程序的设计。利用对象的继承性,可以使很多精心设计的代码能够重新使用,从而减少了程序设计人员的重复工作量而节省了时间。3 旅游管理系统需求分析该系统作为旅游管理系统的web端实现.,其主要功能是方便游客对安阳的风土人情了解,特产购买和旅行线路的查询和预定,及特别提供单独的管理员权限以方便管理员对各个模块进行查添删改操作。另外为了实现商务价值而设立了旅行社管理模块,方便旅行社查看路线预定情况。3.1 系统需求分析为了方

26、便游客和管理员及旅行社三方对该系统的操作和运用,现对该系统针对不同用户的需求做一个分析。3.1.1 游客管理模块为了方便信息的查询和对安阳旅游的了解,系统允许非注册用户浏览。游客可以查看到各个旅行社发布的旅游路线信息,上面有很详细的线路介绍,酒店预定的情况行程安排情况。另外可以浏览整个网站的一些安阳风情介绍,特产和特色小吃等等。但是考虑到一些功能涉及到一些基础信息,所以在其他功能如线路预定,购物车功能等需要游客先注册然后登陆系统才能使用。在设想时考虑到现在的网上购物已经成为现在一种潮流,所以在该系统上设计了购物车这个特别的模块,方便游客可以预购物品。3.1.2 购物车模块在这个购物车模块中主要

27、实现一个物品的预购,即实现在线的查询和购买结帐。游客必须是注册登陆才能在安阳特产这个模块中进行购买和结帐,或者是查看购物车的功能。为了保障游客的购买需求能够准确的被管理员搜集,这里需要游客填写的是比较准确的联络信息和个人信息。3.1.3 交通模块旅游和交通如航班、火车是密切相连的,所以在这个网站上必须要有一个交通信息的发布和管理功能,以便游客的查询和了解。交通管理员可以登陆交通管理模块,确认航班,船,火车的预定情况,也可以通过管理修改和增加交通信息。游客可以浏览前台的交通信息,通过城市到城市,查询航班、火车班次交通的票务信息,了解航班的发出时间和到达时间,了解更为详细的信息。3.1.4 旅行社

28、模块这个系统为了满足更多的旅行社在系统中发布旅游路线信息,特别设置了多个旅行社的管理方式,每个旅行社可以通过自己的ID和密码登陆后台,查看自己旅行社的路线预定信息。考虑到操作的简单,也为了避免操作的冲突,旅行社只有查看预定情况的权限,而不涉及旅游线路的管理功能。对于旅游线路的发布修改删除等功能,旅行社可以交由系统管理员来完成。3.1.5 新闻模块旅游新闻往往是吸引游客目光的一个模块,通过这个平台游客可以及时的了解一些相关有用的信息,例如:优惠信息、天气信息等等。所以本网站也需要设置一个新闻模块发布和管理的功能模块来发布一些当地的一些旅游信息,以方便游客的浏览。3.1.6 当地特色模块一个当地的

29、旅游网站,最关键的一个功能就是展示当地的一些特色,通过自己的特色吸引游客的目光。一个旅游网站只有能够成功的展示当地的特色这个网站才能够说是成功的。所以本网站也需要设置一个功能模块来展示当地的特色。3.2 系统性能指标为实现上述需求,本系统采用JSP技术及web数据库技术构成基于web的旅游管理系统。1实用性旅游管理系统的开发应将系统的实用性和实时性放在首要位置。系统的设计应最大限度发挥计算机的高速处理、海量存储能力。在软件设计中,以方便用户使用为标准,做到统一编码规则、统一界面风格。2可靠性由于系统性质的要求,本系统的可靠性要求很高。系统在运行中要不发生或极少发生故障,在偶然事故及操作失误时,

30、系统应具有较强的处理能力,而不应造成信息的丢失和破坏。3安全性通过旅行社管理系统可以修改及删除旅游线路和介绍的信息,和一些游客的购物清单以及基本信息,因此对系统的安全性要求比较高,一方面要保证旅行社用户各项信息的安全,另一方面又要在非常情况下保证数据的丢失减少到最低限度。4 系统设计4.1 系统设计总体要求系统设计是旅游管理系统开发过程的一个重要阶段,包括两个方面,首先是总体结构的设计,其次是具体功能模块的设计。其主要目的是为系统实现(如编程、调试、试运行等)制定蓝图。在系统设计阶段,主要任务就是在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最终勾画出新系统的详细设计方案。系统

31、设计的原则为:1系统性。系统是作为统一整体而存在的,因此,在系统设计中,要从整个系统的角度进行考虑,系统的代码要统一,设计规范要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享,使一次输入得到多次利用。2灵活性。为保持系统的长久生命力,要求系统具有很强的环境适应性。为此,系统应具有较好的开放性和结构的可变性。在系统设计中,应尽量采用模块化结构,提高各模块的独立性,尽可能减少模块间的数据藕合,使各子系统间的数据依赖减至最低限度。这样,既便于模块的修改,又便于增加新的内容,提高系统适应环境变化的能力。3可靠性。可靠性是指系统抵御外界干扰时的恢复能力。一个成功的管理系统必须具有较

32、高的可靠性,如安全保密性、检错及纠错能力、抗病毒能力等。4经济性。经济性是指在满足系统需求的前提下,尽可能减少系统的开销。一方面,在硬件投资上不能盲目追求技术上的先进,而应以满足应用需要为前提;另一方面,系统设计应尽量避免不必要的复杂化,各模块应尽量简洁,以便缩短处理流程。5美观性。简洁的界面设计,在设计过程中,以人为本,用易于理解的图标,用有意义的标题,简明、一致、快捷并可靠的界面。4.2 系统模块设计河南省安阳市旅游管理系统是真正为用户考虑的网络平台,以满足客户实际需要而设计的。本系统参照真实的旅游网站所做,再结合本地旅游需求,这样可以更直接体现本网站的特点和价值所在。该系统属于B/S模式

33、,可以通过前台的操作界面进行网站的访问和浏览,而后台是对数据表的操作对前台相关数据的管理,对数据库进行数据的更新和修改等操作,数据库可以单独存放在一个服务器上,而客户端的模块分别安装在相应的机器上。该系统包括如下五个主要模块:旅游信息管理、旅游线路、客户信息管理、旅行社管理、票务交通、各个模块主要功能如下:1旅游信息管理:管理员可以对景点、新闻的增加、查看、删除、修改等操作。通过这个模块可以让让游客可以更清楚更直观的进行对比和选择。2旅游线路:管理员对旅游线路进行管理,游客可以浏览旅游线路信息。3客户信息管理:主要包括客户注册与登录模块:客户可以方便的进行注册和登录,还可以对自己的信息进行修改

34、,只有登录之后才可以进行旅行社的预订查看更多信息。4旅行社管理:管理员负责对旅行社的管理。5票务交通:管理员对票务信息进行管理。图4-1系统功能图4.1.1 数据库设计数据库的设计与整个系统的设计是融合在一起的,要做到动态的查询和显示数据,就必须使用数据库。本系统是一个以数据处理为主的信息管理系统,因此数据库的设计在整个系统的设计中占有很大的比重。整个系统的数据库由9个表组成,分别是user、lvyouxianlu、orders、fengjing、news、anyangfengjing、product、product_order、jiaotong。user表保存网站的用户基本信息,用户分为普通

35、用户和系统管理员。user表包含7个字段:序列号,用户标识,用户类型,用户姓名,密码,联系电话,电子邮件。序列号是自增不重复流水号,作为user表的主键,同时也作为orders表和product_order的外键。用户标识是文本类型,是用户登录名称,不能重复。用户类型是枚举类型(super,normal),表示用户是系统管理员还是普通用户。密码是文本类型,用于用户登录。用户姓名,联系电话,电子邮件是用户的个人信息。表4-1user表字段名称数据类型说明ser自动编号序列号id文本用户标识type文本用户类型name文本用户姓名password文本用户密码Tel文本用户联系方式email文本用户

36、电子邮件lvyouxianlu表保存旅行社提供的各条旅游线路,包含了14个字段。Id是自动增长的流水号,是lvyouxianlu表的主键。lxs是外键,关联到旅行社表。其他字段是旅游线路的基本信息,包括线路名称,行程天数,出发地,标准价格,豪华价格,超豪华价格,具体行程安排,餐饮住宿条件,交通保险,导游门票,春节优惠价格和其他内容。具体行程安排中将多天的安排存放在一起,中间用“-”分隔开。表4-2 lvyouxianlu表字段名称数据类型说明ser自动编号序列号xlmc文本线路名称lxs文本旅行社xcts文本行程天数cfd文本出发地bzd文本标准等hhd文本豪华等chhd文本超豪华等xcap备

37、注行程安排(不同的日程的内容用 - 分隔)cyzs文本餐饮住宿jtbx文本交通保险dymp文本导游门票qtnr文本其他内容cjjg文本春节价格orders表保存用户网上申请的旅游线路的信息表4-3orders表字段名称数据类型说明id文本用户标识date文本订购日期type文本产品类型who文本客户姓名number文本产品数量tel文本联系电话no文本用户身份证号Fengjing表记录了安阳各地的主要风景,人文古迹的最新信息,并附有2张风景图片。Fengjing表包含了7个字段。表4-4 Fengjing表字段名称数据类型说明id文本序列号name文本风景名称pic1文本图片1pic2文本图片

38、2type文本所属类别(因甲骨文而闻名于世,人与自然的结合,国家重点风景名胜区,国家森林公园)Detial1备注文字描述(段落1)Detial2备注文字描述(段落2)news表存储近期旅游热点新闻。news表包含了4个字段。表4-5 news表字段名称数据类型说明id文本序列号name文本标题pic1文本图片content文本内容anyangfengqing表包含5个字段。id是自增序列号,主键。name是新闻标题,detial1是新闻内容,pic1是新闻图片名称。安阳风情分4个类别,type是枚举类型:安阳美食,安阳文化,民族民俗,安阳珍奇。表4-6anyangfengqing表字段名称数据

39、类型说明id文本序列号name文本标题pic1文本图片content文本内容product记录各种安阳特产的相关资料。product表有7个字段:id是数字主键,name是产品名称,content是产品描述,price是产品价格,danwei是产品计数单位,pic1是特产图样,from是产品产地。表4-7 product表字段名称数据类型说明id自动编号序列号name文本特产名称content文本产品说明price文本价格danwei文本单价pic1文本图样from文本产地product_order表存储用户的订单信息,有6个字段。name是外键,关联到user表,tel,addr,produ

40、ct和quantity是订单基本信息。表4-8product_order表字段名称数据类型说明id文本产品idquatity文本数量name文本客户姓名tel文本联系电话addr文本地址IDNumber文本身份证号jiaotong表保存近期交通信息,包括飞机,火车,轮船3种交通工具的线路及时刻信息。表4-9jiaotong表字段名称数据类型说明from文本始发地to文本目的地type文本类型(飞机、火车、轮船)id文本号码(航班号、列车车次、轮船号)time1文本出发时间time2文本到达时间price文本票价4.3 系统功能设计4.3.1 页面设计主页面是本网站的门户,它包含了各个模块的入口

41、链接,部分热点模块的最新信息,用户注册,登陆,权限分配功能。首页通往各个子模块的链接,使用http标签静态实现。如:旅游路线,声明了一个到相对路径jsp_tourist_track下的lvyouluxian.jsp链接。其他模块以此类推。4.3.2 游客功能设计该模块为用户提供了安阳的旅游信息,并在此基础上,为注册会员提供在线订购特产,预定旅游线路,预定航班等功能。非注册用户可以上网查看辉县的旅游信息,用户能分类的了解到风景,风情,路线情况,交通信息,旅游新闻,等基本信息。为了避免累赘的工作和一些恶意的欺诈,而特别设计了注册与非注册两种用户权限。4.3.3 系统管理员功能设计管理员通过注册名被

42、定义为super权限的用户名登陆到系统后可以进行除旅行社管理外的其他所有模块的管理操作。以票务交通模块为例,管理员登陆后,在票务交通模块可以看到左边有一个管理的标签,进入后可以进行这个模块的管理。管理员可以在这里进行对已有的交通信息修改和删除操作,也可以通过左边的增加按扭进行对交通信息增加。其他模块的维护方式与票务交通模块类似。通过后台维护模块,管理员能更直观的进行操作,在对后台数据库进行任何操作后,都可以立即观察到效果,从而减少了错误发生的机率。管理员跟普通用户的区别就在于权限不同,即是基于该网站的身份验证和权限分配上。身份验证和权限分配实现的代码如下:%String id = (Strin

43、g) request.getParameter(userName);String password = (String) request.getParameter(password);try Statement stmt = dbConnection.getConnection().createStatement();String sql1 = select * from user where id= + id+ and password= + password + ;ResultSet rs1 = stmt.executeQuery(sql1);if (rs1.next() session.

44、setAttribute(right,normal);String name = rs1.getString(name);String type = rs1.getString(type);if(type!=null&type.equals(super)session.setAttribute(right,super);session.setAttribute(userName, name);session.setAttribute(password, password);elsesession.setAttribute(userName, name);session.setAttribute

45、(password, password);stmt.close();response.sendRedirect(index.jsp);return;out.print(登陆失败!请重新登陆);out.print( 返回 ); catch (Exception e) out.println(数据库连接错误 + e);%各个模块的管理功能主要是对数据库的操作,在此就不再赘述。4.3.4 旅游社管理设计旅行社管理员通过各个旅行社自己在这个系统中的ID号和密码登陆后,可以查看预定本旅行社的旅游路线情况,在这里由于假设旅行社与系统供应商只存在着合作的关系,旅行社可以提交自己的旅游路线信息给系统管理员,只

46、能由系统管理员来操作旅游路线信息,这样提高了信息的安全性和各个旅行社竞争的公平性。4.4 关键技术的实现4.4.1 汉字显示的实现在JSP的开发过程中,英文字符的表示一般不会出现问题,可能出现的中文问题如下:1JSP页面无法正确显示中文,比如出现“?”或者乱码;2JSP页面无法正确接收来自上一个页面提交的中文表单;3JSP从数据库或者文件中读出来的中文都是乱码,写进去的中文也是乱码。这是跟Java中对字符的处理方式有关系的。英文字符一般都是以一个字符来表示,编码方式主要有:1ASCII码,美国国家信息交换标准码,是7位编码;2ISO-8859-1码,是8位编码,它包含了ASCII码,在西欧比较

47、通用,它是Linux系统的字符集,同时也是HTML的基础字符集。中文字符成千上万,必须使用2个以上的字节来表示,不同的地区和系统都制定了各自的编码方式,这样就产生了很多种不同的编码方式。常用的汉字编码方式(字符集)有如下几种:1GB2312码,中华人民共和国国家标准汉字信息交换用编码,是16位编码,简称国标码;2GBK是对GB2312的扩展,包含GB2312的字符集;3BIG5码,是台湾地区采用的编码方式;4UNICODE码,是16位编码,它是一个标准,它的目标是明白的表现每种人类语言中的每种已知字符;5UTF-8码,是UNICODE的转换格式,是一种不等长的编码。多种编码方式共存造成了汉字表

48、示方式的不统一,也带来了很多麻烦。Java对于多语言的支持并不是很好,任何涉及Java的需要显示汉字的软件都会遇到汉字问题。既然如此,在使用Java处理中文字符时就必须注意编码问题。有以下几点要特别注意:1当一个Java程序在运行时,所有的内存中的字符串都是以UNICODE方式来表示的;2Java程序接受一个字符串时,程序将该字符串从源编码方式转换为UNICODE编码;3Java程序输出一个字符串时,程序要将该字符串从UNICODE编码转换为目标编码方式;4Java程序输出一个字符串时,程序要将该字符串从UNICODE编码转换为目标编码方式;5在任何一个传递字符串的地方都可能出现编码转换。在编

49、写涉及到中文的JSP页面时,要注意对编码方式的考虑。主要的解决办法是在JSP中进行编码转换。由于涉及到编码的环节很多,因此中文问题没有一个统一的解决方案,只能在出现问题的地方进行具体分析,采取适当措施。在海鲜酒楼管理系统中,汉字乱码主要分为两种情况。1中文表单提交字符串当页面中的表单提交字符串时,首先把字符串按照当前页面的编码,转化成字节串。然后再将每个字节转化成“%XX”的格式提交到 Web 服务器。比如,一个编码为GB2312的页面,提交“中”这个字符串时,提交给服务器的内容为“%D6%D0”字节串的格式。在服务器端,Web 服务器把收到的“%D6%D0”字节串转化成0xD6, 0xD0U

50、NICODE字符串,然后再根据 GB2312 编码规则得到“中”字。然而实际上,在将“字节串”转化成“UNICODE 字符串”时,容易将“字节串”简单地作为单字节字符串,采用每“一个字节”就是“一个字符”的方法进行转化。而在非英文的环境中,应该将“字节串”作为ANSI字符串,采用适当的编码来得到UNICODE字符串,有可能“多个字节”才能得到“一个字符”。在Tomcat服务器中,request.getParameter( )得到乱码时,常常是由于上述原因造成的。默认情况下,当提交“%D6%D0”给Tomcat服务器时,request.getParameter( )将返回0x00D6, 0x00

51、D0两个UNICODE字符,而不是一个“中”字符。因此,我们需要使用bytes = string.getBytes (iso-8859-1) 进行逆向操作,得到原始的字节串“%D6%D0”,再用string = new String(bytes, GB2312) 重新得到正确的字符串“中”。在本系统中,输出页面按照GB2312进行编码,通过实现该设置。在实现添加用户功能时,从表单中获取用户姓名等汉字信息后,要先用上述方法进行编码的转换,以得到正确的字符形式。2从数据库读取字符串通过数据库客户端(JDBC)从数据库服务器中读取字符串时,客户端需要从服务器获知所使用的ANSI编码。当数据库服务器发

52、送字节流给客户端时,客户端负责将字节流按照正确的编码转化成UNICODE字符串。本系统中,数据库中的所有表均采用MyISAM类型、gb2312字符集、Conlation:gb2312_chinese_ci。这样保证了数据库中字符编码和网页中字符编码的统一,数据库中的汉字可以直接在网页中显示出来,网页中具有相同编码的汉字在数据库中也可以显示为汉字。4.4.2 文件上传功能的实现在新闻,安阳特产,民族风情模块中都有图片信息,数据库中保存的是图片文件所在的相对位置和名称信息。在管理员维护网站信息的时候,为了更便于操作,需要在向数据库增加或者修改信息的同时,把图片上传到服务器相应的位置。在JSP中,可

53、以通过标签上传图片。通过这种方式,文件以流的方式发送到服务器端。服务器通过将相应的流操作,将文件重组并保存。但是这种方式的问题是,在这个form里的其他非文件参数,用普通的方式不能够读取正确的参数值,而将得到一个null。在这个问题上作者花了大量的时间精力进行研究,发现其他参数同样被转化成流,对这些参数,也需要进行流处理,才能得到原来正确的参数值。类FileUtil实现了上述功能。public static HashMap upLoad(HttpServletRequest request, String subpath) HashMap datamap = new HashMap();try

54、 if (ServletFileUpload.isMultipartContent(request) DiskFileItemFactory dff = new DiskFileItemFactory();dff.setRepository(newFile(d:/);dff.setSizeThreshold(1024000);ServletFileUpload sfu = new ServletFileUpload(dff);sfu.setFileSizeMax(5000000);sfu.setSizeMax(10000000);FileItemIterator fii = sfu.getIt

55、emIterator(request);while (fii.hasNext() FileItemStream fis = fii.next();if (!fis.isFormField() & fis.getName().length() 0) String fileName = fis.getName().substring(fis.getName().lastIndexOf();BufferedInputStream in = new BufferedInputStream(fis.openStream();BufferedOutputStream out = new BufferedO

56、utputStream(new FileOutputStream(new File(dbConnection.absolutePath + subpath+ / +fileName);Streams.copy(in, out, true);datamap.put(fis.getFieldName(),fileName.substring(1); else BufferedInputStream in = newBufferedInputStream(fis.openStream();/ByteArrayOutputStream bos = newByteArrayOutputStream();

57、byte buffer = new bytein.available();in.read(buffer); String contents = new String(buffer, UTF-8);datamap.put(fis.getFieldName(),contents); catch (Exception e) return datamap;upLoad方法是FileUtil类实现multipart/form-data协议下文件与form参数上传的关键方法。HttpServletRequest request中存放了上传的文件流,String subpath表示不同模块的文件存放路径。代

58、码中创建了一个HashMap datamap准本用于记录所有上传的form参数。然后在d:建立临时文件夹,设置上传文件大小,通过FileItemIterator fii分别处理上传文件和参数。如果遇到文件,就把输入流的内容保存到subpath路径下,同时将form输入标签参和文件名放入datamap中;如果遇到参数,就将输入流的内容读入到一个String content中,然后将标签名和content放到datamap中。最后返回datamap,调用upLoad的JSP就可以从datamap中取得form中的所有信息,实现文件与form参数同时上传。4.4.3 页面间参数传递的实现旅游管理系统

59、的实现过程中,经常需要把上一个页面中的数据传给下一页面,下一个页面获取这些参数后,再做进一步的操作处理,这就需要用到页面间的参数传递技术。本系统参数传递大致如下面这种种情况。JSP代码间的参数传递有两种方式:get和post。在票务信息功能中,就多次用到了页面间的参数传递。get进入删改票务信息页面后,将显示所有交通票务信息,并在每条信息后设有“修改”和“删除”链接操作。单击“修改”链接,系统需要把admin_jiaotong.jsp页面中的票务信息的有关参数传给modify.jsp,再由modify.jsp获取这些参数后,显示在文本区域内以便用户修改。在admin_jiaotong.jsp中传递参数的代码如下:a href=modify.jsp?id=&type=修改其中,用?表示要传给该文件的参数,由于要传给modify.jsp的参数不止一个,用&来连接多个参数。在modify.jsp文件中,使用String id = request.getParameter(id); String type = request.getParameter(type );语句来获取上一文件传递的参数。post在piao.jsp中通过post方式把参数id和type传给piao_search.jsp。input type=hi

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!