JSP 实现的简单旅游管理系统设计与开发(论文+源码)_Nueve

摘  要

目前,旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一,互联网的兴起给旅游业带来了新的契机。旅游网站逐渐成为旅游信息管理的主要途径。因此,开发一个稳定的适用性好的旅游管理系统具有非常重要的意义。在对现有旅游查询网站的分析和比较的基础上,依循面向对象软件开发过程,设计出客户端基于Web浏览器,服务器端基于JSP和Servlet,数据源基于关系型数据库的三层框架,完成JSP页面设计、服务器端核心请求的处理以及对数据库的同步更新。以旅游管理系统的应用实例实现了这个方案。该系统可以实现游客分类查询路线信息.路线预定,在线选购物品和结账。系统管理员查询、修改、删除和添加交通和线路,产品信息。系统工作稳定、操作简单、维护方便。

关键词:旅游信息;权限;数据库

JSP simple Tourism Management System Design

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 word: Travel information; Privilege; Database

目  录

1 引言

1.1 旅游管理系统的发展

1.2 旅游管理系统的现状

1.3 该系统的主要研究内容

2系统开发的关键技术

2.1 JAVA语言

2.2 JSP技术

2.3 JavaBeans技术

2.4 JavaScript技术

2.5 JDBC技术

2.5.1 JDBC数据访问接口

2.5.2 JDBC的体系结构

2.5.3JDBC访问后台数据库的技术实现方法

2.6 开发工具选择

3旅游管理系统需求分析

3.1 系统需求分析

3.1.1 游客功能需求

3.1.2 购物车模块

3.1.3 交通管理

3.1.4 旅行社管理

3.2 系统性能指标

4旅游管理系统分析设计与实现

4.1 旅游管理系统设计总体要求

4.2 数据库设计

4.3 系统功能设计

4.3.1 主页功能设计

4.3.2 游客功能设计

4.3.3 系统管理员功能设计

4.3.4 旅行社管理功能设计

4.4 关键技术的实现

4.4.1 汉字显示的实现

4.4.2文件上传功能的实现

4.4.3页面间参数传递的实现

4.4.4数据库连接技术

5系统的实现及关键技术

5.1 系统环境配置

5.1.1系统对硬件环境的要求

5.1.2 系统对软件环境的要求

5.2 主要功能模块的实现

5.2.1 旅游线路

5.2.2 新闻发布功能

5.2.3 风情模块信息发布功能

5.2.4 购物车功能

5.2.5交通票务预定功能

5.2.6旅行社管理模块

    

参考文献

    

    

1 引言

1.1 旅游管理系统的发展

中国旅游网站的建设始于1996年。目前,旅游行业管理的网络化正在对我国旅游市场固有的市场壁垒带来革命性的冲击,新的市场关注点正在涌现。随着现代科技和信息产业的发展,互联网的兴起给旅游业带来了新的契机,网络的关互性、实时性、丰富性和便捷性等优势促使传统旅游业迅速融入网络旅游的浪潮不再受时间、空间的限制,旅游资源的拥有者(如航空公司、宾馆等)和最终的旅游消费者之间也能够建立起更直接的关系。

1.2旅游管理系统的现状

随着社会的发展,旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一。旅游业在城市经济发展中的产业地位、经济作用逐步增强,旅游业对城市经济的推动性、社会就业的带动力、以及对文化与环境的促进作用日益显现。旅游业已成为中国经济发展的支柱性产业之一。

旅游网站也随着旅游业的发展而逐渐成为旅游信息管理的主要途径。目前旅游网站已基本形成了成功的商业框架。如何利用网络的巨大潜力将企业的核心业务流程、客户关系管理等都延伸到网上,使产品和服务更贴近用户,让旅游信息网成为企业资源计划、客户关系管理及供应链管理的中枢神经,实现网络对旅游业的整合,将原来市场分散的利润点集中起来,获得一种成功的旅游网站运行模式,是目前旅游业发展中最重要的一个环节。

