安康旅游指南:基于SpringBoot的网站开发实践

第一章 绪论
1.1 研究现状
时代的发展,我们迎来了数字化信息时代,它正在渐渐的改变着人们的工作、学习以及娱乐方式。计算机网络,Internet扮演着越来越重要的角色,人们已经离不开网络了,大量的图片、文字、视频冲击着我们的视觉。
随着社会生产力的发展,人们的生活水平越来越高。旅游,越来越成为人们一种休闲娱乐的方式。喧嚣的都市,高强度的工作与生活,让很多人身心疲惫。而旅游,则可以调节身心、恢复疲惫和增加人们的阅历。在旅游度假区,既可以了解当地的人文情怀,又可以在碧水蓝天间忘却烦恼。所以,旅游越来越受人民的欢迎。根据联合国世界旅游组织最新发布的《世界旅游晴雨表》,2015年国际游客人数相比2014年增长了4.4%,达到11.84亿人次。随着社会和经济的发展,旅游业已成长为世界经济中发展势头最强劲和规模最大的产业之一。
因此,为了给用户提供一个便利的查看安康旅游信息、景点购票、酒店预订的平台,开发了本基于JSP的安康旅游网站。
1.2 设计原则
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
1.3 研究内容
根据基于JSP的安康旅游网站编写的论文主要阐述了基于JSP的安康旅游网站的开发过程中使用的技术,首先进行系统需求分析,进而进行系统设计,最后才是系统功能实现以及测试几个部分,在开始编写论文之前亲自到图书馆借阅JSP书籍,MYSQL数据库书籍等编程书籍,然后针对开发的基于JSP的安康旅游网站,去网上查找了很多别人做好的系统,根据他们的功能设计进行自己的系统的系统功能结构设计,出具需求报告,最后才是进行程序编码,系统完成后才能进行测试和最后的验收工作,程序开发流程大致如此。
这次编写的论文包含了6个部分的内容,具体内容如下:
第一部分绪论:文章主要从课题背景以及设计原则综合阐述了开发此系统的必要性。
第二部分相关技术:系统开发用到的各种技术都大致做出了简介
第三部分系统分析:从可行性分析和功能需求分析等角度综合研究了此次开发的系统
第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示
第五部分系统实现:进行系统主要功能模块的界面展示
第六部分系统测试:检验程序是否达到预期目标

第四章 系统设计
4.1系统结构设计
对于本系统的开发设计,先自上向下,将一个完整的系统分解成许多个小系统来进行实现;再自下向上,将所有的“零件”组装成一个大的、完整的系统。因此这里面的许多个小功能块都要对将要实现的功能进行划分,同时还要给其他的小功能模块提供调用的接口,以便于最后将所有的功能块组合起来。
本基于JSP的安康旅游网站主要实现了游客功能模块和管理员功能模块两大部分,系统结构图如图4-1所示。
在这里插入图片描述

图4.1 系统功能结构图
4.2系统顺序图设计
(1)登录顺序图
登录模块主要满足了管理员和游客的权限登录,登录模块的顺序图如图4.2所示。
在这里插入图片描述

图4.2用户登录顺序图
(2)添加信息顺序图
管理员和游客登录后均可进行信息的添加操作,添加信息顺序图如图4.3所示
在这里插入图片描述

图4.3添加信息顺序图
4.3数据库设计
本基于JSP的安康旅游网站采用的是MYSQL数据库,数据存储快,因为安康旅游网站,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确。
4.3.1 数据库实体(E-R图)
E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系。E-R图即由这三点组成。
实体:E-R图中数据的实体,用矩形表示上面为实体名,下面为实体属性,实体包含主外键等关系。
属性:E-R图中的属性,是指实体的属性,实体由多条属性所构成,属性拥有自己的数据类型,数据大小。属性的优劣决定了E-R图中实体的健全性、完整性。
关系:E-R图中的关系是指实体之间的关系,用菱形来表示实体间的关系,这些菱形关系的联系上有着一对多或多对多的数据联系,这些构成了E-R图的关系,E-R图的关系紧密连接了实体,使实体间的关联性更加的显著、易懂。本基于JSP的安康旅游网站的E-R图如下所示:
1.管理员信息实体属性图如图4.4所示:
在这里插入图片描述

图4.4 管理员信息实体属性图
2.景点信息信息实体属性图如图4.5所示:
在这里插入图片描述

图4.5 景点信息信息实体属性图
3.酒店信息实体属性图如图4.6所示:
在这里插入图片描述

图4.6 酒店信息实体属性图
4.游客信息实体属性图如图4.7所示:
在这里插入图片描述

图4.7 游客信息实体属性图
5.旅游线路信息实体属性图如图4.8所示:
在这里插入图片描述

