该基于Spring Boot的爱游旅行系统中设计了前台用户和管理员两种角色,其不同的角色发挥的属性不同,前台用户在主页可以对景点信息、酒店信息进行在线查看并且预定,并且可以发布攻略、评论攻略,可以进行路线查看,可以查看汽车租赁信息,并且可以发起救援信息。管理员在后端可以对酒店信息、景点信息、用户信息、汽车租赁信息、救援信息、路线信息进行在线管理。开发环境:Idea、Mysql8.0、Jdk1.8
到这里大家想必也知道系统的主要功能模块了,如果想要获取源码进行javaweb实战开发学习,可以通过图二去获取并且了解详细的介绍。大家记得关注博主,欢迎下方对博主留言讨论
#毕业设计 #jsp #javaweb #java
3.2 系统结构图设计
系统结构图可以反映出系统所具备的功能,对该系统画的系统结构图可以了解到前台用户可以登录退出、景点信息查看、景点评论、回复、酒店信息查看等功能,而系统管理员具备的功能有系统会员管理、景点信息管理、酒店信息管理、攻略信息管理、评论信息管理。本系统具备多种角色,不同的角色所具备的权限不同。为了符合用户的实际需求特意开发了游客、管理员、系统会员三种角色,其中游客和用户属于系统前台界面,管理员则在后台进行管理工作。其各自的功能功能介绍如下。
1、游客
系统中的游客无法进行在线评论,仅可以进行系统浏览,游客要想具备更多的功能权限必须要进行账号注册,系统游客功能详细设计如下。
景点信息查看:在系统主页可以查看到系统中的景点信息。
酒店信息查看:在系统主页查看系统中的酒店信息。
系统会员账号注册:游客在主页界面可以进行账户注册。
景点信息搜索:游客对自己喜欢的景点可以进行在线搜索。
在线下单:用户可以对系统中得景点、酒店进行下单操作,订单确认操作。
2、系统会员
系统会员成功登录以后可以进行在线评论、帖子发布,还可以在个人主页进行个人账号信息设置,系统会员详细功能设计如下:
景点信息浏览:在系统主页可以查看到系统中的景点信息。
帖子发布:用户在主页攻略板块可以进行帖子发布,发布相关的旅游攻略等信息。
酒店信息查看:在系统主页查看系统中的酒店信息。
在线评论:用户在主页可以对对应的景点信息,攻略信息进行在线评论。
个人设置:系统用户可以在主页进行账户信息设置。
账号登录退出:系统用户可以进行账户退出。
系统前台界面功能图设计如下图3-2所示。
图3-2 系统会员系统功能模块图
为了方便系统的管理工作特意设计了系统管理员,管理员在系统中具备最高的权限,系统管理员详细功能设计如下:
用户信息管理:管理员在主页界面对系统中的会员信息进行管理操作。
景点管理:在系统中的景点信息管理员在后台可以对其进行管理。
酒店管理:前台界面显示的酒店信息,管理员在主页界面可以对其进行添加、删除、修改、查看操作。
攻略管理:管理员在系统后台对攻略信息进行管理。
评论管理:管理员对系统中的评论信息进行管理。
订单管理:管理员可以对系统中得订单信息进行管理操作。
管理员子系统功能模块图如图3-3所示。
图3-3 系统管理员结构图
3.3 数据库设计
数据库是的设计是一个系统开发的核心,只有数据库设计合理的情况下才可以继续进行项目开发,因为在项目开发中所开发的每一个功能模块都和数据信息有关,而这些功能都跟后端的数据库相对应,所以在进行数据库设计时要对各表的字段属性进行分析,然后在通过各表之间的关联设计主外键。
3.3.1 数据库分析
在该系统中一共设计了七张表,分别是系统回复信息表、管理员信息表、攻略信息表、酒店信息表、用户信息表、景点信息表、评论信息表,通过这些表的开发用来存取系统中的数据信息。
3.3.2 系统E-R图设计
系统E-R图是反应一个系统中各个实体直接的关系,旅游基于SSM的哈尔滨景点管理系统系统E-R图如下图3-4所示。
图3-4 系统E-R图
3.3.3 数据字典设计
该基于SSM的哈尔滨景点管理系统建立的数据库名称为trip,该数据库一共设计了7张表,设计如下:
1、系统回复信息表(reply)
2、管理员信息表(tp_admin)
3、攻略信息表(tp_forum)
4、酒店信息表(tp_hotel)
5、用户信息表(tp_user)
6、景点信息表(tp_viewpoint)
7、评论信息表(words)
各表数据结构如下:
在系统回复表中存取的是系统中用户的回复信息,其设计的字段信息有主键编号、用户编号、回复日期、回复内容、发布人信息、发布内容、内容、景点编号、攻略编号、酒店编号等信息,系统回复表设计如下表3-1所示。
表3-1 系统回复信息表
字段 | 类型 | 长度 | 备注 |
lr_id | Int | 4 | 主键编号 |
lr_name | Varchar | 50 | 用户编号 |
lr_date | Text | 16 | 回复日期 |
lr_content | Datetime | 8 | 回复内容 |
lr_for_name | Int | 4 | 发布人信息 |
lr_for_words | Varchar | 50 | 发布内容编号 |
lr_for_reply | Varchar | 50 | 内容 |
lr_for_article_id | Int | 4 | 景点编号 |
lr_forumId | Int | 4 | 攻略编号 |
lr_hotel_id | Int | 4 | 酒店编号 |
管理员信息表当中存取的是系统中管理员账户的登录信息,在该表中存取的字段信息主要有管理员编号信息、管理员账户信息、管理员邮箱信息、管理员密码信息,管理员信息表设计如下表3-2所示。
表 3-2 管理员信息表
字段 | 类型 | 长度 | 备注 |
tp_aid | Int | 4 | 管理员编号 |
tp_aname | Varchar | 50 | 管理员账号 |
tp_aemail | Varchar | 50 | 管理员邮箱 |
tp_apwd | Varchar | 50 | 管理员密码 |
在系统主页可以查看到相关的系统攻略信息,这些数据信息储存在系统中的攻略信息表当中,在攻略信息表当中储存的数据信息有攻略编号、作者编号、作者名称、攻略标题、副标题、发布时间、标签、攻略内容等信息。其详细设计如下表3-3所示。
表3-3 攻略信息表
字段 | 类型 | 长度 | 备注 |
tp_fid | Int | 4 | 攻略编号 |
tp_author_id | Varchar | 4 | 作者编号 |
tp_author | Varchar | 16 | 作者名称 |
tp_title | Varchar | 50 | 攻略标题 |
tp_sub_title | Int | 50 | 副标题 |
tp_issue_time | Varchar | 50 | 发布时间 |
tp_tag | Varchar | 50 | 标签 |
tp_tcontent | Varchar | 50 | 攻略内容 |
系统中酒店信息表中主要用来存取酒店信息,在酒店信息表当中存取的数据信息有酒店编号,酒店标题、酒店地址信息、酒店类型信息、床型信息、联系电话、可住人数、详细地址、房子面积、价格、图片地址、内容等信息,其详细设计如下表3-4所示。
表3-4 酒店信息表
字段 | 类型 | 长度 | 备注 |
hid | Int | 4 | 酒店编号 |
title | Varchar | 4 | 酒店标题 |
local | Varchar | 16 | 地址 |
house_type | Varchar | 50 | 类型 |
bed_type | Varchar | 50 | 床型 |
phone | Varchar | 50 | 联系电话 |
people_num | Int | 4 | 可住人数 |
zip | Varchar | 50 | 详细地址 |
house_size | Varchar | 50 | 房子面积 |
price | Varchar | 50 | 价格 |
img_url | Varchar | 50 | 图片地址 |
content | Varchar | 50 | 内容 |
用户信息当中主要用来存取系统中的用户信息,在该表中存取的数据属性有用户编号信息、邮箱信息、用户名信息、用户年龄信息、用户密码信息、用户年龄信息、性别信息、头像地址信息、电话信息、注册日期信息、更新时间信息等字段,其详细设计如下表3-5所示。
表3-5 用户信息表
字段 | 类型 | 长度 | 备注 |
tp_uid | Int | 4 | 用户编号 |
tp_uname | Varchar | 4 | 用户名 |
tp_uemail | Varchar | 16 | 邮箱信息 |
tp_upwd | Varchar | 50 | 用户密码 |
tp_age | Varchar | 50 | 用户年龄 |
tp_gender | Varchar | 50 | 性别 |
tp_upic | Varchar | 4 | 头像地址 |
tp_phone | Varchar | 50 | 电话 |
tp_regdate | Datetime | 50 | 注册日期 |
tp_update_time | Datetime | 50 | 更新时间 |
景点信息表主要存取系统中的景点信息,在该表中存取的字段信息有景点编号、景点标题、景点名称、景点类型、图片信息、联系电话、景区级别、门票价格、所在地区、详细地址、营业时间、创建时间、介绍等信息,该表详细设计如下表3-6所示。
表3-6 景点信息表
字段 | 类型 | 长度 | 备注 |
tp_vid | Int | 4 | 景点编号 |
tp_title | Varchar | 4 | 景点标题 |
tp_vname | Varchar | 16 | 景点名称 |
tp_vtype | Varchar | 50 | 类型 |
tp_vpic | Varchar | 50 | 图片信息 |
tp_vphone | Varchar | 50 | 联系电话 |
tp_level | Varchar | 4 | 景区级别 |
tp_price | Varchar | 50 | 门票价格 |
tp_location | Varchar | 50 | 所在区 |
tp_zip | Datetime | 50 | 详细地址 |
tp_opentime | Datetime | 50 | 营业时间 |
tp_creatTime | Datetime | 50 | 创建时间 |
tp_vcontent | Varchar | 50 | 介绍 |
在评论信息表当中存取的字段在该表中存取的字段属性有评论编号、用户编号、发布日期、评论内容、回复人、标题、编号等信息其详细设计如下表3-7所示。
表3-7 评论详情表
字段 | 类型 | 长度 | 备注 |
lw_id | Int | 4 | 评论编号 |
lw_name | Varchar | 4 | 用户编号 |
lw_date | Varchar | 16 | 发布日期 |
lw_content | Varchar | 50 | 评论内容 |
lw_for_name | Varchar | 50 | 回复人 |
lw_for_article_id | Varchar | 50 | 标题 |
lw_hotel_id | Varchar | 4 | 酒店编号 |
4系统功能
4.1 系统主页界面设计
系统主页界面主要是对前台界面进行展示,在前台界面可以查看到系统中主要的功能设计,在主页用户可以进行账号登录账号注册、酒店信息查看、景点信息查看、在线交流等功能。系统主页界面设计如下图4-1所示。
图4-1系统主页界面设计
在该系统中,系统主页界面流程图设计如下图4-2所示。
图4-2 系统主页流程图设计
在系统启动Tomcat服务器,自动访问对应的首页index地址,在改地调用方法viewPointService.selectByExample(example)获取首页相关的景点信息,然后在去调用相关的hotelDao.selectByExample(hotelExample)方法获取相关的酒店信息,通过将数据存取在session当中然后进行信息展示。
4.2 用户注册界面设计
在系统中要是想进行信息评论必须先进行账号登录,假如没有账号需要进行账号注册,在主页界面点击账号注册自动到用户注册界面当中,在注册界面中输入相关的信息进行账号注册。账号注册界面设计如下图4-3所示。
图4-3系统注册界面
在该系统中,账户注册流程图设计如下图4-3所示。
图4-4 系统账户注册流程图设计
用户的注册实现逻辑为用户在前台界面填写对应的注册信息然后通过form表单将账户信息提交,在userService.insertUser(uname, uemail, upwd)方法将user、uemail、upwd信息插入到数据当中实现用户的注册。
4.3 账号登录界面设计
系统中要想进行景点信息评论、在线讨论必须要进行账号登录,只有登录成功以后才可以具备这些功能,在主页点击欢迎登录跳转到登录界面然后输入登录信息进行账号登录。登录界面设计如下5-5所示。
图4-5账号登录界面
用户的大量实现逻辑为用户在前台界面填写对应的注册信息然后通过form表单将账户信息提交,在实现userService.userLogin(new User(uemail, upwd))方法判断输入的账户信息,如果返回信息不为空则登录成功否则登录失败。
4.4 景点信息查看
在主页界面可以查看到相关的景点信息,用户可以对自己感兴趣的景点进行查看,点击图片后自动跳转到景点详情界面,景点列表界面设计如下图4-6所示。
4.6 景点列表界面设计
其用户在主页界面可以查看相关的景点信息,其设计如下图4-7所示。
图4-7 景点信息查看流程图
前台账户在对首页景点信息进行查看时通过id请求后端的控制层方法调用viewPointDao.viewPointSearch(viewPoint)对景点详情信息进行在线查看,然后再将查询的信息存取在session当中。
4.5 酒店信息查看界面
用户点击酒店查看界面可以查看到系统中的酒店信息,用户在主页点击对应的酒店详情信息便进入到详情页当中,酒店信息查看界面设计如图4-8所示:
图4-8 酒店信息查看界面
前台账户在对首页酒店信息进行查看时通过id请求后端的控制层方法调用hotelDao.hotelPointSearch(hotel)对酒店详情信息进行在线查询,然后再将查询的信息存取在session当中,通过Control返回酒店详情页通过jstl标签对其展示。
4.6 个人设置界面
系统中的前台用户可以对自己的个人信息进行在线编辑,成功登录后点击个人信息便自动跳转到个人主页在里面填写好相关信息点击提交便完成个人信息的修改,个人设置界面设计如下图4-9所示。
图4-9 个人设置界面设计
用户成功登录以后可以在首页查看自己的个人信息通过存取在session当中的uid查询现在账户的信息调用方法User user = userService.userGet(uid);查询账户信息,然后在将以后详情信息返回到userinfo.jsp当中。
4.7 攻略模块设计
在系统中设计了攻略模块,用户可以在里面进行发帖交流,其操作的流程为用户在发帖界面进行访问,然后在填写对应的帖子信息,进行提交则可以完成个人观点的发布工作。攻略模块设计如下图4-10所示。
图4-10 攻略模块设计
用户在攻略界面可以对攻略信息进行在线评论操作,其在进行账户评论时会将评论信息提交到Control当中,在通过调用后端方法viewPointService.saveWords(words)去对时攻略信息的评论提交。
4.8 个人订单模块设计
在系统中用户可以对系统中相关的景点信息、酒店信息进行在线预约,预约成功后可以查看到相关的订单信息,其个人订单界面设计如下图4-11所示。
图4-11 个人订单模块设计
用户可以查看到个人的预约信息其主要是访问attractionsDetailsUI方法对相关的订单信息进行查询操作调用reserveService执行方法信息查询。将查询结果返回到前台界面当中去。
4.9 用户管理界面设计
管理员进入到主页界面用户可以对用户信息进行管理操作,管理员可以对系统中的会员信息进行头像设置、信息编辑、用户信息删除等操作。用户信息管理界面设计如下图4-12所示。
图4-12 用户管理模块设计
管理员在后台可以对系统中的用户信息进行管理操作,进行用户管理时需要对用户列表信息进行在线查看调用ControluserService.selectAll()方法然后查询用户信息存取在userlist当中,在将userlist存取在session当中返回user.jsp当中。
4.10 系统景点管理界面设计
管理员在系统后台可以对系统中的景点进行管理,管理员可以对系统中对应的景点信息进行内容信息查看、内容信息编辑、删除查询等操作。管理员还可以对系统中已有的景点信息进行批量删除操作。景点信息管理界面设计如下图4-13所示。
图4-13 系统景点管理界面设计
管理员在后台可以对系统中的景点信息进行管理操作,进行景点管理时需要对系统中的景点列表信息进行在线查询在后端调用方法viewPointDao.viewPointSearch(viewPoint)方法然后查询景点信息存取在viewlist当中,在将viewlist存取在session当中返回view.jsp当中。
4.11 酒店管理界面设计
系统中具备的酒店信息在系统后台可以对其进行管理操作,酒店管理界面设计如下图4-14所示。
图4-14酒店管理界面设计
管理员在后台可以对系统中的酒店信息进行管理操作,进行酒店管理时需要对系统中的酒店列表信息进行在线查询在后端调用方法hotelDao.select()方法然后查询酒店信息存取在hotellist当中,在将hotellist存取在session当中返回hotel.jsp当中。
获取方式:
关注vx公众号:猿码之家 查看
第10期基于Springboot的旅游管理系统 进行获取