1.3该系统的主要研究内容

分析了目前普遍的旅行社经营模式和游客的消费方式和国内一些知名旅游网站,设计了旅游管理系统网站的功能模块和业务流程。研究了Java分布式框架--J2EE,Web容器,组件生命周期。研究JSP技术,包括如何进行基于JSP应用开发以及在JSP服务器上的发布运行。深入研究了基于multipart/form-data的form传送协议,以及如何在该协议下进行通信。研究了如何基于JavaScript开发更丰富的人机交互界面。研究了J2EE框架中数据源的2种配置方式,使用容器管理连接池,直接使用JDBC。

2系统开发的关键技术

2.1JAVA语言

Java语言诞生于20世纪90年代的初期,最初是以智能家电的芯片语言出现的。但是很快,人们发现了它有更广阔的用武之地,由于它适用于Internet环境,引起计算机界的广泛关注,迅速发展成计算机网络编程语言。

Java语言备受推崇,因其确实可称得上是新一代编程语言,具有众多优点,它简单、面向对象、可移植、与硬件无关、系统强健安全、具有很高的性能,并提供了分布性、多线程、动态性的支持。

2.2JSP技术

JSP ( Java Server Pages)是由Sun公司在java语言上开发出来的一种动态网页制作技术,JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果,使您可以将网页中的动态部分和静态的HTML相分离。

⑴ 将内容的生成和显示进行分离

使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。

⑵ 强调可重用的组件

绝大多数JSP页面信赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,井使得这些组件为更多的使用者或者客户团体所使用[6]。

⑶ 采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在生成与JSP相关的XML标识的动态内容时所需要的。标准的JSP标识能够访问和实例化JavaBeans组件、设置或者检索组件属性、下载Applet,以及执行用其他方法更难于编码和耗时的功能。

⑷ 健壮性与安全性

由于JSP页面的内置脚本语言是基于Java编程语言的,且都被编译为JavaServlet,它就具有Java技术的所有好处,包括健壮的存储管理和安全性[7]。

⑸ 良好的移植性

作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,可以使用自己所选择的服务器和工具,而且更改工具或服务器并不影响当前的使用。

⑹ 企业级的扩展性和性能

当与Java2平台,企业版(J2EE)和EnterpriseJavaBeans技术整合时,JSP页面将提供企业级的扩展性和性能,这对于虚拟企业中部署基于Web的应用是必需的。

2.3JavaBeans技术

Javabean是可复用的平台中立的软件组件,可以在软件开发工具中被直观地操作。基本说来,Javabean可以看成一个黑盒子,即只需知道其功能而不管其内部结构的软件设备。用户可以使用JavaBeans将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBeans、applet程序或者应用来使用这些对象。用户可以认为JavaBeans提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

JavaBeans将Java语言本身所具有的“一次编写,到处运行”特性沿用到代码组件Bean上,使Bean也具有平台无关性。JavaBeans通过封装属性和方法成为具有某种功能的软件模型,运营这种模型,能够使软件开发人员快捷地利用子组件来创建模板应用程序,然后整合一些附件功能便可使用。

JavaBeans组件可以访问数据库,用一个Bean把常用的数据库功能都封装起来。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或者负责与数据库交互以及数据提取等。

2.4JavaScript技术

JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本设计语言,它可以镶嵌在HTML代码中的特殊类型代码,这些代码可以由浏览器解释执行,它使网页开发者可以更有效地控制页面。而且JavaScript是一种面向对象的语言,可以操控浏览器脚本对象模型所支持的各种标准对象,如当前窗口、浏览器本身信息、URL、HTML文档等等,并能对用户触发事件做出即时响应,诸如单击鼠标、表单操作等,而且这些都不需要客户机与服务器的交互通信,既为用户提供了更快速的操作,又减小了服务器端的负担,十分适合于编制交互网页和较小的编程任务。