图4.8 旅游线路信息实体属性图
4.3.2 数据库表设计
本基于JSP的安康旅游网站需要后台数据库,采用MYSQL数据库系统进行数据的储存,下面介绍数据库中的各个表的详细信息。各个表的设计结果如下:
表4.1 users管理员信息表
字段名 数据类型 是否允许空 字段含义
id bigint(20) NOT NULL 编号
username varchar(100) NULL 用户名 password varchar(100) NULL 密码 role varchar(100) NULL 角色 addtime timestamp NULL 新增时间 表4.2 jingdianxinxi景点信息表 字段名 数据类型 是否允许空 字段含义 id bigint(20) NOT NULL 编号 addtime timestamp NULL 创建时间 jingdianmingcheng varchar(200) NULL 景点名称 jingdiandengji varchar(200) NULL 景点等级 jingdianjieshao varchar(200) NULL 景点介绍 suozaishengqu varchar(200) NULL 所在省区 suozaichengshi varchar(200) NULL 所在城市 suozaidiqu varchar(200) NULL 所在地区 meitiankaifangshijian datetime NULL 每天开放时间 meitianguanbishijian datetime NULL 每天关闭时间 beizhu varchar(200) NULL 备注 jiage int(11) NULL 价格 tupian varchar(200) NULL 图片 thumbsupnum int(11) NULL 赞数 crazilynum int(11) NULL 踩数 clicktime datetime NULL 最近点击时间 clicknum int(11) NULL 点击次数
表4.3 jiudianxinxi酒店信息表
字段名 数据类型 是否允许空 字段含义
id bigint(20) NOT NULL 编号
addtime timestamp NULL 创建时间
jiudianmingcheng varchar(200) NULL 酒店名称 jiudianjieshao longtext NULL 酒店介绍 fangjianshu int(11) NULL 房间数 suozaishengqu varchar(200) NULL 所在省区 suozaichengshi varchar(200) NULL 所在城市 suozaidiqu varchar(200) NULL 所在地区 jiudianjiage int(11) NULL 酒店价格 tupian varchar(200) NULL 图片 thumbsupnum int(11) NULL 赞数 crazilynum int(11) NULL 踩数 clicktime datetime NULL 最近点击时间 clicknum int(11) NULL 点击次数
表4.4 youke游客信息表
字段名 数据类型 是否允许空 字段含义
id bigint(20) NOT NULL 编号
addtime timestamp NULL 创建时间
youkezhanghao varchar(200) NULL 游客账号
mima varchar(200) NULL 密码
youkexingming varchar(200) NULL 游客姓名
xingbie varchar(200) NULL 性别
lianxifangshi varchar(200) NULL 联系方式
shenfenzheng varchar(200) NULL 身份证
youxiang varchar(200) NULL 邮箱
touxiang varchar(200) NULL 头像
表4.5 lvyouxianlu旅游线路信息表
字段名 数据类型 是否允许空 字段含义
id bigint(20) NOT NULL 编号
addtime timestamp NULL 创建时间
youkezhanghao varchar(200) NULL 游客账号
youkexingming varchar(200) NULL 游客姓名
xianluguihua varchar(200) NULL 线路规划
xianlutupian varchar(200) NULL 线路图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/901260.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

spring整合使用xml方式整合Druid数据源连接池

1.普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求 一个,执行完成后再断…

测试造数,excel转insert语句

目录 excel转sql的insert语句一、背景二、直接上代码 excel转sql的insert语句 一、背景 在实际测试工作中,需要频繁地进行测试造数并插入数据库验证,常规的手写sql语句过于浪费时间,为此简单写个脚本,通过excel来造数&#xff0…

用更多的钱买电脑而不是手机

如果,我们对自己的定义是知识工作者,那么在工作、学习相关的电子设备投入上,真的别舍不得花钱。 需要留意的是,手机,对于大部分在电脑前工作的人,不是工作设备。在我看来,每年投入到电脑的钱&…

Go语言Linux环境搭建以编写第一个Go程序

目录 文章目录 目录Go语言入门1、说明2、CentOS7安装Go3、编写第一个程序3.1、编写程序3.2、运行程序3.3、生成二进制文件4、编写第一个web程序4.1、编写代码4.2、运行程序4.3、测试访问4.4、生成二进制配置Vim-go语法高亮1)、下载和设置Vundle.vim(vim安装插件的工具)2)、…

[Linux网络编程]05-TCP状态和端口复用,shutdown函数(主动方建立/关闭连接状态,被动方建立/关闭连接状态,2MSL时长,TCP其他状态)

一.TCP状态图表示 netstat -apn | grep client 查看客户端网络连接状态 netstat -apn | grep port 查看端口的网络连接状态 二.主动方,被动方TCP连接状态 1. 主动发起连接请求端: CLOSE – 发送SYN – SEND_SYN – 接收 ACK、SYN – SEND_SYN – 发送 A…

查看Chrome安装路

谷歌Google浏览器查看安装路径,浏览器Google Chrome浏览器查看安装路径 chrome://version/ 来源:笔记云

