基于JSP的小型旅游网站设计毕业设计.docx
- 文档编号:29156910
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:51
- 大小:2.02MB
基于JSP的小型旅游网站设计毕业设计.docx
《基于JSP的小型旅游网站设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于JSP的小型旅游网站设计毕业设计.docx(51页珍藏版)》请在冰豆网上搜索。
基于JSP的小型旅游网站设计毕业设计
毕业设计(论文)
题目
基于JSP的小型旅游网站
作者
学院
专业
学号
指导教师
摘要
自改革开放以来,我国的人民生活水平有了极大地提高,近三十年来,人民的需求已由简单的物质需求,上升到物质和精神的双重需求。
旅游也成为了一项人民生活的重要活动。
本次毕业设计是应用了JSP+MySQL技术,采用了JSP+JavaBean+Servlet框架进行开发的小型旅游网站,并将开发的过程汇总在文章中,本文主要阐述了这次开发小型旅游网站的主要流程,介绍了软件开发的背景,介绍了在这次开发中所使用的技术及其主要特点,分析了软件的技术可行性及社会可行性,对软件的功能需求进行了分析,列出了网站中应该实现的各种功能,对软件详细开发的过程以及在开发中遇到的问题和解决方法进行了叙述,对网站的一些主要功能的实现步骤进行了详解。
系统采用MVC模式的Model2框架进行开发,使用该框架的优点是提高了系统开发的效率,同时也可满足本网站对于系统的使用、拓展以及维护方面的要求。
关键词:
JSP;旅游;MySQL
ABSTRACT
SincetheReformandopeningup,China'speople'slivingstandardshavegreatlyimproved,nearlythreedecades,theneedsofpeoplebysimplematerialneeds,risingtodoublethematerialandspiritualneeds.Tourismhasbecomeoneoftheimportantactivitiesofliving.ThegraduationprojectistheapplicationofJSP+MySQLtechnology,usingaJSP+JavaBean+Servletframeworkforthedevelopmentofsmalltourismwebsiteandthedevelopmentprocessaresummarizedinthearticle,thispaperdescribesthedevelopmentofthemainflowofsmalltourismwebsite,introducedthesoftwaredevelopmentbackground,describesthetechnologyusedinthedevelopmentofitsmainfeatures,thesoftwareanalyzesthetechnicalfeasibilityandsocialviabilityofthefunctionalrequirementsofthesoftwareareanalyzed,thesitelistsshouldimplementthevariousfunctionsofthesoftwaredevelopmentprocessindetailaswellastheproblemsencounteredinthedevelopmentandsolutionsforthenarrative,someofthemajorfeaturesofthesiteconductedadetailedimplementationsteps.SystemusestheMVCpatternModel2frameworkforthedevelopment,theuseoftheadvantagesofthisframeworkistoimprovetheefficiencyofsystemdevelopment,butalsotomeetthesystem'suseofthiswebsite,expanding,andmaintenancerequirements.
KeyWords:
JSP;Travel;MySQL
第一章引言
1.1研究背景与意义
自第三次科技革命至今,我们已经经历了半个世纪之久。
在此期间,随着计算机的问世,我们便时刻享受着它带给我们的数之不尽的便利。
转眼之间,我们也已迈入二十一世纪的第二个十年,在这科技发展呈指数增长的多年之中,有一项新的科技,也已经深深融入到我们的生活之中,成为我们生活密不可分的部分之一。
这项技术,便是伴随着计算机而兴起的,影响人类生活的十大科技发明之中的一个——互联网(Internet)。
最早的internet起源于20世纪60年代末、70年代初。
1969年美国国防部创建的第一个分组交换网ARPANET,它最初并不是一个互联的网络,但它已经将美国国防部的若干台分布在不同地方的电脑主机相互连通,实现了信息的共享。
从那时起直至二十世纪80年代,这期间有许多科研人员不断研发这一技术,如多种网络互连技术,这样的互连网络就成为了Internet的雏形。
1983年,TCP/IP协议成为ARPNET上的标准协议,这样,所有使用TCP/IP协议的计算机都能利用互联网相互通信,自此,Internet——互联网便正式诞生。
在这十年间,它已成为涵盖世界各地的网络系统。
此后,Internet仍然在不多发展,不断进化,从最初的纯文本服务,经过不断改进和完善,逐渐发展成为一种全新的Internet服务,它可以在网络上传送图片、文本、影像、声音等多媒体数据,成为了一种主从、分布式的网络服务系统,这就是WWW——“万维网”。
成为了我们如今看到的网站形式,通过Internet成为一个实时的,多媒体的信息传播渠道。
以电脑为载体,范围覆盖全球各地,没有国界,不分人种,时时刻刻地提供服务[7]。
随着人民生活水平日益提高,人民需求已从基本的物质需求,逐渐增加精神需求,如艺术需求,以及对世界上其他优美的地方的追求,对世界上其他地区的人文景观,风土人情,自然风光的好奇。
都是当今人类生活所不可或缺的一部分。
纵观互联网的发展,电子商务的兴起,使得传统商业模式发生了天翻地覆的变化,而旅游业也随着科技的发展,从以前的实体旅行社,逐渐发展成为一个拥有在线系统的,可以满足更多用户需求同时也可减少更多人力开支的在线旅游网站。
小型旅游网站就是一个为用户提供信息的在线旅行社,用户可以在网站中浏览景点信息,景点周边的酒店、宾馆信息,浏览网站中提供的旅游线路,如果是注册会员还可预订各条旅游线路。
整个网站相当于一家旅行社,以组织旅行团旅游,收取旅行线路费用,介绍景点周边酒店和宾馆信息,收取广告费为主要盈利模式。
所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。
这就是所谓的B/S结构应用系统,B/S结构即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
与此小型旅游网站的需求相结合,该网站使用B/S结构,主要实现在服务器端进行旅游景点的展示,旅游景点周边的食宿信息展示,旅游网站推出的旅游路线线的展示,路线详细信息的查询、预订等功能。
1.2本文的主要工作和内容安排
本文研究的主要内容是基于JavaWeb的JSP+JavaBean+Servlet框架进行开发的小型旅游网站,通过网站在旅游景点及旅游信息的发布,以及对这些信息进行随时的展示和预订。
本文的主要工作如下:
第1章综述了小型旅游网站研究背景及意义,及论文的主要结构和重点内容。
第2章对系统开发中采用的相关技术进行了简单的介绍。
第3章对小型旅游网站进行了简单的需求分析,对各个功能模块进行了简单的分析与划分,同时对系统整体的设计和数据库设计给出了设计方案。
第4章给出了小型旅游网站的详细设计过程以及对设计中遇到的个问题给出了解决发方案。
第5章给出了系统的测试方案以及对测试结果的分析。
第6章对目前所完成的工作进行了总结。
第二章相关技术介绍
2.1网站设计相关技术概述
本小型旅游网站采用JSP+MySQL技术,运用了CSS+DIV技术进行静态页面设计。
使用了JavaScript技术对部分页面进行设计,作为客户端页面的脚本语言,同时还使用Ajax技术,对部分页面实现了特殊效果。
以JDBC为桥梁,采用面向对象的方式,对数据库进行了操作。
在各个页面的跳转,以及页面内部需要进行动态操作的位置,使用了Servlet技术,同时,对所需显示的信息,采用EL表达式语言和JSTL标签进行显示。
通过这些技术与方法,从而组成整个网站。
2.2Web应用程序的体系结构
Web应用程序,使用的是以HTTP为核心的通信协议,应用程序服务器使用多层结构,从上而下依次为用户界面层、表示逻辑层、业务层、数据访问层和数据层,如图2.1所示[1]。
图2.1多层结构的Web应用程序
Web应用程序所特有的是页面设计,设计Web应用程序时一定要考虑的问题是网络和服务器之间的负载平衡问题,因为Web应用程序交换数据的方式为通过广域网交换,减少并平衡网络和服务器之间的负载成为了运行的重要因素;某些信息不能通过查看页面源代码而泄漏,通过URL实现页面的访问,所以必须检查每个页面合法性,保证每个合法的用户才能访问,否则尽管非法用户不知道用户名和口令,但只要知道某些页面的URL,就可以跳过身份验证直接访问;在传统的GUI设计中,可以调整界面元素的属性,使得用户不能使用某些功能,而在Web的界面设计中,只能动态地创建页面,使某些菜单或按钮变灰来达到同样的目的,所以Web界面设计要比传统的GUI设计复杂[8]。
B/S(Brower/Server)即浏览器/服务器结构。
使用这种结构,省去开发用户界面的过程,直接使用Web浏览器(如IE,Chrome),向服务器端发送各种请求,然后服务器端进行处理,之后将处理结果返回浏览器端。
利用不断成熟和普及的浏览器技术,代替复杂软件的强大功能,节约了开发成本[3]。
相比于C/S结构,B/S结构也有着许多优点。
首先,在开发和维护的开销方面,B/S结构都明显低于C/S结构。
B/S结构则只需要将服务器端的软件进行升级,然后浏览器端的用户只需重新登入系统,即可体验升级后的软件。
其次,在客户端的负载方面,B/S结构所需的客户端负载也明显小于C/S结构,C/S结构的客户端要进行与用户交互的工作,还要进行通过网络向服务器发送请求对服务器端进行处理的工作;这就会给客户端的软件开发和维护的工作带来不便。
而B/S结构客户端只需发送服务请求,将大部分工作都交由服务器端,就省去了开发和维护客户端应用程序的工作。
然而,B/S结构的的特点也带出了一个问题,将更多的工作转移到服务器端进行,会造成服务器端运行数据负荷较重,一旦发生问题,如服务器崩溃,自然灾害等破坏,会对服务器端造成影响,同时也会对程序运行造成不小的影响,因此,服务器端需要经常性的维护,备份数据库,以保证应用程序的正常运行;最后,在安全性方面的考虑,B/S结构的软件,因为使用人数多,而且使用浏览器就可进行操作,用户人员较多而且人员复杂,相对C/S结构安全性就会低一些,这就需要建立用户数据库,对不同的用户进行管理,以提高系统安全性[15]。
综上所述,B/S结构相对于C/S结构具有更多的优势,而且结合此次开发的系统特点,本系统使用B/S结构进行开发。
2.3MVC设计模式概述
MVC(Model-View-Control),它是模型-视图-控制器的缩写,该设计模式是存在于服务器表达层的一种模型,用于改变应用之间的耦合;它是一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中[9]。
模型-视图-控制器(MVC)是XeroxPARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,后来被推荐为Oracle旗下Sun公司JavaEE平台的设计模式,受到越来越多的使用ColdFusion和PHP的开发者的欢迎[2]。
图2.2MVC设计模式
MVC由三部分组成:
模型(Model)、视图(View)、控制器(Controller),每个部分负责不同的功能。
Model负责对业务数据/信息的处理,包括存取、加工、综合等,它提供应用业务逻辑,所有操作均在模型中完成,是程序执行的关键部分;View是指用户界面,即为面向用户的数据表示,数据进行处理后的结果通过视图来显示;Controller管理用户与视图之间的交互,负责View和Model之间的流程控制,将用户界面的操作映射到具体的Model,完成具体的业务逻辑,通过Model处理完的业务数据反应到View上[10]。
使用MVC很有好处,多个视图共享一个模型,返回的数据未进行格式化,所以同样的构件能被不同界面使用,当需要多种方式访问应用程序,MVC用一个模型就能处理;模型是自包含的,且与控制器和视图相分离,改变应用程序的数据层和业务规则很容易,MVC的应用程序的三部分相互独立,其中一个被改变不会影响其它两个,所以依据这种设计思想就能构造良好的松耦合的构件[11]。
2.4JavaScript脚本语言概述
JavaScript是一种基于对象和事件驱动并具有安全性能的解释型脚本语言,在Web应用中得到了非常广泛的应用。
它不需要进行编译,直接嵌入在HTTP页面中,把静态页面转变成支持用户交互的动态页面。
图2.3JavaScript组成
JavaScript适用于静态或动态网页,是一种被广泛使用的客户端脚本语言。
它具有解释性、基于对象、事件驱动、安全性和跨平台等特点;它是一种采用小程序段的方式实现编程的脚本语言,也是解释性语言,提供了一个开发过程,同时,它也是一种基于对象的语言,在脚本环境中可以应用自己创建的对象与脚本的相互作用实现许多功能;JavaScript可以无需经过服务器端程序直接对客户端的输入做出响应,它不允许访问本地硬盘,不能将数据写入到服务器上,并且不允许对网络文档进行修改和删除,只能实现信息浏览或动态交互,具有安全性;JavaScript依赖于浏览器本身,只要浏览器支持JavaScript,JavaScript的程序代码就可以正确执行[3]。
随着Web2.0概念的普及,网站开发追求更人性化、更美观的页面效果。
Ajax是AsynchronousJavaScriptandXML的缩写,它是几项技术按一定方式的组合,包括使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XSLT进行数据交换与处理,使用XMLHttpRequest进行异步数据读取,最后用JavaScript绑定和处理所有数据,其中XMLHttpRequest,Javascript和DOM是Ajax技术的核心[13]。
Ajax引擎的主要技术:
XMLHttpRequest在IE中是XMLHttp组件的一个对象,实现为ActiveX对象。
它直接与服务器上的数据进行交互,这样就很容易实现不需要重新下载而获取所需要的数据的功能。
为了安全,XMLHttpRequest对象请求的所有资源都必须与调用的脚本在同一域里,非IE浏览器基本上是创建自己的继承XML的代理类,把它实现为一个本地JavaScript对象。
DOM是文件的结构描述的文档对象模型,它是个W3C规范,独立于平台和语言,定义了表示和修改文档所需要的对象以及这些对象的行为和属性和它们之间的关系。
DOM提供了标准的HTML和XML对象集,有标准的接口来访问并操作这些对象集。
DOM有一组HTML和XML的API,脚本语言和页面进行交互。
W3CDOM提供的属性和方法可以轻松遍历XML结构,获得数据。
开始时JavaScript和DOM很好地结合在一起,后来各自发展。
在Ajax技术中,JavaScript是XMLHttpRequest和DOM交互的桥梁。
它是一种描述语言,被嵌入HTML的文件中。
JavaScript应用最多的就是表单验证,也可利用XMLHttpRequest和数据库联系起来[14]。
JavaScript是一种现阶段在Web页面中非常流行的脚本语言,可以说当今任何网站的页面中都有JavaScript的存在,它可以应用在不同种类的Web页面中,如JSP、PHP、ASP等。
随着Ajax技术的日趋成熟,进入主流开发的市场,JavaScript的实现功能也更加丰富多彩。
2.5数据库技术概述
JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,用过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与数据库系统之间架起了一座桥梁。
JDBC(JavaDataBaseConnectivity)是Java程序操作数据库的API,也是Java程序与数据库相互交互的一门技术。
JDBC是Java操作数据库的规范,由一组用Java语言编写的类和接口组成,它对数据库的操作提供了基本方法,但对于数据库的细节操作由数据库厂商进行实现。
使用JDBC操作数据库,需要数据库厂商提供数据库的驱动程序。
Java程序与数据库相互交互的示意图如图2.4所示。
图2.4Java程序与数据库交互
通过图2.4可以看出,JDBC在Java程序与数据库之间起到了一个桥梁的作用,有了JDBC就可以方便地与各种数据库进行交互,不必为某一个特定的数据库制定专门的访问程序,因此JDBC对Java程序员而言,是一套标准的操作数据库的API;而对于数据库厂商而言,又是一套标准的模型接口[3]。
Java应用程序是通过JDBCAPI向JDBCDriverManager发出请求指定要装载的JDBC驱动程序和连接的数据库的具体类型与实例。
DriverManager会根据这些要求装载合适的JDBC驱动程序代码,并要求其负责连接指定的数据库实例。
以后,Java应用程序与数据库实例之间的一切交互,就由驱动程序转换为数据库实例DBMS所能理解的命令,再将数据库返回的结果转换为Java程序能识别的数据。
供应用程序进一步处理。
Java应用程序也可以直接同具体的数据库驱动程序直接交互[12]。
MySQL是关联数据库管理系统,它将数据保存在不同的表中,增加了速度并提高了灵活性。
MySQL的SQL语言是用于访问数据库的最常用标准化语言。
因为体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择MySQL作为网站数据库。
MySQL数据库有如下特点:
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API,包括C、C++、Java、Perl、PHP、Eiffel、Ruby和Tcl等;支持多线程,可以充分利用CPU资源;使用优化的SQL查询算法,提高了查询速度;既能够作为单独的应用程序,也能够嵌入到其他的软件中;提供多语言支持,常见的编码都可以用作数据表名和数据列名;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;提供用于管理、检查、优化数据库操作的管理工具,支持大型的数据库,可以处理大型数据库,支持多种存储引擎[4]。
在这次的网站开发中,系统中全部的与数据库连接,包括读取、显示数据,录入数据等模块,均由JDBC完成,可以说JDBC技术是贯穿整个网站开发阶段所不可或缺的技术之一。
2.6开发环境
本次设计采用了以下开发环境:
(1)数据库:
采用MySQL数据库。
(2)服务器:
服务器采用Tomcat服务器,版本为Tomcat7.0.37。
(3)虚拟机:
本系统使用的虚拟机为JDK,版本是jdk1.7.0_17。
(4)开发工具:
开发工具为MyEclipse10。
(5)操作系统:
为Windows7。
第三章网站的需求分析和总体设计
需求分析师软件定义时期的最后一个阶段,它的任务是确定系统必须完成哪些工作,对目标系统提出完整、准确、清晰、具体的要求[6]。
3.1系统功能需求
本网站是以展示旅游信息、旅游线路、景区图片和景点周边酒店、宾馆信息等功能为核心的小型旅游网站。
通过联系景区周边的饭馆和酒店,提供旅游景区居住、餐饮等信息,为其做广告,给用户带来方便的同时也为本网站创造利益的网站。
他的主要功能如下:
(1)旅游景点浏览,用户在网站中可以查看旅游景区的景点介绍信息,可以浏览已经录入数据库的国内与国外的景点信息。
(2)旅游景点详细信息,在旅游景点浏览时,用户可以点击旅游景点名称,然后进入到浏览该景点详细信息的页面,如地址、价格、详细介绍、联系电话等,同时,还可以点击周边食宿,浏览到该景点的周边的食宿信息,酒店和宾馆等信息,也可点击酒店查看详细信息。
(3)旅游路线浏览,用户在网站中可以查看旅游路线的路线信息,用户可以浏览已经录入数据库的国内与国外的旅游路线信息。
(4)旅游路线详细信息,在旅游路线浏览时,用户可以点击旅游线路标题,然后进入到浏览该旅游路线详细信息的页面,如路线详细介绍、价格、主要景点等。
(5)旅游路线预约,在用户浏览旅游路线的详细信息时,可以选择预约该条线路,可以选择数据库中所选择路线所拥有的旅行团,然后选择预约,随后输入自己的身份识别信息,即可完成预约。
(6)用户可以分别查询国内的景点或国外的景点。
同样,也可以分别查询国内的旅游线路或国外的旅游线路。
在主页选择国内、国外的景点或路线,然后跳转至相应的浏览路线,进行显示。
(7)酒店浏览页面,与景点和路线浏览页面类似,用户也可浏览酒店的列表。
(8)酒店详细信息,选择酒店列表中的某一个酒店,用户可以浏览到该酒店的详细信息,如价格,地址等。
(9)友情链接,使用户方便的到达相关站点。
3.2系统的可行性分析
3.2.1社会可行性
随着改革开放以来,国家的经济飞速发展,人民生活水平的不断提高,人民的生活需求已不再仅仅停留在基本的物质需求上,而是已经升华至物质和精神的双重需求。
到世界各地旅行,去领略世界其他地方的自然风光、人文景观,是对人生活的一个良好的熏陶。
旅游,这一满足精神需求的重要途径,则是当今与人类密不可分的一项重要活动。
而旅游业更是随着社会发展而兴起的又一项重要产业。
将旅游业与互联网相结合,得益于电子商务的不断成熟,同时各大旅行社在互联网中开办自己的在线旅行社,则可以使更多人选择自己的旅行社,通过建设旅游网站来对外宣传和推广业务无疑是首选的经营策略。
3.2.2经济上的可行性
以旅行社的角度出发,本网站为小型旅游网站,可作为一个旅行社的在线业务平台,通过在线用户预约各条旅游线路来收取费用,同时还为在景区周边的各个酒店、宾馆等企业做广告,收取广告费,同时与食宿餐饮等企业合作,将每个旅行团的食宿与各企业挂钩,实现盈利。
所以,在经济上是可行的。
3.2.3技术上的可行性
本系统采用B/S模式,即浏览器/服务器模式,在这种模式下无需安装客户端,只需计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 小型 旅游 网站 设计 毕业设计