旅游管理系统的设计与实现.doc_第1页
旅游管理系统的设计与实现.doc_第2页
旅游管理系统的设计与实现.doc_第3页
旅游管理系统的设计与实现.doc_第4页
旅游管理系统的设计与实现.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文 设计 家乡旅游管理系统的设计与实现 姓 名李慧 学 号20112070521 专 业计算机科学与技术 指导教师李洁颖 2013 年 5 月 27 日 摘 要 目前 旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一 互联网的 兴起给旅游业带来了新的契机 旅游网站逐渐成为旅游信息管理的主要途径 因此 开 发一个稳定的适用性好的旅游管理系统具有非常重要的意义 在对现有旅游查询网站的 分析和比较的基础上 依循面向对象软件开发过程 设计出客户端基于 Web 浏览器 服 务器端基于 JSP 和 Servlet 数据源基于关系型数据库的三层框架 完成 JSP 页面设计 服务器端核心请求的处理以及对数据库的同步更新 以旅游管理系统的应用实例实现了 这个方案 该系统可以实现游客分类查询路线信息 路线预定 在线选购物品和结账 系统管理员查询 修改 删除和添加交通和线路 产品信息 系统工作稳定 操作简单 维护方便 关键词 旅游 安阳 管理系统 Abstract At 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 mainly 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 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 following 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 maintenance is also convenient Key Words Travel AnYan Management System 目 录 1 引 言 1 2 系统开发的关键技术 2 2 1 系统的 MVC 结构 2 2 2 系统的开发平台 2 2 2 1 Myeclipse 简介 2 2 2 2 Sql Server 2005 简介 3 2 3 系统使用的技术 4 2 3 1 JAVA 语言 4 2 3 2 JSP 技术 4 2 3 3 JavaScript 技术 5 3 旅游管理系统需求分析 6 3 1 系统需求分析 6 3 1 1 游客管理模块 6 3 1 2 购物车模块 6 3 1 3 交通模块 6 3 1 4 旅行社模块 7 3 1 5 新闻模块 7 3 1 6 当地特色模块 7 3 2 系统性能指标 7 4 系统设计 8 4 1 系统设计总体要求 8 4 2 系统模块设计 8 4 1 1 数据库设计 9 4 3 系统功能设计 13 4 3 1 页面设计 13 4 3 2 游客功能设计 13 4 3 3 系统管理员功能设计 13 4 3 4 旅游社管理设计 14 4 4 关键技术的实现 15 4 4 1 汉字显示的实现 15 4 4 2 文件上传功能的实现 17 4 4 3 页面间参数传递的实现 18 4 4 4 数据库连接技术 19 5 系统的实现 22 5 1 系统环境配置 22 5 2 主要功能模块的实现 23 5 2 1 页面登陆的设计与实现 23 5 2 2 购物车功能 24 5 2 3 安阳美景模块 26 6 测试 28 6 1 测试的基本概念 28 6 2 测试的任务与目的 28 6 2 1 测试的任务 28 6 2 2 测试的目的 28 6 3 系统测试的步骤 29 6 4 本系统测试 29 6 2 1 用户注册登陆模块测试 29 6 2 2 购物车模块测试 30 6 2 3 后台管理测试 31 参考文献 32 致 谢 33 1 引 言 现代社会已经步入了信息社会的世界 随着互联网的广泛应用 计算机技术 计算 机网络技术 数据库技术 管理技术的发展 对信息的处理和利用已经深入到各行各业 已经深入到人类生活中的各个方面 旅游是人们丰富多彩生活的重要组成部分之一 旅 游业已经成为当今世界上发展势头最强劲的产业之一 它是集吃 住 行 游 购 娱 六大要素于一身的综合性产业 随着旅游业的不断发展 各个地方的旅游竞争也越来越 激烈 为了吸引游客 越来越多的地方注重发展本地的旅游网路平台 通过互联网这个 开放的窗口展示着自己独特的魅力 河南安阳是八大古都之一 著名历史学家郭沫若先生游览安阳时曾经这样赞叹 洹 水安阳名不虚 三千年前是帝都 中原文化殷创始 观此胜于读古书 这样一座历史文 化名城 中国优秀旅游城市 甲骨文和周易的故乡 红旗渠精神的诞生地 更应该让大 家所了解 本着这样的目的 结合本地旅游资源的实际情况和旅游发展的实际需求 开发了一 个旅游管理系统 以此希望促进本地旅游业的发展 本系统将要依循面向对象软件开发 过程 设计出客户端基于 WEB 浏览器 服务器端基于 JSP 和 Servlet 数据源基于数据 库的三层架构 采用 MVC 结构 完成 JSP 页面设计 服务器端请求的处理以及对数据库 的同步更新 该系统可以实现游客分类查询安阳风景 路线信息 路线预定 在线选购 物品和结账 系统管理员查询 修改 删除和添加交通 线路 风景和产品信息 系统 工作稳定 操作简单 维护方便 通过分析了一些国内 1 用户的注册与登录模块 2 旅游线路模块外的旅游网站和根据国内旅游者的习惯 设计了旅游管理系统的功 能模块和业务流程 3 当地旅游资源模块 4 票务交通模块 5 旅行社模块 6 当地特色模块 通过该旅游系统 实现了旅游资源网络化 可以更好的宣传本地旅游资源 2 系统开发的关键技术 2 2 1 1 系系统统的的 M MV VC C 结结构构 MVC 全名是 Model View Controller 是模型 model 视图 view 控制器 controller 的缩写 一种软件设计典范 用于组织代码用一种业务逻辑和数据显示分 离的方法 这个方法的假设前提是如果业务逻辑被聚集到一个部件里面 而且界面和用 户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑 MVC 被独特的发展 起来用于映射传统的输入 处理和输出功能在一个逻辑的图形化用户界面的结构中 通过这种方案 我们可以迅速地实现整个业务 其优势和特点如下 Model 模型 层 由 JavaBean 来实现 将具体的业务封装在 Bean 内部 具备安 全 高性能 可重用等优秀的特征 View 视图 层 由 JSP 页和 HTML 标签组成 这一层次的主要特点是和客户交互 进行动态页面的展示 同时可以方便地进行客户端的个性化定制 根据每个客户的需求 来展示不同内容的界面 Controller 控制器 层 这一层是将 View 和 Model 的这两层进行最大限度分离 的工具 可以由 Servlet 来实现 Servlet 和 JSP 虽然同样都属于页面展示工具 但分 属两层 主要在于 JSP 以脚本语言的形式存在 它的主要优势是进行动态数据的 Web 展示 而 Servlet 是一个完整的 Java 程序 进行业务的调用和流程的处理 由于 Servlet 控制页面跳转速度很快 所以作为控制器可以最大限度发挥它的优点 通过这种模型的建立 我们的应用系统具备了非常好的性能和可扩展性 将业务组 件和展示页面进行分离 并通过 Controller 来描述调用关系 一方面可以提高效率 另一方面也可以增加系统扩充的能力 使我们的系统可以进行最快速度的业务扩展 以 满足不同用户 不同阶段 各种各样的业务需求 2 2 2 2 系系统统的的开开发发平平台台 2 2 1 Myeclipse 简介 MyEclipse企业级工作平台 MyEclipse Enterprise Workbench 是对EclipseIDE 的扩展 利用它我们可以在数据库和JavaEE的开发 发布以及应用程序服务器的整合方 面极大的提高工作效率 它是功能丰富的JavaEE集成开发环境 包括了完备的编码 调 试 测试和发布功能 完整支持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的实际价值来自其发布的大量的可视化开发工具和实用组件 如 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 Development Hibernate Tools Spring IDE Integration等功能 这些功能毫无疑问可以简化Web应用开发 并对 Struts Hibernate Spring等开发框架的广泛应用起到了非常好的促进作用 此外 MyEclipse还包含大量由其他组织开发的开源插件 Genuitec增强了这些插件的功能并 且撰写了很多实用文档便于开发者学习 综上所述 MyEclipse插件对加速Eclipse的流 行起到了很重要的作用 并大大简化了复杂Java JSP应用的开发 2 2 2 Sql Server 2005 简介 SQL Server 2005 是一个全面的数据库平台 使用集成的商业智能 BI 工具提供了 企业级的数据管理 SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更 安全可靠的存储功能 使您可以构建和管理用于业务的高可用和高性能的数据应用程序 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心 此外 SQL Server 2005 结合了分析 报表 集成和通知功能 这使您的企业可以构建和部署经济有效的 BI 解 决方案 帮助您的团队通过记分卡 Dashboard Web services 和移动设备将数据应用 推向业务的各个领域 与 Microsoft Visual Studio Microsoft Office System 以及新的开发工具包 包括 Business Intelligence Development Studio 的紧密集成使 SQL Server 2005 与众不同 无论您是开发人员 数据库管理员 信息工作者还是决策者 SQL Server 2005 都可以为您提供创新的解决方案 帮助您从数据中更多地获益 Microsoft 仔细倾听了您的反馈 并对行业进行了认真研究 全世界的 Microsoft 研究团队共同努力 经过创造性思索才最终向您奉献出这一引入了上百种新增功能或改 进功能的 SQL Server 2005 这些功能将有助于您在以下三个主要方面提高业务 1 企业数据管理 SQL Server 2005 针对行业和分析应用程序提供了一种更安全可靠和更高效的数据 平台 SQL Server 的最新版本不仅是迄今为止 SQL Server 的最大发行版本 而且是最 为可靠安全的版本 2 开发人员生产效率 SQL Server 2005 提供了一种端对端的开发环境 其中涵盖了多种新技术 可帮助 开发人员大幅度提高生产效率 3 商业智能 SQL Server 2005 的综合分析 集成和数据迁移功能使各个企业无论采用何种基础 平台都可以扩展其现有应用程序的价值 构建于 SQL Server 2005 的 BI 解决方案使所 有员工可以及时获得关键信息 从而在更短的时间内制定更好的决策 2 2 3 3 系系统统使使用用的的技技术术 2 3 1 JAVA 语言 Java语言诞生于20世纪90年代的初期 最初是以智能家电的芯片语言出现的 但是 很快 人们发现了它有更广阔的用武之地 由于它适用于Internet环境 引起计算机界 的广泛关注 迅速发展成计算机网络编程语言 Java语言备受推崇 因其确实可称得上是新一代编程语言 具有众多优点 它简单 面向对象 可移植 与硬件无关 系统强健安全 具有很高的性能 并提供了分布性 多线程 动态性的支持 2 3 2 JSP 技术 JSP Java Server Pages 是由Sun公司在java语言上开发出来的一种动态网页制作 技术 JSP规范是Web服务器 应用服务器 交易系统 以及开发工具供应商间广泛合作 的结果 使您可以将网页中的动态部分和静态的HTML相分离 1 将内容的生成和显示进行分离 使用JSP技术 Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页 面 使用JSP标识或者小脚本来生成页面上的动态内容 生成内容的逻辑被封装在标识 和JavaBeans组件中 并且捆绑在小脚本中 所有的脚本在服务器端运行 2 强调可重用的组件 绝大多数 JSP 页面信赖于可重用的 跨平台的组件 JavaBeans 或者 Enterprise JavaBeansTM组件 来执行应用程序所要求的更为复杂的处理 开发人员能够共享和交换 执行普通操作的组件 井使得这些组件为更多的使用者或者客户团体所使用 6 3 采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员 JSP技术封装了许多功能 这 些功能是在生成与JSP相关的XML标识的动态内容时所需要的 标准的JSP标识能够访问 和实例化JavaBeans组件 设置或者检索组件属性 下载Applet 以及执行用其他方法 更难于编码和耗时的功能 4 健壮性与安全性 由于JSP页面的内置脚本语言是基于Java编程语言的 且都被编译为JavaServlet 它就具有Java技术的所有好处 包括健壮的存储管理和安全性 7 5 良好的移植性 作为Java平台的一部分 JSP拥有Java编程语言 一次编写 各处运行 的特点 随着越来越多的供应商将JSP支持添加到他们的产品中 可以使用自己所选择的服务器 和工具 而且更改工具或服务器并不影响当前的使用 6 企业级的扩展性和性能 当与 Java2 平台 企业版 J2EE 和 EnterpriseJavaBeans 技术整合时 JSP 页面将 提供企业级的扩展性和性能 这企业中部对于虚拟署基于 Web 的应用是必需的 2 3 3 JavaScript 技术 JavaScript是一种基于对象 Object 和事件驱动 Event Driven 并具有安全性 能的脚本设计语言 它可以镶嵌在HTML代码中的特殊类型代码 这些代码可以由浏览器 解释执行 它使网页开发者可以更有效地控制页面 而且JavaScript是一种面向对象的 语言 可以操控浏览器脚本对象模型所支持的各种标准对象 如当前窗口 浏览器本身 信息 URL HTML文档等等 并能对用户触发事件做出即时响应 诸如单击鼠标 表单 操作等 而且这些都不需要客户机与服务器的交互通信 既为用户提供了更快速的操作 又减小了服务器端的负担 十分适合于编制交互网页和较小的编程任务 JavaScript是一种解释性语言 它不需要对JavaScript程序进行预先编译而产生可 执行的机器代码 只是在程序执行时才由一个内置于浏览器中的JavaScript解释器将源 代码动态地处理成可执行代码 目前流行的浏览器都具有这种解释器 从Web发布角度 来看 它的这种特性使它比编译性语言更加易于编程和使用 由于JavaScript是由Java继承而来的 因此它是一种面向对象的程序设计语言 JavaScript中的对象有两个组成部分 状态和行为 或者说变量 属性 和函数 方 法 可以用JavaScript的对象来模拟现实生活中的各种实例 从而大大方便了程序的 设计 利用对象的继承性 可以使很多精心设计的代码能够重新使用 从而减少了程序 设计人员的重复工作量而节省了时间 3 旅游管理系统需求分析 该系统作为旅游管理系统的 web 端实现 其主要功能是方便游客对安阳的风土人情 了解 特产购买和旅行线路的查询和预定 及特别提供单独的管理员权限以方便管理员 对各个模块进行查添删改操作 另外为了实现商务价值而设立了旅行社管理模块 方便 旅行社查看路线预定情况 3 3 1 1 系系统统需需求求分分析析 为了方便游客和管理员及旅行社三方对该系统的操作和运用 现对该系统针对不同 用户的需求做一个分析 3 1 1 游客管理模块 为了方便信息的查询和对安阳旅游的了解 系统允许非注册用户浏览 游客可以查 看到各个旅行社发布的旅游路线信息 上面有很详细的线路介绍 酒店预定的情况行程 安排情况 另外可以浏览整个网站的一些安阳风情介绍 特产和特色小吃等等 但是考 虑到一些功能涉及到一些基础信息 所以在其他功能如线路预定 购物车功能等需要游 客先注册然后登陆系统才能使用 在设想时考虑到现在的网上购物已经成为现在一种潮 流 所以在该系统上设计了购物车这个特别的模块 方便游客可以预购物品 3 1 2 购物车模块 在这个购物车模块中主要实现一个物品的预购 即实现在线的查询和购买结帐 游 客必须是注册登陆才能在安阳特产这个模块中进行购买和结帐 或者是查看购物车的功 能 为了保障游客的购买需求能够准确的被管理员搜集 这里需要游客填写的是比较准 确的联络信息和个人信息 3 1 3 交通模块 旅游和交通如航班 火车是密切相连的 所以在这个网站上必须要有一个交通信息 的发布和管理功能 以便游客的查询和了解 交通管理员可以登陆交通管理模块 确认 航班 船 火车的预定情况 也可以通过管理修改和增加交通信息 游客可以浏览前台 的交通信息 通过城市到城市 查询航班 火车班次交通的票务信息 了解航班的发出 时间和到达时间 了解更为详细的信息 3 1 4 旅行社模块 这个系统为了满足更多的旅行社在系统中发布旅游路线信息 特别设置了多个旅行 社的管理方式 每个旅行社可以通过自己的ID和密码登陆后台 查看自己旅行社的路线 预定信息 考虑到操作的简单 也为了避免操作的冲突 旅行社只有查看预定情况的权 限 而不涉及旅游线路的管理功能 对于旅游线路的发布修改删除等功能 旅行社可以 交由系统管理员来完成 3 1 5 新闻模块 旅游新闻往往是吸引游客目光的一个模块 通过这个平台游客可以及时的了解一些 相关有用的信息 例如 优惠信息 天气信息等等 所以本网站也需要设置一个新闻模 块发布和管理的功能模块来发布一些当地的一些旅游信息 以方便游客的浏览 3 1 6 当地特色模块 一个当地的旅游网站 最关键的一个功能就是展示当地的一些特色 通过自己的特 色吸引游客的目光 一个旅游网站只有能够成功的展示当地的特色这个网站才能够说是 成功的 所以本网站也需要设置一个功能模块来展示当地的特色 3 3 2 2 系系统统性性能能指指标标 为实现上述需求 本系统采用JSP技术及web数据库技术构成基于web的旅游管理系 统 1 实用性 旅游管理系统的开发应将系统的实用性和实时性放在首要位置 系统的设计应最大 限度发挥计算机的高速处理 海量存储能力 在软件设计中 以方便用户使用为标准 做到统一编码规则 统一界面风格 2 可靠性 由于系统性质的要求 本系统的可靠性要求很高 系统在运行中要不发生或极少发 生故障 在偶然事故及操作失误时 系统应具有较强的处理能力 而不应造成信息的丢 失和破坏 3 安全性 通过旅行社管理系统可以修改及删除旅游线路和介绍的信息 和一些游客的购物清 单以及基本信息 因此对系统的安全性要求比较高 一方面要保证旅行社用户各项信息 的安全 另一方面又要在非常情况下保证数据的丢失减少到最低限度 4 系统设计 4 4 1 1 系系统统设设计计总总体体要要求求 系统设计是旅游管理系统开发过程的一个重要阶段 包括两个方面 首先是总体结 构的设计 其次是具体功能模块的设计 其主要目的是为系统实现 如编程 调试 试 运行等 制定蓝图 在系统设计阶段 主要任务就是在各种技术和实施方法中权衡利弊 精心设计 合理地使用各种资源 最终勾画出新系统的详细设计方案 系统设计的原则 为 1 系统性 系统是作为统一整体而存在的 因此 在系统设计中 要从整个系统的 角度进行考虑 系统的代码要统一 设计规范要标准 传递语言要尽可能一致 对系统 的数据采集要做到数出一处 全局共享 使一次输入得到多次利用 2 灵活性 为保持系统的长久生命力 要求系统具有很强的环境适应性 为此 系 统应具有较好的开放性和结构的可变性 在系统设计中 应尽量采用模块化结构 提高 各模块的独立性 尽可能减少模块间的数据藕合 使各子系统间的数据依赖减至最低限 度 这样 既便于模块的修改 又便于增加新的内容 提高系统适应环境变化的能力 3 可靠性 可靠性是指系统抵御外界干扰时的恢复能力 一个成功的管理系统必须 具有较高的可靠性 如安全保密性 检错及纠错能力 抗病毒能力等 4 经济性 经济性是指在满足系统需求的前提下 尽可能减少系统的开销 一方面 在硬件投资上不能盲目追求技术上的先进 而应以满足应用需要为前提 另一方面 系 统设计应尽量避免不必要的复杂化 各模块应尽量简洁 以便缩短处理流程 5 美观性 简洁的界面设计 在设计过程中 以人为本 用易于理解的图标 用有 意义的标题 简明 一致 快捷并可靠的界面 4 4 2 2 系系统统模模块块设设计计 河南省安阳市旅游管理系统是真正为用户考虑的网络平台 以满足客户实际需要而 设计的 本系统参照真实的旅游网站所做 再结合本地旅游需求 这样可以更直接体现 本网站的特点和价值所在 该系统属于 B S 模式 可以通过前台的操作界面进行网站的 访问和浏览 而后台是对数据表的操作对前台相关数据的管理 对数据库进行数据的更 新和修改等操作 数据库可以单独存放在一个服务器上 而客户端的模块分别安装在相 应的机器上 该系统包括如下五个主要模块 旅游信息管理 旅游线路 客户信息管理 旅行社管理 票务交通 各个模块主要功能如下 1 旅游信息管理 管理员可以对景点 新闻的增加 查看 删除 修改等操作 通 过这个模块可以让让游客可以更清楚更直观的进行对比和选择 2 旅游线路 管理员对旅游线路进行管理 游客可以浏览旅游线路信息 3 客户信息管理 主要包括客户注册与登录模块 客户可以方便的进行注册和登录 还可以对自己的信息进行修改 只有登录之后才可以进行旅行社的预订查看更多信息 4 旅行社管理 管理员负责对旅行社的管理 5 票务交通 管理员对票务信息进行管理 图 4 1 系统功能图 4 1 1 数据库设计 数据库的设计与整个系统的设计是融合在一起的 要做到动态的查询和显示数据 就必须使用数据库 本系统是一个以数据处理为主的信息管理系统 因此数据库的设计 在整个系统的设计中占有很大的比重 整个系统的数据库由9个表组成 分别是user lvyouxianlu orders fengjing news anyangfengjing product product order jiaotong user表保存网站的用户基本信息 用户分为普通用户和系统管理员 user表包含7 个字段 序列号 用户标识 用户类型 用户姓名 密码 联系电话 电子邮件 序列 号是自增不重复流水号 作为user表的主键 同时也作为orders表和product order的 外键 用户标识是文本类型 是用户登录名称 不能重复 用户类型是枚举类型 super normal 表示用户是系统管理员还是普通用户 密码是文本类型 用于用 户登录 用户姓名 联系电话 电子邮件是用户的个人信息 表4 1user表 字段名称数据类型说明 ser 自动编号序列号 id 文本用户标识 type 文本用户类型 name 文本用户姓名 password 文本用户密码 Tel 文本用户联系方式 email 文本用户电子邮件 lvyouxianlu表保存旅行社提供的各条旅游线路 包含了14个字段 Id是自动增长 的流水号 是lvyouxianlu表的主键 lxs是外键 关联到旅行社表 其他字段是旅游线 路的基本信息 包括线路名称 行程天数 出发地 标准价格 豪华价格 超豪华价格 具体行程安排 餐饮住宿条件 交通保险 导游门票 春节优惠价格和其他内容 具体 行程安排中将多天的安排存放在一起 中间用 分隔开 表 4 2 lvyouxianlu 表 字段名称数据类型说明 ser 自动编号序列号 xlmc 文本线路名称 lxs 文本旅行社 xcts 文本行程天数 cfd 文本出发地 bzd 文本标准等 hhd 文本豪华等 chhd 文本超豪华等 xcap 备注 行程安排 不同的日程的 内容用 分隔 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 文本图片 1 pic2 文本图片 2 type 文本 所属类别 因甲骨文而闻 名于世 人与自然的结合 国家重点风景名胜区 国 家森林公园 Detial1 备注文字描述 段落 1 Detial2 备注文字描述 段落 2 news表存储近期旅游热点新闻 news表包含了4个字段 表4 5 news表 字段名称数据类型说明 id 文本序列号 name 文本标题 pic1 文本图片 content 文本内容 anyangfengqing表包含5个字段 id是自增序列号 主键 name是新闻标题 detial1是新闻内容 pic1是新闻图片名称 安阳风情分4个类别 type是枚举类型 安 阳美食 安阳文化 民族民俗 安阳珍奇 表4 6anyangfengqing表 字段名称数据类型说明 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 product和quantity是订单基本信息 表4 8product order表 字段名称数据类型说明 id 文本产品 id quatity 文本数量 name 文本客户姓名 tel 文本联系电话 addr 文本地址 IDNumber 文本身份证号 jiaotong表保存近期交通信息 包括飞机 火车 轮船3种交通工具的线路及时刻 信息 表4 9jiaotong表 字段名称数据类型说明 from 文本始发地 to 文本目的地 type 文本类型 飞机 火车 轮船 id 文本 号码 航班号 列车车次 轮船号 time1 文本出发时间 time2 文本到达时间 price 文本票价 4 4 3 3 系系统统功功能能设设计计 4 3 1 页面设计 主页面是本网站的门户 它包含了各个模块的入口链接 部分热点模块的最新信息 用户注册 登陆 权限分配功能 首页通往各个子模块的链接 使用http标签静态实现 如 旅游路线 声明了一个到相对路径jsp tourist track下 的lvyouluxian jsp链接 其他模块以此类推 4 3 2 游客功能设计 该模块为用户提供了安阳的旅游信息 并在此基础上 为注册会员提供在线订购特 产 预定旅游线路 预定航班等功能 非注册用户可以上网查看辉县的旅游信息 用户 能分类的了解到风景 风情 路线情况 交通信息 旅游新闻 等基本信息 为了避免 累赘的工作和一些恶意的欺诈 而特别设计了注册与非注册两种用户权限 4 3 3 系统管理员功能设计 管理员通过注册名被定义为super权限的用户名登陆到系统后可以进行除旅行社管 理外的其他所有模块的管理操作 以票务交通模块为例 管理员登陆后 在票务交通模 块可以看到左边有一个管理的标签 进入后可以进行这个模块的管理 管理员可以在这 里进行对已有的交通信息修改和删除操作 也可以通过左边的增加按扭进行对交通信息 增加 其他模块的维护方式与票务交通模块类似 通过后台维护模块 管理员能更直观 的进行操作 在对后台数据库进行任何操作后 都可以立即观察到效果 从而减少了错 误发生的机率 管理员跟普通用户的区别就在于权限不同 即是基于该网站的身份验证 和权限分配上 身份验证和权限分配实现的代码如下 String id String 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 setAttribute right normal String name rs1 getString name String type rs1 getString type if type null session setAttribute userName name session setAttribute password password else session setAttribute userName name session setAttribute password password stmt close response sendRedirect index jsp return out print 登陆失败 请重新登陆 out print 返回 catch Exception e out println 数据库连接错误 e 各个模块的管理功能主要是对数据库的操作 在此就不再赘述 4 3 4 旅游社管理设计 旅行社管理员通过各个旅行社自己在这个系统中的ID号和密码登陆后 可以查看预 定本旅行社的旅游路线情况 在这里由于假设旅行社与系统供应商只存在着合作的关系 旅行社可以提交自己的旅游路线信息给系统管理员 只能由系统管理员来操作旅游路线 信息 这样提高了信息的安全性和各个旅行社竞争的公平性 4 4 4 4 关关键键技技术术的的实实现现 4 4 1 汉字显示的实现 在JSP的开发过程中 英文字符的表示一般不会出现问题 可能出现的中文问题如 下 1 JSP页面无法正确显示中文 比如出现 或者乱码 2 JSP页面无法正确接收来自上一个页面提交的中文表单 3 JSP从数据库或者文件中读出来的中文都是乱码 写进去的中文也是乱码 这是跟Java中对字符的处理方式有关系的 英文字符一般都是以一个字符来表示 编码方式主要有 1 ASCII码 美国国家信息交换标准码 是7位编码 2 ISO 8859 1码 是8位编码 它包含了ASCII码 在西欧比较通用 它是Linux系 统的字符集 同时也是HTML的基础字符集 中文字符成千上万 必须使用2个以上的字节来表示 不同的地区和系统都制定了 各自的编码方式 这样就产生了很多种不同的编码方式 常用的汉字编码方式 字符集 有如下几种 1 GB2312码 中华人民共和国国家标准汉字信息交换用编码 是16位编码 简称国 标码 2 GBK是对GB2312的扩展 包含GB2312的字符集 3 BIG5码 是台湾地区采用的编码方式 4 UNICODE码 是16位编码 它是一个标准 它的目标是明白的表现每种人类语言 中的每种已知字符 5 UTF 8码 是UNICODE的转换格式 是一种不等长的编码 多种编码方式共存造成了汉字表示方式的不统一 也带来了很多麻烦 Java对于多 语言的支持并不是很好 任何涉及Java的需要显示汉字的软件都会遇到汉字问题 既然 如此 在使用Java处理中文字符时就必须注意编码问题 有以下几点要特别注意 1 当一个Java程序在运行时 所有的内存中的字符串都是以UNICODE方式来表示的 2 Java程序接受一个字符串时 程序将该字符串从源编码方式转换为UNICODE编码 3 Java程序输出一个字符串时 程序要将该字符串从UNICODE编码转换为目标编码 方式 4 Java程序输出一个字符串时 程序要将该字符串从UNICODE编码转换为目标编码 方式 5 在任何一个传递字符串的地方都可能出现编码转换 在编写涉及到中文的JSP页面时 要注意对编码方式的考虑 主要的解决办法是在 JSP中进行编码转换 由于涉及到编码的环节很多 因此中文问题没有一个统一的解决 方案 只能在出现问题的地方进行具体分析 采取适当措施 在海鲜酒楼管理系统中 汉字乱码主要分为两种情况 1 中文表单提交字符串 当页面中的表单提交字符串时 首先把字符串按照当前页面的编码 转化成字节串 然后再将每个字节转化成 XX 的格式提交到 Web 服务器 比如 一个编码为GB2312 的页面 提交 中 这个字符串时 提交给服务器的内容为 D6 D0 字节串的格式 在服务器端 Web 服务器把收到的 D6 D0 字节串转化成 0 xD6 0 xD0 UNICODE字符 串 然后再根据 GB2312 编码规则得到 中 字 然而实际上 在将 字节串 转化成 UNICODE 字符串 时 容易将 字节串 简 单地作为单字节字符串 采用每 一个字节 就是 一个字符 的方法进行转化 而在 非英文的环境中 应该将 字节串 作为ANSI字符串 采用适当的编码来得到UNICODE 字符串 有可能 多个字节 才能得到 一个字符 在Tomcat服务器中 request getParameter 得到乱码时 常常是由于上述原因 造成的 默认情况下 当提交 D6 D0 给Tomcat服务器时 request getParameter 将 返回 0 x00D6 0 x00D0 两个UNICODE字符 而不是一个 中 字符 因此 我们需要使 用bytes string getBytes iso 8859 1 进行逆向操作 得到原始的字节串 D6 D0 再用string new String bytes GB2312 重新得到正确的字符串 中 在本系统中 输出页面按照GB2312进行编码 通过实现该设置 在实现添加用户功能时 从表单中获取 用户姓名等汉字信息后 要先用上述方法进行编码的转换 以得到正确的字符形式 2 从数据库读取字符串 通过数据库客户端 JDBC 从数据库服务器中读取字符串时 客户端需要从服务器 获知所使用的ANSI编码 当数据库服务器发送字节流给客户端时 客户端负责将字节流 按照正确的编码转化成UNICODE字符串 本系统中 数据库中的所有表均采用MyISAM类型 gb2312字符集 Conlation gb2312 chinese ci 这样保证了数据库中字符编码和网页中字符编码的统 一 数据库中的汉字可以直接在网页中显示出来 网页中具有相同编码的汉字在数据库 中也可以显示为汉字 4 4 2 文件上传功能的实现 在新闻 安阳特产 民族风情模块中都有图片信息 数据库中保存的是图片文件所 在的相对位置和名称信息 在管理员维护网站信息的时候 为了更便于操作 需要在向 数据库增加或者修改信息的同时 把图片上传到服务器相应的位置 在 JSP 中 可以通 过标签上传图片 通过这种方式 文件以流的方式发送到服务器端 服务器通过将相应的流操作 将文件重组并保存 但是这种方式的问题是 在这个 form 里的其他非文件参数 用普通的方式不能够读取正确的参数值 而将得到一个 null 在这个问题上作者花了大量的时间精力进行研究 发现其他参数同样被转化成流 对这些参数 也需要进行流处理 才能得到原来正确的参数值 类 FileUtil 实现了上 述功能 public static HashMap upLoad HttpServletRequest request String subpath HashMap datamap new HashMap try 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 getItemIterator request while fii hasNext FileItemStream fis fii next if fis isFormField BufferedInputStream in new BufferedInputStream fis openStream BufferedOutputStream out new BufferedOutputStream new FileOutputStream new File dbConnection absolutePath subpath fileName Streams copy in out true datamap put fis getFieldName fileName substring 1 else BufferedInputStream in new BufferedInputStream fis openStream ByteArrayOutputStream bos new ByteArrayOutputStream byte buffer new byte in 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 表示不同模块的文件存放路径 代码中创建了一个 HashMap datamap 准本用于记录所有 上传的 form 参数 然后在 d 建立临时文件夹 设置上传文件大小 通过 FileItemIterator fii 分别处理上传文件和参数 如果遇到文件 就把输入流的内容 保存到 subpath 路径下 同时将 form 输入标签参和文件名放入 datamap 中 如果遇到 参数 就将输入流的内容读入到一个 String content 中 然后将标签名和 content 放 到 datamap 中 最后返回 datamap 调用 upLoad 的 JSP 就可以从 datamap 中取得 form 中的所有信息 实现文件与 form 参数同时上传 4 4 3 页面间参数传递的实现 旅游管理系统的实现过程中 经常需要把上一个页面中的数据传给下一页面 下一 个页面获取这些参数后 再做进一步的操作处理 这就需要用到页面间的参数传递技术 本系统参数传递大致如下面这种种情况 JSP 代码间的参数传递有两种方式 get 和 post 在票务信息功能中 就多次用到了页面间的参数传递

温馨提示

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

评论

0/150

提交评论