JavaScript是一种解释性语言,它不需要对JavaScript程序进行预先编译而产生可执行的机器代码,只是在程序执行时才由一个内置于浏览器中的JavaScript解释器将源代码动态地处理成可执行代码。目前流行的浏览器都具有这种解释器。从Web发布角度来看,它的这种特性使它比编译性语言更加易于编程和使用。

由于JavaScript是由Java继承而来的,因此它是一种面向对象的程序设计(OOP)语言。JavaScript中的对象有两个组成部分——状态和行为,或者说变量(属性)和函数(方法)。可以用JavaScript的对象来模拟现实生活中的各种实例,从而大大方便了程序的设计。利用对象的继承性,可以使很多精心设计的代码能够重新使用,从而减少了程序设计人员的重复工作量而节省了时间。

JavaScript不需要依赖特定的机器和操作系统,独立于操作平台,这点与JSP语言一样,都具有跨平台性,它们可以在不同的平台上紧密结合,协同工作。JavaScript还具有占有系统和网络资源小的优点。所以,在JSP页面内镶嵌JavaScript实现一些检验功能,会使Web页面更富于交互性、响应速度更快、效率更高。

2.5JDBC技术

2.5.1JDBC数据访问接口

JDBC(Java Database Connectivity)是用于执行SQL语句的Java API[15]。它由一组用Java编程语言编写的类和接口组成,为Java应用程序与各种不同数据库之间对话提供了一种便捷的方法,使得开发人员能够用纯Java API来编写具有平台无关性的数据库应用程序。JDBC的出现使Java程序对各种数据库的访问能力大大增强。通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。

2.5.2 JDBC的体系结构

目前,应用程序与数据库信息交换己经非常普遍。因此,一个程序设计语言对数据库开发能力的大小,决定着该语言的流行程度。在JDK1.1版本之前,Java语言提供的对数据库访问支持的能力是很弱的,编程人员不得不在Java程序中加入C语言的ODBC (Open Database Connectivity)函数调用,这使得Java程序的跨平台发布能力受到很大的限制。JDBC的出现使Java程序对各种数据库的访问能力大大增强。它为Java定义了一个“调用级”(cal-level)的SQL接口。这意味开发人员可以很方便地将SQL语句传送给几乎任何一种数据库[16]。JDBC的体系结构如图1所示:

图1 JDBC体系结构

从图中可以看出,JDBC API的作用就是屏蔽不同的数据库驱动程序之间的差别,使得程序设计人员有一个标准的、纯Java的数据库程序设计接口,为在Java中访问任意类型的数据库提供技术支持。驱动程序管理器(Driver Manager)为应用程序装载数据库驱动程序。数据库驱动程序是与具体的数据库相关的,用于向数据库提交SQL请求。

2.5.3 JDBC访问后台数据库的技术实现方法

JDBC (Java Database Connectivity)是Java语言访问后台数据库的API。JDBC继承了Java语言的所有特点。并且,很多数据库系统自带JDBC驱动程序,Java程序就可通过这些程序与数据库相连。但是,JSP&Servlet并不直接使用JDBC技术访问数据库系统,而是把参数传递给事先编好的JavaBean EJB组件,由它们对数据库进行操作。JDBC本身主要完成以下三件事件:与数据库建立连接;发送SQL语句;处理结果。JDBC的结构可分为两层:第一层是JDBC API,JDBC API是一系列的抽象接口,应用程序是首先通过它实现数据库的连接,执行SQL声明、获得返回结果;第二层JDBC Driver API主要负责与第三方驱动程序通讯,这些驱动程序才真正连接到数据库。

2.6开发工具选择

本系统使用的开发工具主要有tomcat、Eclipse和Access数据库。

1)Tomcat服务器

本系统在Windows XP操作系统下整合Apache和Tomcat,整合后的服务器的处理能力更强大。Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。

Apache还拥有以下的特性:

1几乎可以运行在所有的计算机操作系统上。