vuex使用modules模块化

1、main.js引入 //引入vuex import store from ./store new Vue({el: #app,router,store,components: { App },template: <App/>,data:function(){return{wbWinList: [] // 定义的变量&#xff0c;全局参数}}, })2、index.js import Vue from vue; import Vuex from …

刷题 - 图论

1 | bfs/dfs | 网格染色 200. 岛屿数量 访问到马上就染色&#xff08;将visited标为 true)auto [cur_x, cur_y] que.front(); 结构化绑定&#xff08;C17&#xff09;也可以不使用 visited数组&#xff0c;直接修改原始数组时间复杂度: O(n * m)&#xff0c;最多将 visited 数…

英语语法笔记

内容源于b站英语兔 目录 一、综述 动作&#xff08;动词&#xff09;&#xff1a; 1.可以独立完成的动作&#xff1a;主语加不及物动词 2.有1个动作的承受者&#xff1a;主语单及物动词宾语 3.有2个承受者&#xff1a;主语双及物动词间接宾语直接宾语 4.只有1个动作承受…

从零开始:构建一个高效的开源管理系统——使用 React 和 Ruoyi-Vue-Plus 的实战指南

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Kafka-代码示例

一、构建开发环境 File > New > Project 选择一个最简单的模板 项目和坐标命名 配置maven路径 添加maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --><dependency><groupId>org.apache.kaf…

学习笔记——动态路由——OSPF(距离矢量协议)OSPF路由类型

OSPF路由类型 在OSPF中&#xff0c;路由类型指的是不同种类的路由&#xff0c;用于描述网络中不同的路由信息及其传输方式。 1、Intra Area路由(区域内路由) Intra Area路由(区域内路由/本地路由/内部路由)是OSPF协议中的一种路由类型&#xff0c;用于描述在同一个OSPF区域内…

【论文阅读】ESRGAN

学习资料 论文题目&#xff1a;增强型超分辨率生成对抗网络&#xff08;ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks&#xff09;论文地址&#xff1a;[1809.00219] ESRGAN&#xff1a;增强型超分辨率生成对抗网络代码&#xff1a;xinntao / ESRGAN&am…

牛客周赛 Round 64(博弈论、思维、构造、LCA、换根DP)

文章目录 牛客周赛 Round 64(博弈论、思维、构造、LCA、换根DP)A. 小红的对错判断B. 小红的幂表达C. 小红的前缀询问D. 小红和小紫的博弈游戏&#xff08;博弈论&#xff09;E. 小红的字符串重排&#xff08;思维、构造&#xff09;F&G. 小红的树上路径查询&#xff08;LCA…

LabVIEW共享变量通信故障

问题概述&#xff1a; 在LabVIEW项目中&#xff0c;使用IO服务器创建共享变量&#xff0c;并通过LabVIEW作为从站进行数据通信。通讯在最初运行时正常&#xff0c;但在经过一段时间或几个小时后&#xff0c;VI前面板出现错误输出&#xff0c;导致数据传输失败。虽然“分布式系统…

equals方法重写--自写Person类

1.Object类的equals方法&#xff08;源码&#xff09; public boolean equals(Object obj) {return (this obj);//判断如果比较的两个对象是同一个对象&#xff0c;则返回true} 2.String类重写Object类的equals方法&#xff08;源码&#xff09; public boolean equals(Obje…

Git的初次使用

一、下载git 找淘宝的镜像去下载比较快 点击这里 二、配置git 1.打开git命令框 2.设置配置 git config --global user.name "你的用名"git config --global user.email "你的邮箱qq.com" 3.制作本地仓库 新建一个文件夹即可&#xff0c;然后在文件夹…

网络一些相关术语

目录 网络一些相关术语 转发平面效率 可扩展性 控制平面 网络拓扑 服务质量&#xff08;QoS&#xff09; 网络协议 网络带宽 网络拥塞 网络安全 网络冗余 网络切片 网络延迟 网络地址转换&#xff08;NAT&#xff09; 虚拟专用网络&#xff08;VPN&#xff09; …

尚硅谷-react教程-求和案例-优化2-Provider组件的使用-笔记

在这篇文章的基础上&#xff0c;https://blog.csdn.net/weixin_41987016/article/details/143257435?spm1001.2014.3001.5501 继续优化&#xff0c; 借助Provider批量的给整个应用里面的所有的容器组件的添加store 原来的,src/index.js import React from "react&quo…

从0开始深度学习(17)——数值稳定性和模型初始化

在每次训练之前&#xff0c;都会对模型的参数进行初始化&#xff0c;初始化方案的选择在神经网络学习中起着举足轻重的作用&#xff0c; 它对保持数值稳定性至关重要。 我们选择哪个函数以及如何初始化参数可以决定优化算法收敛的速度有多快。 糟糕选择可能会导致我们在训练时遇…