




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业论文 设计 家乡旅游管理系统的设计与实现 姓 名李慧 学 号20112070521 专 业计算机科学与技术 指导教师李洁颖 2013 年 5 月 27 日 I 摘 要 目前 旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一 互联网的 兴起给旅游业带来了新的契机 旅游网站逐渐成为旅游信息管理的主要途径 因此 开发 一个稳定的适用性好的旅游管理系统具有非常重要的意义 在对现有旅游查询网站的分 析和比较的基础上 依循面向对象软件开发过程 设计出客户端基于 Web 浏览器 服务 器端基于 JSP 和 Servlet 数据源基于关系型数据库的三层框架 完成 JSP 页面设计 服务 器端核心请求的处理以及对数据库的同步更新 以旅游管理系统的应用实例实现了这个 方案 该系统可以实现游客分类查询路线信息 路线预定 在线选购物品和结账 系统管 理员查询 修改 删除和添加交通和线路 产品信息 系统工作稳定 操作简单 维护方便 关键词 旅游 安阳 管理系统 II 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 1 系系统统的的 MVC 结结构构 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 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 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 1 系系统统需需求求分分析析 为了方便游客和管理员及旅行社三方对该系统的操作和运用 现对该系统针对不同 用户的需求做一个分析 3 1 1 游客管理模块 为了方便信息的查询和对安阳旅游的了解 系统允许非注册用户浏览 游客可以查 看到各个旅行社发布的旅游路线信息 上面有很详细的线路介绍 酒店预定的情况行程 安排情况 另外可以浏览整个网站的一些安阳风情介绍 特产和特色小吃等等 但是考虑 到一些功能涉及到一些基础信息 所以在其他功能如线路预定 购物车功能等需要游客 先注册然后登陆系统才能使用 在设想时考虑到现在的网上购物已经成为现在一种潮流 所以在该系统上设计了购物车这个特别的模块 方便游客可以预购物品 3 1 2 购物车模块 在这个购物车模块中主要实现一个物品的预购 即实现在线的查询和购买结帐 游 客必须是注册登陆才能在安阳特产这个模块中进行购买和结帐 或者是查看购物车的功 能 为了保障游客的购买需求能够准确的被管理员搜集 这里需要游客填写的是比较准 确的联络信息和个人信息 精品资料 3 1 3 交通模块 旅游和交通如航班 火车是密切相连的 所以在这个网站上必须要有一个交通信息 的发布和管理功能 以便游客的查询和了解 交通管理员可以登陆交通管理模块 确认航 班 船 火车的预定情况 也可以通过管理修改和增加交通信息 游客可以浏览前台的交 通信息 通过城市到城市 查询航班 火车班次交通的票务信息 了解航班的发出时间和 到达时间 了解更为详细的信息 3 1 4 旅行社模块 这个系统为了满足更多的旅行社在系统中发布旅游路线信息 特别设置了多个旅行 社的管理方式 每个旅行社可以通过自己的ID和密码登陆后台 查看自己旅行社的路线 预定信息 考虑到操作的简单 也为了避免操作的冲突 旅行社只有查看预定情况的权限 而不涉及旅游线路的管理功能 对于旅游线路的发布修改删除等功能 旅行社可以交由 系统管理员来完成 3 1 5 新闻模块 旅游新闻往往是吸引游客目光的一个模块 通过这个平台游客可以及时的了解一些 相关有用的信息 例如 优惠信息 天气信息等等 所以本网站也需要设置一个新闻模块 发布和管理的功能模块来发布一些当地的一些旅游信息 以方便游客的浏览 3 1 6 当地特色模块 一个当地的旅游网站 最关键的一个功能就是展示当地的一些特色 通过自己的特 色吸引游客的目光 一个旅游网站只有能够成功的展示当地的特色这个网站才能够说是 成功的 所以本网站也需要设置一个功能模块来展示当地的特色 3 2 系系统统性性能能指指标标 为实现上述需求 本系统采用JSP技术及web数据库技术构成基于web的旅游管理系 统 1 实用性 旅游管理系统的开发应将系统的实用性和实时性放在首要位置 系统的设计应最大 限度发挥计算机的高速处理 海量存储能力 在软件设计中 以方便用户使用为标准 做 到统一编码规则 统一界面风格 2 可靠性 精品资料 由于系统性质的要求 本系统的可靠性要求很高 系统在运行中要不发生或极少发 生故障 在偶然事故及操作失误时 系统应具有较强的处理能力 而不应造成信息的丢失 和破坏 3 安全性 通过旅行社管理系统可以修改及删除旅游线路和介绍的信息 和一些游客的购物清 单以及基本信息 因此对系统的安全性要求比较高 一方面要保证旅行社用户各项信息 的安全 另一方面又要在非常情况下保证数据的丢失减少到最低限度 4 系统设计 4 1 系系统统设设计计总总体体要要求求 系统设计是旅游管理系统开发过程的一个重要阶段 包括两个方面 首先是总体结 构的设计 其次是具体功能模块的设计 其主要目的是为系统实现 如编程 调试 试运行 等 制定蓝图 在系统设计阶段 主要任务就是在各种技术和实施方法中权衡利弊 精心 设计 合理地使用各种资源 最终勾画出新系统的详细设计方案 系统设计的原则为 1 系统性 系统是作为统一整体而存在的 因此 在系统设计中 要从整个系统的角 度进行考虑 系统的代码要统一 设计规范要标准 传递语言要尽可能一致 对系统的数 据采集要做到数出一处 全局共享 使一次输入得到多次利用 2 灵活性 为保持系统的长久生命力 要求系统具有很强的环境适应性 为此 系统 应具有较好的开放性和结构的可变性 在系统设计中 应尽量采用模块化结构 提高各模 块的独立性 尽可能减少模块间的数据藕合 使各子系统间的数据依赖减至最低限度 这 样 既便于模块的修改 又便于增加新的内容 提高系统适应环境变化的能力 3 可靠性 可靠性是指系统抵御外界干扰时的恢复能力 一个成功的管理系统必须 具有较高的可靠性 如安全保密性 检错及纠错能力 抗病毒能力等 4 经济性 经济性是指在满足系统需求的前提下 尽可能减少系统的开销 一方面 在硬件投资上不能盲目追求技术上的先进 而应以满足应用需要为前提 另一方面 系统 设计应尽量避免不必要的复杂化 各模块应尽量简洁 以便缩短处理流程 5 美观性 简洁的界面设计 在设计过程中 以人为本 用易于理解的图标 用有意 义的标题 简明 一致 快捷并可靠的界面 精品资料 4 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 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 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年城市老旧街区改造工程社会稳定风险评估与社区环境监测报告
- 心脏移植后高强度他汀与患者生活质量的关系研究
- 幼儿园校园文化运动健康计划
- 如何培养自己的领导力和团队协作能力
- 2025年新能源行业工业互联网在智能微电网中的应用前景报告
- 金融科技赋能2025年普惠金融普惠性评估体系构建报告
- 2025年小米科技校园招聘模拟题及答案详解
- 桥梁工程质量验收计划
- 2025年中级插花艺术设计师考试模拟题集
- 英语外研版三年级下册教学实施计划
- 2025年语言能力等级考试英语模拟试题及参考答案全集
- 客运驾驶员安全行车课件
- 国防知识教育培训课件
- 湖南省长沙市华益中学2024-2025学年九年级上学期开学测试语文试题(答案)
- 医院内肺炎预防与控制操作规程
- 神经外科手术机器人辅助脑干出血穿刺引流术专家共识解读
- 2025年吴忠市公安局招聘警务辅助人员招聘考试笔试试题(含答案)
- 代建工作管理办法
- 《剪映短视频剪辑+即梦AI从入门到精通》AI短视频生成与剪辑全套教学课件
- 民建支部管理办法
- 2025年院感知识理论考试题库及答案
评论
0/150
提交评论