版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JavaWeb技术的旅游网站的设计与实现论文作者姓名:申请学位专业:网络工程申请学位类别:工学学士指导教师姓名(职称):论文提交日期:基于JavaWeb技术的旅游网站的设计与实现摘要由于互联网的快速的发展和使用人数的普遍提高,计算机和互联网在人们生活中的地位已经表现的越来越重要了。将旅游行业与互联网结合在一起已经成为了一种必然的趋势。旅游行业最重要的就是应该要有完善的旅游信息供人们了解各地名胜风景及其周边信息,通过计算机网络技术可以轻松的收集、整理各种旅游信息。相比过去传统的方法,如通过书籍、报刊等获取旅游信息,计算机网络技术大大节省了人们耗费的时间与精力。将计算机网络技术与旅游行业结合起来不仅方便了人们的生活出行,并且有助于加快旅游行业的整体发展。此文根据旅游行业目前的发展趋势,提出了一种可行的解决办法:采用 jsp技术、MVC模式、mysql数据库、jdbc技术等,设计开发了一个现代化的旅游网站并实现对旅游信息的网络化管理,网站功能包括:发表旅游信息、用户登录和注册、用户更改个人信息、查看景点信息、用户交流、酒店预订等功能 ,论述了设计开发的基本过程,文章共分为前言、旅游网站需求分析、旅游网站系统概要设计、旅游网站详细设计、旅游网站系统测试,其中重点介绍了各功能模块的实现过程。关键词:旅游网站;Mysql;信息管理;JSPTheDesignandAchieveofTourismWebsiteBasedon
JavaWebTechnologyAbstractWiththerapiddevelopmentoftheInternettechnologyandthepopularizationofcomputers,computersandtheInternethavebecomemoreandmoreimportantinpeople'slives.IthasbecomeaninevitabletrendtocombinethetourismindustrywiththeInternet.Itisthemostimportantforthetourismindustrythatpeoplecangetacomprehensivescenicspotinformationandinformationaroundthescenicspots,peoplecancollectandsortoutavarietyoftourisminformationthroughthecomputernetworktechnologyeasily.Comparedwiththetraditionalmethods,suchastheuseofbooks,newspapersandothertravelinformation,computernetworktechnologyhasgreatlysavedpeople'stimeandenergyconsumption.Itisnotonlyconvenientforpeopletotravel,butalsohelpstospeeduptheoveralldevelopmentofthetourismindustryifwecancombinethecomputernetworktechnologywiththetourismindustry.Accordingtothecurrenttrendofdevelopmentofthetourismindustry.thepaperproposedafeasiblesolutionandbuildamoderntouristsitesusingJSPtechnology,MVCpattern,MySQLdatabaseandJDBCtechnology.Thewebsiterealizednetworkmanagementfortourisminformationandcanexecutesomefuctionsincludingtravelinformationrelease,userlogin,userinformationmodification,scenicspotinformationbrowsing,usercommunication,hotelreservationandotherfunctions..Thebasicprocessofdesignandprogressisdescribedinthispaper.Thisarticleisdividedintopreface,thedemandanalysisofthetourismwebsite,theoutlinedesignofthesystem,thedetaileddesignofthewebsiteandthesystemofthetourwebsite.Therealizationprocessofeachfunctionmoduleisintroducedinthisarticle.Keywords:tourismwebsite;Mysql;informationcontrol;JSP论文总页数:26页TOC\o"1-5"\h\z\o"CurrentDocument"1前言 1\o"CurrentDocument"1.1开发背景 1\o"CurrentDocument"1.2目前旅游行业存在的问题 1\o"CurrentDocument"1.3技术背景 2Mysql数据库概论 2JSP介绍 2\o"CurrentDocument"2系统需求分析 2\o"CurrentDocument"2.1项目概述 2系统目标 2软件环境 3\o"CurrentDocument"系统可行性研究 3\o"CurrentDocument"3系统概要设计 4\o"CurrentDocument"系统总体结构设计 4系统总体结构图 5系统功能模块设计 5\o"CurrentDocument"3.2数据库设计 63.2.1数据库设计概述 63.2.2数据库逻辑结构设计 63.2.3数据库的物理结构 73.2.4数据库的完整性和安全性 8\o"CurrentDocument"4旅游网站详细设计 9\o"CurrentDocument"项目结构 9\o"CurrentDocument"4.2数据库的连接 9\o"CurrentDocument"4.3功能模块详细设计 114.3.1用户功能模块的设计与实现 114.3.2信息浏览模块的设计与实现 13论坛模块的设计与实现 144.3.4管理员功能模块的设计与实现 174.3.5酒店模块的设计与实现 19\o"CurrentDocument"5旅游网站系统测试 21\o"CurrentDocument"5.1注册、登录测试 21\o"CurrentDocument"5.2酒店预订测试 22\o"CurrentDocument"5.3信息发布测试 22\o"CurrentDocument"5.4信息删除测试 22\o"CurrentDocument"5.5信息回复测试 23结 语 23\o"CurrentDocument"参考文献 24致 谢 25声 明 261前言1.1开发背景自从我国加快发展的步伐以来,工作之余人们对休闲放松也更加重视起来,因此旅游行业也得到了十分迅速的发展,同时旅游经济和假日经济也成为了人们的热门消费点。但是,我国旅游业的发展力度还不够大,发展水平也偏低。很多旅游者对国内的一些名胜景点甚至都没有听说过,还有一些旅游者对某些旅游景点的服务和设施很不满意。随着人们消费水平的提高旅游行业的发展更加需要快速提高以满足人们的需求。全国各地也把旅游产业作为经济发展的一个重要支柱,以带动别产业的经济的快速发展。如何对本地旅游行业宣传以提高本地旅游业的知名度和如何提高旅游行业的整体服务水平以满足旅游者的需求,对各地的经济发展是至关重要的。在这样的背景下,旅游、互联网、电子商务的迅速融合将成为一种必然的趋势,并且能够创造出很大的价值,将旅游行业与电子商务的结合也是近几年才兴起的,但是发展势头非常强劲。在这个信息时代电子商务交易模式遍及各个行业。网络旅游也将推动IT领域内电子商务和互联网的迅速发展,这也会进一步推动旅游行业的发展。1.2目前旅游行业存在的问题一方面,很多旅行社在对于信息的整理、分类和保存方面做得还不够好,多数还是采用的传统的纸质书本的方式来保存。对于少量的信息还能应付,但是信息量一旦变得很大以后,不管是对于整理分类还是保存都是很不方便的,而且消耗的人力物力成本也会随之增大,这种人为过程中,也比较容易疏忽、纰漏或者出错。这样的方式对于长期保存数据来说不是一个很好的选择。 而且,旅游者获取到这些旅游信息的途径也不是很方便和高效。而借助计算机技术是一个很明智的选择。另一方面,很多旅游类广告千篇一律似的宣传方式,既没有突出景区的特点也没有把握好自身的优势。现如今旅游行业发展火热,各地旅行社的数量与日俱增,加大了旅游行业之间的竞争,但是对于如此众多的旅行社其实际的品质却是参差不齐,旅游者更是无从分别其中的好坏。很多旅行社为提高自身竞争力,推出各种低价旅游团,以此吸引顾客。但是对于某些低价旅游团在实际旅途中,旅行社与旅游地的各种商贩勾结,导游以各种名义向顾客推销旅途中的一些不需要的东西并且强行要求顾客购买。若是有人提出异议,必定会遭到人身攻击,更有甚者不顾游客人身安全将旅客赶下旅游车。这种现象现在层出不穷,已经屡见不鲜了。旅游地周围也被不良商家搞得乌烟瘴气,连最基本的服务问题都难以得到保障。这些事情和现象不仅影响各个旅游景点的声誉还严重阻碍了旅游行业的整体发展,由此也会影响经济的发展。现在很多旅游者会因为上述原因对旅行社失去最基本的信任,转而选择自助式旅游。因此,对各地旅游信息的规整显得尤其重要了。不管是想参团旅游的游客还是准备选择自助式旅游的游客都需要了解旅游目的地及其周围的各种信息,但是仅通过纸质资料获取信息,渠道过于单一,又成了一个新的问题。这些问题产生的主要原因还是由于对各种信息处理的方式不合适。如果这些旅游类信息能够被完善、安全、高效的存储,并且能够方便、快速的被旅游者获取,那么问题就能迎刃而解。现如今,科学技术发达,很多行业都通过计算机和互联网技术将信息存储在虚拟的网络空间中并能高效的对其进行操作。结合现在社会的发展趋势来看,对于旅游行业来说这样不失为一种好方法。1.3技术背景Mysql数据库概论Mysql是网络上一款比较流行的免费小型数据库软件,其数据库类型为关系型数据库。最初由瑞典的一家公司设计开发,现在也早已被 Oracle收购。由于Mysql是一个开源代码的软件,所以Mysql数据库在网络上也非常的流行,互联网上的各种中小型的网站对Mysql的应用也是相当普遍的。因为使用 Mysql数据库管理数据,那些常用的功能Mysql都提供,更重要的是使用Mysql数据库管理数据其开发成本几乎可以忽略不计,而且 Mysql相对其他关系型数据库如Oracle、SQLServer,其体积很小,但是速度快,虽然在功能和规模上不如前两者强大,但是对于一般规模较小的中小型网站来说,Mysql提供的功能已经可以轻松满足开发者的要求了,所以Mysql数据库更受中小型网站的青睐。JSP介绍Javaserverpage简称JSP,它建立在servlet之上。JSP的技术特征主要有:跨平台、分离静态内容和动态内容、可重复使用的组件、预编译、沿用了javaservlet的所有功能等等。程序员可以应用JSP高效率的创建WEB应用程序,并且使用JSP技术开发的互联网应用程序具有跨平台、 安全性高等优点,可在多种操作系统上运行。2系统需求分析2.1项目概述2.1.1系统目标本系统旨在建设一个信息完善,操作简单,界面美观的旅游网站,主要功能包括如下几项。各种信息的发布,管理员可以在后台发布旅游景点信息供用户浏览,普通用户也可以在用户区发布相关信息并进行交流,不仅可以拓宽用户获取信息的渠道,用户之间的交流也有利于旅客更好的了解旅游景点周边的情况, 对自助式旅游是一种很大的帮助。注册与登录,用户可通过网站相关平台进行注册并且登录,如果只是以普通游客的身份进入网站,也能正常浏览网站相关旅游信息,但是网站的某些功能游客是无法正常使用的,比如游客不能使用酒店预订的功能, 此功能暂时只对已经注册的用户开放。各类信息浏览,用户无需登录就可以通过本旅游网站浏览各种旅游信息,用户发布的信息,酒店信息等。网上预订酒店,用户通过本旅游网站不仅可以了解到酒店信息,还可以在网上预订自己满意的酒店,游客无需亲自到酒店才能预订,这样一来就减少了游客不必要的麻烦,对于异地旅游者和自助式旅游者来说是很实用的一个功能。BBS功能,可以为广大用户提供交流平台,用户可以通过 bbs平台分享自己的旅游经验、旅游信息等,还可以互相讨论了解景点的优劣为自助式旅游制定最优旅游方案,以及发起一些组团旅游信息等。6•用户信息修改,已经注册的用户可以通过网站的相关模块对自己的信息进行修改,及时更新自己的信息,方便用户之间更好的相互了解。用户还可以修改自己的登录密码,加强账号安全性。2.1.2软件环境对于一个网站系统的实现,只有硬件系统的支持是不够的,还必须要有与系统对应的相关软件配合,系统才能正常运行。因此,本旅游网站还要求需配置如下其他软件。系统开发环境:Windows7系统开发工具:MyEclipse、Tomcat、Jdk数据库工具:Mysql系统运行环境:WindowsXP/7/8/102.2系统可行性研究技术可行性本旅游网站主要采用jsp进行前台界面的设计。jsp页面由传统的html代码和嵌入到其中的java代码组成,jsp页面中还包含了各种特殊的jsp元素。当使用jsp技术时,静态内容的部分可以使用xml标记或者html来设计和格式化,动态内容的部分使用jsp标记及javabean或者JavaScript脚本程序来制作。jsp标记和小脚本程序将由服务器端执行,客户端浏览器接收到的是html页面,这个html页面是服务器端将处理结果与静态部分结合过后的形成的新的 html页面。数据库的管理采用了mysql数据库,mysql体积小、运行速度快并且健壮、易用,对
于一般的网站完全可以采用mysql数据库进行数据库管理。所以,本系统在技术上是可行的。经济可行性本系统主要使用myeclipse开发工具,mysql数据库,都是可以在网络上找到的免费软件,开发成本几乎可以忽略不计。当网站投入使用时,旅游者可以通过本网站轻易获取到相关旅游信息及使用网站其他功能, 方便了旅游者自助式旅游出行,因此可吸引大量用户加入本网站,以增加本网站的浏览量和数据流量,所以本旅游网站在经济上是可行的。操作可行性本旅游网站界面简洁,操作方便,也无任何使用限制,使用过程中不需要安装任何其他软件,打开浏览器即可浏览本旅游网站并且可以使用旅游网站相关功能。因此,本旅游网站在操作上是可行的。3系统概要设计3.1系统总体结构设计本系统采用mvc模式来搭建整个网站的结构。mvc是model、view、controller的合称,它一种程序设计概念,对于简单程序和复杂程序都能使用 mvc模式来开发。采用mvc模式开发的应用程序被分解为三个独立的部分,即:模型、视图、控制器。一个应用程序中被用来完成任务的代码在 mvc中即为模型,指的是业务逻辑的代码,这个部分在程序中常常是相对稳定的部分,它会被重复使用。应用程序中与用户进行交互的页面即为视图,这个部分则是经常改变的。若是页面需要更新时业务逻辑代码也必须一起做相应改动,或者是需要在不同的模块中实现相同的功能而多次编写业务逻辑代码,既让应用程序的维护变得十分困难又会降低应用程序开发的整体进度,因此使用 mvc模式有很多优点,比如当需求改变的时候对相关程序进行改进的时候会更加容易。 mvc模式图如图1所示。題求模用改变时View題求模用改变时View图1mvc模式图3.1.1系统总体结构图本旅游旅游网站系统主要分为五个大模块及其子模块,主要完成注册、登录、信息浏览、信息发布、酒店预订等功能,具体如图 2所示。3.1.2系统功能模块设计本旅游网站经过需求分析,将主要功能模块划分为以下几个。用户功能模块用户功能模块实现的主要功能包括:用户的注册与登录,以及用户在登录后可以修改密码和个人的信息等。信息浏览模块信息浏览模块主要实现各类信息的查看,主要包括相关旅游景点信息的查看、酒店信息的查看、论坛信息的查看以及个人信息的查看。3后台功能模块本旅游网站管理员的主要功能包括发布有关的旅游信息, 发布酒店信息,对论坛信息进行管理,管理员可以删除普通用户发布的帖子,而普通用户只拥有发
布帖子和回复帖子的功能酒店预订模块酒店预订功能模块主要是为了方便用户在浏览相关酒店信息后, 可以对满意的酒店进行预订论坛功能模块此模块用于实现用户之间的交流,用户可以通过该模块发表自己的一些旅游经验和看法,也可以回复和浏览其它用户发表的帖子,能够满足用户与管理员、用户与用户之间的实时互动。3.2 数据库设计3.2.1数据库设计概述建立数据库应用系统的核心问题是,如何把实体模型和与之相对应的需求转换成数据库模型的一个转换过程。为用户的应用系统提供一个高效数据库系统其实就是数据库设计的主要目标。建立一个良好的数据库,对于数据库及其相关的操作都会有很大的帮助,数据库设计的好在以后能避免很大不必要的麻烦, 节省不少资源和精力。所以,设计好数据库对数据库性能和一些用于提高数据库性能的方法都有很大的帮助。数据库设计的关键主要怎样让设计的数据库能合理地存储用户的数据,使用户处理数据变得方便。3.2.2数据库逻辑结构设计数据库设计的核心其实就是概念结构的设计。 数据库的逻辑结构与概念结构是独立的,逻辑结构也与所使用的具体的数据库管理系统是独立的。用户工作环境中所涉及的事务是实体,对实体特征的描述则是属性。数据库结构的设计图如图3所示。vipaddress/vipliKeplace■>vipphone卜 C—IvdianAovipaddress/vipliKeplace■>vipphone卜 C—IvdianAo' _*nd'fluidFK)^lid(FK)■■^■t_kdianNafne1■vt_lvdianMsgtadnnn•显j(j■>tjphonevtaddress\>admlnngm总 Ft_p>pwdordert_travelI鼻IdQbjitlevusernameQbflmex?t_place
-'^Lnisg>t_price
vt_placePic图3数据库结构设计图323数据库的物理结构所建数据库的名字为travel,数据结构具体如下1)管理员信息表的数据结构列名数据类型 是否非空列名数据类型 是否非空(管理员ID)id int(11)(管理员名称)(管理员ID)id int(11)(管理员名称)usernamevarchar(50)(管理员密码)userpwd varchar(20)NOTNULL,NOTNULL,NOTNULL列名数据类型是否非空(酒店ID号)lidint(11)NOTNULL,(酒店名称)t_lvdianNamevarchar(50)NOTNULL,(酒店描述)t_lvdianMsgvarchar(500)NULL,(酒店图片)t_picvarchar(50)NULL,(酒店联系电话)t_phonevarchar(50)NOTNULL,(酒店地址)t_addressvarchar(50)NULL,(酒店正常价格)t_pvarchar(50)NULL,(酒店优惠价格)t_p2char(10)NULL2)酒店信息表的数据结构3)旅游景点信息表的数据结构列名数据类型 是否非空(景点ID号)idint(11) NOTNULL,(景点名称)t_placevarchar(50)NULL列名数据类型 是否非空(景点ID号)idint(11) NOTNULL,(景点名称)t_placevarchar(50)NULL,(景点描述)t_msgvarchar(500)NULL,(景点图片)t_picvarchar(50)NULL,NULL(景点参考价格)t_pricevarchar(50)NULL4)用户信息表的数据结构列名数据类型是否非空(用户ID号)uidint(11)NOTNULL,(用户名称)usernamevarchar(30)NOTNULL,(用户密码)userpwdvarchar(50)NOTNULL,(用户密码提示)vippasswordmsgvarchar(50)NULL,(用户出生日期)vipbirthvarchar(50)NULL,
(用户地址)vipaddressvarchar(50)NULL(用户喜欢的旅游地)viplikeplacevarchar(50)NULL(用户联系方式)vipphonevarchar(50)NULL(用户性别)vipsexvarchar(50)NULL5)订单信息表的数据结构列名数据类型是否非空(订单ID号)oidint(10)NOTNULL,(用户ID号)uidint(10)NOTNULL,(酒店ID号)lidint(10)NOTNULL6)发帖记录信息表的数据结构列名数据类型是否非空(帖子ID号)idint(11)NOTNULL,(帖子标题)b_titlevarchar(50)NOTNULL,(帖子内容)b_msgvarchar(50)NOTNULL,(发帖人名称)b_usernamevarchar(30)NOTNULL,(发帖时间)b_timevarchar(50)NULL7)回复记录信息表的数据结构列名数据类型是否非空(回复信息ID号)idint(11)NOTNULL,(回复人名称)b_usernamevarchar(30)NOTNULL,(回复内容)b_msgvarchar(50)NOTNULL,(回复时间)b_timevarchar(50)NULL,(回复帖子的名称)b_titlevarchar(50)NOTNULL3.2.4数据库的完整性和安全性数据库的完整性是指数据应该在逻辑上保持一致性、有效性、正确性和相容性,例如利用主键、外键约束等方法。通常会利用数据库管理系统或者是一些应用程序来实习数据库完整性约束。系统中定义了表中各个字段属性及约束条件,有助于实现完整性。数据库的安全性就是指对数据库中数据的各种保护措施,保护数据免受破坏、更改或泄漏。数据库系统中存放着大量的数据,这些数据每天被不同的用户操作使用,这些数据对用户和整个系统来说都是很重要的。 所以,对数据的保护就显得十分重要,即为对系统的安全保护措施,安全保护措施可以保护数据库防止各种误操作和恶意操作。在这个系统中,只用管理员才能掌握某些权限。当用户登陆,需要输入用户名及密码,并选择登陆身份,系统判断当前登陆的用户是普通用户还是管理员,同时授予不同的权限,以此防止用户误操作,提高系统的安全性。4旅游网站详细设计4.1项目结构项目文件夹目录结构如图4所示。汐Travel[爭srct£-com,Alone.TraveLBEAN出com,Alone,TraveLDAO舟com,Alone.TraveLfilter计「comnAlone-TraveLservletB.JRESystemLibraryjdkLo.O05]JavaEE5librairiesReferencedLibraries«iomysql-connector-java-5,0,6-binjari*iosqljdbc4jarWebAppLibraries上WebRoot匕images&META-INF匕Style凸WEB*INFAboutUs.html
bbsindexjsp/bbsmsaJsd图4项目文件夹结构4.2数据库的连接本系统使用的是Mysql数据库,在连接的过程中需要用到JDBC驱动程序,并且需要同时在myeclipse开发工具中做相应配置,下面将具体介绍如何实现数据库的连接。首先在myeclipse中创建数据库连接,同时需要配置 mysql数据库的一些相关信息,为连接数据库做准备。具体配置如图 5所示。
itdbEditDatabaseConnectionDriverEdittheconnectiondriverDrivername;Mytravel匚onnecticmURL:jdbcimysqI://Iocalho5t;3306/travel-VUsername:rootPassword;fr*■*■*-*■*DriverJARsF:\JDBC\mysql\mysql-corrnector-java-5.1.7-binjarAddJAR5RemoveDriverclassnsme:com.mysqLjdbc.DriverTestDriver□ConnecttodatabaseonMyEclipsestartup0SavepasswordDrivername;Mytravel匚onnecticmURL:jdbcimysqI://Iocalho5t;3306/travel-VUsername:rootPassword;fr*■*■*-*■*DriverJARsF:\JDBC\mysql\mysql-corrnector-java-5.1.7-binjarAddJAR5RemoveDriverclassnsme:com.mysqLjdbc.DriverTestDriver□ConnecttodatabaseonMyEclipsestartup0Savepassword!Savedpasswordsarestoredonyourcomputerinafilethat'sdifficult,butnotimpossible,foranintrudertoread.<BaekNeri>FinishCancel图5创建数据库连接创建数据库连接类DBHIper。publicclassDBHelper{privatestaticDBHelperdb=null;privateDBHelper(){}publicstaticDBHelpergetInstance(){if(db==null){db=newDBHelper();}returndb;}publicstaticConnectiongetConnection(){
Connectionconn=nuII;try{Class.forName("com.mysql.jdbc.Driver");conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/travel","root","123456");returnconn;}catch(Exceptione){
returnconn;}}}4.3功能模块详细设计4.3.1用户功能模块的设计与实现用户功能模块主要实现的功能包括用户的注册,用户注册之后可以登录,以及用户可以更新个人信息。下面以介绍其中的用户登录功能为例来说明具体的实现过程。用户登录界面如图6所示。当用户输入用户名、密码、验证码并选择身份后,点击登录,系统将表单数据传给处理登录请求的servlet,系统会自动判断用户输入的用户名和密码是否正确,已经身份是否匹配,并反馈给用户相应的信息。下面展示主要的后台代码,此处省略了一些固定定义代码。if(username.trim().equals("")||username==""){StringuserMsg="用户名不能为空";session.setAttribute("userMsg",userMsg);}if(password.trim().equals("")||password==""){StringpwdMsg="密码不能为空";session.setAttribute("pwdMsg",pwdMsg);}if(numB.trim().equals("")||numB==""){StringnumMsg="验证码不能为空";session.setAttribute("numMsg",numMsg);}elseif(!numB.equals(session.getAttribute("checknumber").toString())){StringnumMsg="验证码错误";session.setAttribute("numMsg",numMsg);}if(username.trim().equals("")||username==""||password.trim().equals("")||password==""||numB.trim().equals("")||numB==""||!numB.equals(session.getAttribute("checknumber").toString())||type.toString().equals("")||type==""){response.sendRedirect("login.jsp");}else{if(type.equals("管理员")){tables="t_admin";}elseif(type.equals("会员")){tables="t_userinfo";}Stringsql="select*from"+tables+"whereusername="'+username+"'anduserpwd='"+password+""';ResultSetrs=idus.selectSQL(sql);if(rs.next()){session.setAttribute("username",username);try{application.setAttribute("userlnfo",(String)application.getAttribute("userInfo")+username+"<br/>");}}else{System.out.println("dowasnull ”);StringloginMsg="用户名或密码错误";session.setAttribute("loginMsg",loginMsg);response.sendRedirect("login.jsp");}}catch(SQLExceptione){StringloginMsg="用户名或密码错误";session.setAttribute("loginMsg",loginMsg);response.sendRedirect("login.jsp");}}4.3.2信息浏览模块的设计与实现信息浏览模块主要实现的功能包括,旅游信息的浏览,酒店信息的浏览以及论坛信息的浏览。基本步骤主要为系统通过连接数据库从数据的相关表中读取数据然后存入结果集中,在显示到页面上。下面将通过介绍论坛信息的浏览为例,来说明具体的实现过程。论坛信息浏览界面如图 7所示。霁区 用户凶 ah 碧店为订帖名发帖人歩帖时用2016-04-1015:03:29自驾游blueM16H34-1O15:11:27有喜欧酸庆的吗小芳^016-04-1015:16:19接发水电矗加速2016-04-2012:35:33及第三务人(2016-04-2012:40:13戒信院一日游攻略3016-04-2122':20:48图7论坛信息浏览界面当用户浏览论坛信息模块时,系统会自动判断当前浏览论坛信息的用户是否为管理员,如果为管理员则系统会自动授予管理员删除权限,即显示删除按钮,如果当前浏览论坛信息的是普通用户,那么系统就只会显示论坛的内容而不会授予普通用户删除权限,防止用户误操作。下面展示后台实现的主要代码,此处省略了HTML界面的代码。<%try{if(session.getAttribute("type").toString().equals("管理员")){%><tdwidth="50">删除</td><%}}catch(Exceptione){session.setAttribute("type","");}%></tr><%IDUSidus=newIDUS();ResultSetrs=idus.selectSQL("select*fromb_title");try{while(rs.next()){out.println("<tr>");out.println("<td><ahref='bbsmsg.jsp?t_title="+rs.getString(1)+"'>"+rs.getString(2)+"</a></td>");out.println("<td>"+rs.getString(4)+"</td>");out.println("<td>"+rs.getString(5)+"</td>");if(session.getAttribute("type").toString().equals(”管理员")){%><td><ahref="doDel?id=<%=rs.getString(1)%>">删除</a></td><%}out.println("</tr>");}}catch(Exceptionex){}%>4.3.3论坛模块的设计与实现论坛模块的功能主要有用户发布帖子和用户回复帖子这两个功能。 下面将分别介绍用户发布帖子和用户回复帖子两个功能的具体实现过程。1.帖子发布功能介绍无论是用户还是游客都可以浏览论坛页面, 并且都能发布帖子。这样可以不登录也能分享自己的一些旅游经验和其他有用的信息。 用户发布帖子的界面如图8所示。内容:图8发帖界面用户通过发帖界面填写帖子的标题和内容, 点击发布按钮,系统会自动判断当前登录的用户,同时将所发布的帖子的标题和内容的表单数据以及用户的相关信息传给处理发帖请求的servlet,执行相应的代码,将数据插入到发帖信息表中和回复信息表(实现数据之间的联系)完成帖子发布。下面展示后台代码。publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html");response.setCharacterEncoding("UTF-8");PrintWriterout=response.getWriter();HttpSessionsession=request.getSession();〃获取表单数据Stringusername=(String)session.getAttribute("username");Stringtitle=request.getParameter("title");Stringmsg=request.getParameter("msg");StringdateTime=request.getParameter("dateTime");Stringsqlmsg="insertintob_msg(b_username,b_msg,b_time,b_title)values(”'+username+"',”'+msg+"',”'+dateTime+"',”'+title+"')";Stringsqltitle="insertintob_title(b_title,b_msg,b_username,b_time)values('"+title+"','"+msg+"','"+username+"','"+dateTime+"')";IDUSidus=newIDUS();IDUSids=newIDUS();inti=idus.insertSql(sqlmsg);intj=ids.insertSql(sqltitle);out.print("<script>alert('发表成功! ');</script>");response.sendRedirect("bbsindex.jsp");}out.flush();out.close();}}2.帖子回复功能介绍用户不仅能发布帖子,浏览别人的帖子,还可以进行回复,发表自己的看法或者意见,更方便了用户之间的交流。用户回复界面如图9所示。按层内容时|Eir炮说九寨树三日雅组团申 '2楼slue说細撇小芳说发生的九分裤岖小芳.说聘辑啊啊啊bon5搂游客说fsdaf201(咅楼游容说用Q开发要警惕r::?4池说我也要去 [201(共様记录,共顶 兰:跟第I刃 首贝 上一页 下二W游客说' 图9用户回复界面用户在回复界面可以看到主贴信息和回复信息, 同时也可以回复帖子,用户填写好回复信息后点击提交按钮,系统会自动获取其他相关信息,如回复时间,回复人,回复的哪一个帖子等这些信息同回复的内容一起传给处理回复请求的servlet,执行相应的操作完成回复的功能。下面给出后台代码。publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html");response.setCharacterEncoding("UTF-8");PrintWriterout=response.getWriter();HttpSessionsession=request.getSession();Stringusername=(String)session.getAttribute("username");Stringmsg=request.getParameter("msg");Stringid=request.getParameter("titleid");Stringtitlename=request.getParameter("titleName");StringdateTime=request.getParameter("dateTime");IDUSidus=newIDUS();Stringsql="insertintob_msg(b_username,b_msg,b_time,b_title)values('"+username+"','"+msg+"','"+dateTime+"','"+titlename+"')";if(idus.insertSql(sql)>0){System.out.println("doif ");response.sendRedirect("bbsmsg.jsp?t_title="+id+"");}else{out.print("<script>alert('发表失败');</script>");response.sendRedirect("bbsmsg.jsp?t_title="+id+"");}out.flush();out.close();}}4.3.4管理员功能模块的设计与实现网站的各类信息主要由系统管理员来管理, 管理员的主要功能包括发布旅游信息,发布酒店信息和管理论坛信息。下面以介绍管理论坛信息为例,管理员可以像普通用户一样发布和回复帖子,除此之外管理员还可以删除用户和管理员自己发布的帖子。下面介绍此功能的实现过程。帖子删除界面如图 10所示。发帖丿发帖时间删呃I2016-04-1015:03:29删徐吕驾漩blue2016-04-1015:11:27删除有吾茨重庆的吗小芳2016-04-1015:16:19除接发水电费如速游客2016-04-2012:35:33,删除及館三方人2016-04-S012:40:18删降删除成信浣一日萍攻略2016-04-2122:20:48图10帖子删除界面可以从图10中看到,与普通用户的浏览界面相比,所有帖子右侧都有删除
这一选项。当进入论坛页面时,系统自动判断当请登录的用户是否是管理员, 上图是以管理员身份进入论坛时的页面。 管理员点击删除时,系统将要删除的帖子的ID号传给处理删除请求的servlet,执行删除操作时系统会同时将要删除的帖子中的回复信息一起删除掉。下面给出相应的后头代码。判断用户身份,同时授予删除权限。<%try{if(session.getAttribute("type").toString().equals(”管理员")){%><tdwidth="50">删除</td><%}}catch(Exceptione){session.setAttribute("type","");}%></tr><%IDUSidus=newIDUS();ResultSetrs=idus.selectSQL("select*fromb_title");try{while(rs.next()){out.println("<tr>");out.println("<td><ahref='bbsmsg.jsp?t_title="+rs.getString(1)+"'>"+rs.getString(2)+"</a></td>");out.println(”<td>"+rs.getString(4)+"</td>");out.println(”<td>"+rs.getString(5)+"</td>");if(session.getAttribute("type").toString().equals("管理员")){%><td><ahref="doDel?id=<%=rs.getString⑴%>">删除</a></td><%}out.println("</tr>");}}catch(Exceptionex){}%>实现删除功能。publicclassdoDelextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html");PrintWriterout=response.getWriter();IDUSid1=newIDUS();IDUSid2=newIDUS();IDUSid3=newIDUS();Stringb_title="";Stringid=request.getParameter("id");Stringsql1="deletefromb_titlewhereid='"+id+""';Stringsql2="selectb_titlefromb_titlewhereid='"+id+""';ResultSetrs=id1.selectSQL(sql2);id2.insertSql(sql1); //删除表b_title中的信息try{while(rs.next()){try{b_title=rs.getString(1);}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}Stringsql3="deletefromb_msgwhereb_title="'+b_title+""';id3.insertSql(sql3); //删除表b_msg(回复表)中的信息response.sendRedirect("bbsindex.jsp");out.flush();out.close();}}4.3.5酒店模块的设计与实现酒店模块实现酒店预订的功能,用户不仅可以浏览酒店信息还可以对满意的
酒店进行预订。下面介绍酒店预订功能的具体实现。酒店预订界面如图11所示图11酒店预订界面当用户浏览酒店信息页面时可以看到预订按钮,用户点击预订,系统自动将当前的酒店的ID以及当前登录用户的ID传给处理订单的servlet,执行预订的操作。下面展示后台代码。publicclassdoorderextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html");response.setCharacterEncoding("UTF-8");PrintWriterout=response.getWriter();HttpSessionsession=request.getSession();Stringlid=request.getParameter("lid");Stringuid=request.getParameter("uid");Stringsql="insertintoorderlid,uid)values('"+lid+"','"+uid+"')";
IDUSidus=newIDUS();inti=idus.insertSql(sql);if(i>0){out.print("<script>alert('酒店预订成功! ');</script>");response.sendRedirect("server.jsp");}out.flush();out.close();}}5旅游网站系统测试5.1注册、登录测试首先测试的是注册功能,用户需要按要求正确填写相关信息,如果填写不对,或者是不填写,则系统会根据具体的情况给出错误提示,所有通过页面进行注册
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流业货物信息安全制度
- 教育经费使用与管理监督制度
- 房建装配式工程-质量常见多发问题防治
- 护理协助肢体活动训练
- 麻疹、登革热、人感染禽流感诊疗方案测试题
- 食物中毒预防控专项考试试卷
- 护理工作中的创新与实践
- 第13课 防火安全我报警教学设计-2025-2026学年小学信息技术(信息科技)第6册鲁教版
- 桂美版四年级下册10 漏印纸版画教案
- 蚂蚁建筑试题及答案
- 2026年个人查摆问题及整改措施清单
- 新污染物治理培训课件
- 电力建设安全风险管控与隐患排查治理双重预防机制管理导则
- 设备巡检安全培训课件
- 【《基于STC单片机的智能防干烧电热水壶控制系统设计》9400字】
- 出境竹木草制品自检自控计划
- 2025年高考甘肃物化生试卷及答案
- 团播直播内容策划详细流程
- 校园食品安全和膳食经费管理自查情况报告
- 小升初六年级语法专项练习每日一练小纸条【空白完整版】
- 医学影像技术mr试题及答案
评论
0/150
提交评论