2简单而且强有力的基于文件的配置(HTTPD.CONF)。

3支持通用网关接口(CGI)和虚拟主机。

4可以通过WEB浏览器监视服务器的状态,可以自定义日志。

5具有用户会话过程的跟踪能力。

Tomcat本身就是一个Web服务器,其支持JSP和Servlet,但由于Tomcat主要用来开发和调试,而作为商业应用则其功能还略显单薄,因此我们将其作为功能强大的商业应用Web服务器Apache HTTP Server的一个附加软件,将两者的功能整合起来,以建立具有完美功能的JSP网站。

2)Eclipse开发工具

Eclipse平台由数种组件组成:平台核心(platform kernel)、工作台(workbench)、工作区(workspace)、团队组件(tram component)以及说明组件(help)。

Eclipse平台的目的,是提供多种软件开发工具的整合机制,这些工具会实变成Eclipse外挂程序,平台必须用外挂程序加以扩充才有用处。Eclipse设计美妙之处,在于所有东西都是外挂,除了底层的核心以外。这种外挂设计让Eclipse具备强大扩充性,但更重要的是,此平台提供一个定义明确的机制,让各种外挂程序共通合作(透过延伸点extension points)与贡献(contributions)),因此新功能可以轻易且无缝地加入平台。功能上的便捷是我首选的一个原因,切不用考虑太多版本的因素。

3)ACCESS数据库

选择Access为后台数据库是因为操作简便。Access作为一个中小型的数据库,足以应付我们使用中所能达到的数据量。一个Access数据库可以包含多个数据表,而数据表就是我们存放数据的地方。往数据库中输入数据,其实是在往每一个数据表中输入数据。而关于数据表也要明确几个概念:字段、记录和值。在新建完一个数据库后,Access会打开数据库。我们双击“使用设计器创建表”,打开数据表设计器。其中“字段名称”就是指我们数据表的列的名称,比如上面表中的“留言人”等。数据类型就是数据存放在数据库中的类型,可以在下拉框中选择。说明是你对该字段的说明。

我们也可以直接在Access中进行数据的录入工作。直接双击已经建立的数据表,此时会打开该表,我们直接在表格中输入数据就行了,不过要注意设计表时定义的字段类型和条件,如果输入的内容不符合定义的条件则会出错。这样的操作对于小量的修改非常的方便快捷。

4)HTML

HTML的英文全称是"Hypertext Markup Language",中文译为“超文本标记语言”。“超文本”就是指页面内可以包含图片,联接,甚至音乐,程序等非文字的元素。在几年前作为SGML的一个子集开发的。

一个HTML文件中包含了所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字应放置在何处,显示模式是什么样的等。如果你还有一些图片、动画、声音或是任何其它形式的资源,HTML文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页的什么位置。浏览的网页就是由HTML语言编写出来的。虽然HTML是一种语言,但HTML不是程序语言,如 C++ 和 Java 之类,它只是标示语言,你只要明白了各种标记的用法便算学会了HTML.HTML 的格式非常简单,只是由文字及标记组合而成,因此任何文本编辑器都可以制作HTML页面。在编辑器中输入html代码即可完成对网页的设计,如果在其中加入VB,JAVA等脚本文件以及数据库连接有关的语句指令,便可对已知数据进行查询,从而生成动态网页的一部分。

3旅游管理系统需求分析

该系统作为旅游管理系统的web端实现.,其主要功能是方便游客对四川的风土人情.了解,特产购买和旅行线路的查询和预定,及特别提供单独的管理员权限以方便管理员对各个模块进行查插删改操作。另外为了实现商务价值而设立了旅行社管理模块,方便旅行社查看路线预定情况。

3.1系统需求分析

为了方便游客和管理员旅行社三方对该系统的操作和运用,现对该系统针对不同用户的需求做一个分析。

3.1.1 游客功能需求

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

3.1.2 购物车模块

 在这个购物车模块中主要实现一个物品的预购,即实现在线的查询和购买结帐。游客必须是注册登陆才能在川渝特产这个模块中进行购买和结帐,或者是查看购物车的功能。为了保障游客的购买需求能够准确的被管理员搜集,这里需要游客填写的是比较准确的联络信息和个人信息。

3.1.3 交通管理

旅游和交通如航班、火车是密切相连的,所以在这个网站上必须要有一个交通信息的发布和管理功能,以便游客的查询和了解。交通管理员可以登陆交通管理模块,确认航班,船,火车的预定情况,也可以通过管理修改和增加交通信息。游客可以浏览前台的交通信息,通过城市到城市,航班,或者是火车班次查询交通的票务信息,可以了解到航班的发出时间和到达时间,了解更为详细的信息。

3.1.4 旅行社管理

这个系统为了满足更多的旅行社在系统中发布旅游路线信息,特别设置了多个旅行社的管理方式,每个旅行社可以通过自己的ID和密码登陆后台,查看自己旅行社的路线预定信息。考虑到操作的简单,也为了避免操作的冲突,旅行社只有查看预定情况的权限,而不涉及旅游线路的管理功能。对于旅游线路的发布修改删除等功能,旅行社可以交由系统管理员来完成。

3.2系统性能指标

为实现上述需求,本系统采用JSP技术及web数据库技术构成基于web的旅游管理系统。

⑴实用性

旅游管理系统的开发应将系统的实用性和实时性放在首要位置。系统的设计应最大限度发挥计算机的高速处理、海量存储能力。在软件设计中,以方便用户使用为标准,做到统一编码规则、统一界面风格。

⑵可靠性

由于系统性质的要求,本系统的可靠性要求很高。系统在运行中要不发生或极少发生故障,在偶然事故及操作失误时,系统应具有较强的处理能力,而不应造成信息的丢失和破坏。

⑶安全性

通过旅行社管理系统可以修改及删除旅游线路和介绍的信息,和一些游客的购物清单以及基本信息,因此对系统的安全性要求比较高,一方面要保证旅行社用户各项信息的安全,另一方面又要在非常情况下保证数据的丢失减少到最低限度。

4旅游管理系统分析设计与实现

4.1 旅游管理系统设计总体要求

系统设计是旅游管理系统开发过程的一个重要阶段,包括两个方面,首先是总体结构的设计,其次是具体功能模块的设计。其主要目的是为系统实现(如编程、调试、试运行等)制定蓝图。在系统设计阶段,主要任务就是在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最终勾画出新系统的详细设计方案。系统设计的原则为:

⑴ 系统性。系统是作为统一整体而存在的,因此,在系统设计中,要从整个系统的角度进行考虑,系统的代码要统一,设计规范要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享,使一次输入得到多次利用。

⑵ 灵活性。为保持系统的长久生命力,要求系统具有很强的环境适应性。为此,系统应具有较好的开放性和结构的可变性。在系统设计中,应尽量采用模块化结构,提高各模块的独立性,尽可能减少模块间的数据藕合,使各子系统间的数据依赖减至最低限度。这样,既便于模块的修改,又便于增加新的内容,提高系统适应环境变化的能力。

⑶ 可靠性。可靠性是指系统抵御外界干扰时的恢复能力。一个成功的管理系统必须具有较高的可靠性,如安全保密性、检错及纠错能力、抗病毒能力等。

⑷ 经济性。经济性是指在满足系统需求的前提下,尽可能减少系统的开销。一方面,在硬件投资上不能盲目追求技术上的先进,而应以满足应用需要为前提;另一方面,系统设计应尽量避免不必要的复杂化,各模块应尽量简洁,以便缩短处理流程。

⑸ 美观性。简洁的界面设计,在设计过程中,以人为本,用易于理解的图标,用有意义的标题,简明、一致、快捷并可靠的界面。

图2主页功能图

如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值