基于SSM框架的健康饮食信息管理系统的设计与实现
摘要:养生已经成为现代人们关注的热点话题之一,越来越多的人开始关注自己的身体健康。根据统计数据显示,中国养生市场规模已经超过5000亿元,年增长率达到15%以上。同时,随着互联网的发展,养生领域的线上市场也在快速发展。因此,针对养生食谱的网站需求日益增长。根据相关调查数据,近70%的人表示对养生饮食有所了解,并且有意愿尝试。而且,随着人们对健康的关注度提高,养生食谱的需求量也在逐年增加。因此,养生食谱站具有广阔的市场前景和潜力。但据了解目前,网络上并没有出现一个功能完整且完整融入中医及养生的网站。在版面和功能上也是千篇一律,并没有一个创新的突破。因此,本次设计旨在实现融入中医与养生知识的健康饮食信息管理网站,基于SSM框架,采用B/S架构,前端采用的技术为JavaScript,后端采用Java语言技术,数据库选择的是MySQL,服务器利用Tomcat进行,对整个健康饮食信息管理系统的流程和步骤进行模拟,前台用户可以进行浏览界面、后台管理员管理界面,通过后台管理界面可以对前台的登陆用户进行管理,同时可以进行个人信息管理、养生知识管理、管理员管理、系统管理、用户名管理等等,从而弥补市场这一缺陷,顺应市场需求,帮助人们提高对自身健康的掌控及管理程度,综上所述,本次设计具有一定的水平和创新点,具有一定的实用价值。
关键词:健康饮食;信息管理;SSM
第1章 绪论1.1 系统的开发背景
目前社会中医传统知识上存在许许多多的不良现象,许许多多的中医网站打着学习中医知识和利用中医知识保健的名号大肆宣传自己的产品以此来达到获取金钱利益的目的却并没有真正落实中医文化宣传的发扬与传播。此外,中医理论作为中国的传统知识已经具有几千年的历史,却迟迟发展不起来,许多医学院的学习甚至是中医爱好者都不能将中医的实质发扬,只是将它作为一种兴趣或者是养家糊口的手段,在进行治疗过程中总是辅以其他的西医文化,没有将中医作为一个真正的独立个体出现,这样的场面就导致了现在中医传统知识传播的良莠不齐的现象。受2020年新冠疫情的影响,国家开始号召以"预防为主,治疗为辅"的治疗方式,中医的地位也逐渐凸显出来,在当今这个互联网发达的时代,号召全民养生,提倡一个健康的生活方式以及弘扬中国中医药也势在必行,中医养生类的网站也逐渐开始流行起来。作为一个计算机类专业的学生同样也可以运用自己的专业优势来普及中医传统的相关理论,来达到分享学习以及了解中医的效果的同时也从某种意义上可以改善当前中医传统文化所面临的现象。
本次设计网站是在现有的同类网站基础上添加了用户交流功能,可以促进用户更好的交流也大大提升了用户使用的体验感,达到传播中医传统文化的效果。养生知识模块下我们可以利用现代的互联网的便捷方式下,浏览了解到古今的养生常识,感兴趣的用户还可以在浏览完成后发表一下自己浏览后的感言以及对该养生知识的见解,在无形之中既可以获得新养生知识的同时又将自己所了解的知识传播出去,无形之中传播了健康饮食文化的同时也使得网站的用户体验效果得到改善。
1.2 系统开发的意义与目的
本次设计目的旨在培养和训练学生综合运用SSM、Mysql及Java技术等方面的理论知识和技能,设计实现通过健康饮食信息管理系统,使健康饮食信息管理系统的工作系统化、规范化、自动化,从而达到帮助解决目前健康饮食信息管理系统的市场欠缺,针对传统管理系统所存在的成本高、运行效率慢等问题,结合相关测试与功能调试,有效节省加载时间,旨在为人们提供更好更便捷的健康饮食浏览平台,并在社会范围内提供一定的参考意义。
1.3系统达到的目标及内容
健康饮食信息管理系统主要是为了用户方便对健康饮食信息的查看和管理,也是为了更好的让管理员进行更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看首页、养生知识、食谱信息、个人中心、后台管理等,根据自己的需求可以进行查看养生知识、食谱信息等,这样既能节省用户的时间,不用在像传统的方式,需要查询、由于很多用户的时间的原因,很难去满足用户的各种需求。所以健康饮食信息管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。
第2章 系统分析2.1 可行性分析
健康饮食信息管理系统研发,可行性和研发需求是非常重要的一个环节,其是健康饮食信息管理系统能否获取成功的关键所在。在此主要对这两项进行分析。在此主要对健康饮食信息管理系统的可行性进行论述,其论述分析主要关键为经济型和技术性以及必要性.
(1)技术可行性
技术性的关键在于健康饮食信息管理系统是否可以借助如今存有的工具,或者技术进行完善,是之可以完成。2023年的网站研发技术已然无比成熟,以此可对健康饮食信息管理系统的研发提供强力的帮助,JavaScript、Java语言、MySQL数据库完全可以完成无特殊要求或高难度问题的健康饮食信息管理系统的研发。系统的开发环境和配置都是可以自行安装的,系统使用ECLIPSE开发工具,使用比较成熟的Mysql数据库进行对系统用户名和管理员之间相关的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
(2)经济可行性
在开发过程中,所有的软件以及技术支持都是免费的,而且所参考的资料以及阅读文献也是在网络或者各大学习网站上的免费资源,几乎没有成本方面的问题。除此之外,健康饮食信息管理系统还可以借助于中医产品的售卖获利。研发无成本,使用有收益便是健康饮食信息管理系统主要的经济性所在。
(3)市场可行性
中医作为一种千年沉淀和千年发扬的文化,无论从底蕴还是成绩来看均是异常显著突出的。而养生也成为了时下困扰千万人,且千万人对此抱有一定重视的关键。中医较之西医副作用更小的效果,也使得其和养生结合将是一种必然走向。
(5)软件可行性
操作系统:Windows10
数据库: MySQL
系统开发语言:Java
开发工具:Spring
(6)SSM的优势
在 Java中, SSM是一种集成化的框架。SSM架构具有以下优点:
层次清楚: SSM架构划分了不同的应用层,使每一层都有更清楚的责任和更清楚的代码。SpringMVC为 Web应用程序开发提供了基础, MyBatis为 ORM提供了很好的支持。有了 SSM框架,就可以很容易地实现一个复杂的应用。强大的可扩展性: Spring提供了许多可扩展点,这使开发者很容易对 Spring进行扩充。
2.2 功能分析
考虑到实际生活中在健康饮食方面的需要以及对该系统认真的分析,将系统权限按用户和管理员这二类涉及用户划分。使用健康饮食信息管理系统的用户分管理员和用户名两个角色的权限子模块。管理员所能使用的功能主要有:首页、个人中心、用户名管理、养生知识管理、食谱信息管理、管理员管理、系统管理等。用户名可以实现首页、个人中心、我的收藏管理等功能。
2.4 数据字典
(1)用户名表的数据字典卡片如图2.1所示。主要用于存储用户名信息。包括:编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱。
图2.1 用户名表的数据字典卡片
(2)养生知识表的数据字典卡片如图2.2所示。主要用于在数据库中记录养生知识信息。包括包括:编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期。
图2.2 养生知识表的数据字典卡片
(3)用户表的数据字典卡片如图2.3所示。主要用于用户相关信息的记录。主要包括编号id、用户名、密码、角色、新增时间。
图2.3用户表的数据字典卡片
(4)token表的数据字典卡片如图2.4所示。是主要用于存储token资料。主要包括编号id、用户id、用户名、表名、角色、密码、新增时间、过期时间
图2.4 token表的数据字典卡片
(5)收藏表的数据字典卡片如图2.5所示。是用来存储收藏信息资料。主要包括编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型。
图2.5 收藏表的数据字典卡片
(6)食谱信息表的数据字典卡片如图2.6所示。主要用于食谱信息的信息。主要包括编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数。
图2.6 食谱信息表的数据字典卡片
(7)食谱信息评论表的数据字典卡片如图2.7所示。主要用于记录食谱信息评论资料。主要包括编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容。
图2.7 食谱信息评论表的数据字典卡片
(8)配置文件表的数据字典卡片如图2.8所示。主要用于保存配置文件参数信息。主要包括编号id、配置参数名称、配置参数值。
图2.8配置文件表的数据字典卡片
2.5 系统流程图2.5.1添加信息流程
添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图2.9所示。
图2.9 添加信息流程图
2.5.2操作流程
用户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图2.10所示。
图2.10操作流程图
2.5.3删除信息流程
用户选择要删除的信息并单击Delete按钮。系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图2.11所示。
图2.11删除信息流程图
2.6系统数据流图
(1)系统顶层数据流图
用户将用户的相关信息发送给健康饮食信息管理系统,系统将相关信息返回给用户;管理员可以控制管理健康饮食信息管理系统,健康饮食信息管理系统将所有信息交给管理员进行管理。顶层数据流图如图2.12所示。
图2.12健康饮食信息管理系统顶层数据流图
(2)系统数据流图
管理员所具有的功能包括用户名管理、养生知识管理、食谱信息管理、管理员管理、系统管理等进行操作。数据流图如图2.13所示。
图2.13健康饮食信息管理系统数据流图
2.7性能需求2.7.1系统的安全性
整个系统的安全是建立在系统运行物理环境的安全性、服务器及网络的安全性、操作系统的安全性、应用系统的安全性及应用数据的安全性等基础之上的。通过设计和实现整体的安全策略,对安全策略的实施结果展开评估,并及时采取修复补救措施,调整安全预防策略,综合并动态地展开系统安全管理。
这个系统的安全体系与一般信息系统的相似之处在于,同样需要对整体综合的安全策略进行设计,并将其纳入到总体安全体系中,以保证系统的安全运行。
2.7.2数据的完整性
(1)对数据的记录要求精确,信息不能出现空白信息,否则显示错误。
(2)各个数据项的记录必须要求是正确的,不能出现虚假信息,造成错误。
(3)不同界面显示的相同信息的数据也必须保持一致,不能出现相同信息不同的数据。
第3章 总体设计
系统的设计工作应当自上而下。首先对系统的整体架构进行了设计,接着按层次逐步深入,最后对各个模块进行了设计。整体设计主要是基于系统的分析,合理地安排整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规则和整个系统的实现规划等方面。总体设计是整个健康饮食信息管理系统开发过程中的基础部分,也是开发阶段的初始点,需要以健康饮食信息管理系统总体的视角去考虑其全局设计,通过对健康饮食信息管理系统的功能、性能以及设计成本进行综合考虑,选取一个最合适的系统实现方案来实现软件的功能结构和性能需求。
3.1 系统模块设计
按照总体设计的功能模块和需求分析,健康饮食信息管理系统的各个模块:
(1)用户名数据:包括数据项有编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱。
(2)养生知识数据:包含的数据项有编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期。
(3)用户数据:包含的数据项有编号id、用户名、密码、角色、新增时间。
(4)token数据:包含的数据项有编号id、用户id、用户名、表名、角色、密码、新增时间、过期时间。
(5)收藏数据:包含的数据项有编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型。
(6)食谱信息数据:包含的数据项有编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数。
(7)食谱信息评论数据:包括数据项有编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容。
(8)配置文件数据:包括数据项有编号id、配置参数名称、配置参数值。
3.2 系统架构
该健康饮食信息管理系统采用SSM轻量级免费框架开发。基于Spring框架的Spring Boot模块。分层体系结构是整个系统的基本原则,系统中每个层都与该层正下方或正上方的层(层次结构)进行通信。具体可以分为表示层(Presentation Layer)、业务层(Business Layer)、持久层(Persistence Layer)和数据库层(Database Layer) 。健康饮食信息管理系统架构运行流程如图3.1所示。
图3.1 系统架构运行流程图
3.3 系统功能模块图
本系统的总功能模块如图3.2所示。
图3.2 总体功能模块图
系统前台功能可以实现健康饮食信息管理系统的用户登录、首页信息的查看、养生知识的查看、我的收藏管理、发表食谱评论本系统的前台功能模块图如图3.3所示。
图3.3 前台功能模块图
系统后台功能可以实现管理员的登录以及对个人信息的查看、修改和编辑,可以对养生知识、食谱信息评论、用户进行管理,可以对用户进行查询、查看、管理,可以进行食谱信息的管理,同时还需要对系统进行管理和维护。
系统后台功能如图3.4所示。
图3.4 系统后台功能模块图
第4章 数据库设计4.1 数据库理论基础
数据库(DataBase, DB)是一组储存在一台电脑中,经过整理和共享的有关数据,这些数据按照特定的数据模型被组织起来,被描述,并且可以被长期保存,并且可以用一种安全、可靠的方式来查询数据。数据库数据的特征是:冗余少,独立性强,可扩展性好,共享性好,结构性强,持久性强。
4.2 概念设计
数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。
(1)用户信息实体属性图
用户信息实体包括数据项有编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱。用户信息的属性图如图4.1所示。
图4.1 用户信息实体属性图
(2)养生知识实体属性图
养生知识实体包括编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期。养生知识实体的属性图如图4.2所示。
图4.2养生知识实体属性图
(3)用户实体属性图
用户实体包含的数据项有编号id、用户名、密码、角色、新增时间。用户实体的属性图如图4.3所示。
图4.3用户实体属性图
(4)token实体属性图
token实体包含的数据项有编号id、创建时间、用户。token实体的属性图如图4.4所示。
图4.4token实体属性图
(5)收藏实体属性图
收藏实体包含的数据项有编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型。收藏实体的属性图如图4.5所示。
图4.5 收藏实体属性图
(6)食谱信息实体属性图
食谱信息实体包含的数据项有编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数。食谱信息实体的属性图如图4.6所示。
图4.6食谱信息实体属性图
(7)食谱信息评论实体属性图
食谱信息评论实体包括数据项有编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容。食谱信息评论实体的属性图如图4.7所示。
图4.7食谱信息评论实体属性图
(8)配置文件实体属性图
配置文件实体包括数据项有编号id、配置参数名称、配置参数值。配置文件实体的属性图如图4.8所示。
图4.8 配置文件实体属性图
根据上述实体E-R图我们可以构建整个系统的E-R模型如图4.9所示。
图4.9系统E-R图
4.3 逻辑设计
用户信息表:存储用户信息等信息,用户信息表保存编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱,id编号为非空自增主键,如表4.1所示。
表4.1 用户信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
touxiang varchar 200 头像
xingbie varchar 200 性别
shoujihaoma varchar 200 手机号码
youxiang varchar 200 邮箱
养生知识表:存储养生知识等信息,养生知识表保存编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期,id编号为非空自增主键,如表4.2所示。
表4.2 养生知识
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
tupian varchar 200 图片
shiherenqun varchar 200 适合人群
yundongtuijian varchar 200 运动推荐
yangshengneirong longtext 4294967295 养生内容
faburiqi date 发布日期
用户表:存储用户信息,用户表保存编号id、用户名、密码、角色、新增时间,id编号为非空自增主键,如表4.3所示。
表4.3 用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
token表:存储token信息,token表保存编号id、用户id、用户名、表名、角色、密码、新增时间、过期时间,id编号为非空自增主键,如表4.4所示。
表4.4 token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
收藏表:存储收藏信息,收藏表保存编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型,id编号为非空自增主键,如表4.5所示。
表4.5 收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 收藏id
tablename varchar 200 表名
name varchar 200 收藏名称
picture varchar 200 收藏图片
type varchar 200 类型(1:收藏,21:赞,22:踩) 1
inteltype varchar 200 推荐类型
食谱信息表:存储食谱信息,食谱信息表保存编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数,id编号为非空自增主键,如表4.6所示。
表4.6 食谱信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shipumingcheng varchar 200 食谱名称
tupian varchar 200 图片
shipugongxiao varchar 200 食谱功效
shiherenqun varchar 200 适合人群
zhuliao varchar 200 主料
fuliao varchar 200 辅料
pengrenfangshi varchar 200 烹饪方式
zhizuofangfa longtext 4294967295 制作方法
clicktime datetime 最近点击时间
clicknum int 点击次数 0
食谱信息评论表:存储食谱信息评论,食谱信息评论表保存编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容,id编号为非空自增主键,如表4.7所示。
表4.7 食谱信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
配置文件表:存储配置文件,配置文件表保存编号id、配置参数名称、配置参数值,id编号为非空自增主键,如表4.8所示。
表4.8 配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
第5章 系统详细设计5.1系统功能模块
健康饮食信息管理系统,在系统的首页可以查看首页、养生知识、食谱信息、个人中心、后台管理等信息进行详细操作,如图5.1所示。
图5.1系统首页界面图
注册用户,在注册页面通过填写用户名、密码、用户姓名、手机号码、邮箱等信息完成用户注册,如图5.2所示。
图5.2用户名注册界面图
养生知识,在养生知识页面中可以查看标题、适合人群、运动推荐、发布日期、养生内容、图片等信息,如图5.3所示。
图5.3养生知识界面图
食谱信息,在食谱信息页面中可以查看食谱名称、食谱功效、适合人群、主料、辅料、烹饪方式、点击次数、制作方法、图片等信息,并进行评论、收藏等操作,如图5.4所示。
图5.4食谱信息界面图
个人中心,在个人中心页面通过填写用户名、密码、用户姓名、上传图片、性别、手机号码、邮箱等信息进行更新信息,根据需要对我的收藏等进行详细操作,如图5.5所示。
图5.5个人中心界面图
5.2管理员功能模块
管理员登录,管理员通过输入用户名、密码、选择角色等信息,然后点击登录就能登录到系统进行系统的使用了,如图5.6所示。
图5.6管理员登录界面图
管理员登录进入系统之后,就可以对所有的信息进行查看,可以查看到首页、个人中心、用户名管理、养生知识管理、食谱信息管理、管理员管理、系统管理等,并且还可以对其进行相应的操作管理,如图5.7所示。
图5.7管理员功能界面图
用户名管理,在用户名管理页面中可以对索引、用户名、用户姓名、头像、性别、手机号码、邮箱等信息进行详情,修改或删除等操作,如图5.8所示。
图5.8用户名管理界面图
养生知识管理,在养生知识管理页面中可以对索引、标题、图片、适合人群、运动推荐、发布日期等信息进行详情,修改或删除等操作,如图5.9所示。
图5.9养生知识管理界面图
食谱信息管理,在食谱信息管理页面中可以对索引、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式等信息进行详情,查看评论,修改或删除等操作,如图5.10所示。
图5.10食谱信息管理界面图
管理员管理,在管理员管理页面中可以对索引、用户名、密码、角色等信息进行详情,修改或删除等操作,如图5.11所示。
图5.11管理员管理界面图
5.3用户功能模块
用户登录进入系统可以查看首页、个人中心、我的收藏管理等信息,并进行相应的操作管理,如图5.12所示。
图5.12用户名功能界面图
我的收藏管理,在我的收藏管理页面中可以对索引、收藏名称、收藏图片等信息进行详情,删除等操作,如图5.13所示。
图5.13我的收藏管理界面图
摘要:养生已经成为现代人们关注的热点话题之一,越来越多的人开始关注自己的身体健康。根据统计数据显示,中国养生市场规模已经超过5000亿元,年增长率达到15%以上。同时,随着互联网的发展,养生领域的线上市场也在快速发展。因此,针对养生食谱的网站需求日益增长。根据相关调查数据,近70%的人表示对养生饮食有所了解,并且有意愿尝试。而且,随着人们对健康的关注度提高,养生食谱的需求量也在逐年增加。因此,养生食谱站具有广阔的市场前景和潜力。但据了解目前,网络上并没有出现一个功能完整且完整融入中医及养生的网站。在版面和功能上也是千篇一律,并没有一个创新的突破。因此,本次设计旨在实现融入中医与养生知识的健康饮食信息管理网站,基于SSM框架,采用B/S架构,前端采用的技术为JavaScript,后端采用Java语言技术,数据库选择的是MySQL,服务器利用Tomcat进行,对整个健康饮食信息管理系统的流程和步骤进行模拟,前台用户可以进行浏览界面、后台管理员管理界面,通过后台管理界面可以对前台的登陆用户进行管理,同时可以进行个人信息管理、养生知识管理、管理员管理、系统管理、用户名管理等等,从而弥补市场这一缺陷,顺应市场需求,帮助人们提高对自身健康的掌控及管理程度,综上所述,本次设计具有一定的水平和创新点,具有一定的实用价值。
关键词:健康饮食;信息管理;SSM
第1章 绪论1.1 系统的开发背景
目前社会中医传统知识上存在许许多多的不良现象,许许多多的中医网站打着学习中医知识和利用中医知识保健的名号大肆宣传自己的产品以此来达到获取金钱利益的目的却并没有真正落实中医文化宣传的发扬与传播。此外,中医理论作为中国的传统知识已经具有几千年的历史,却迟迟发展不起来,许多医学院的学习甚至是中医爱好者都不能将中医的实质发扬,只是将它作为一种兴趣或者是养家糊口的手段,在进行治疗过程中总是辅以其他的西医文化,没有将中医作为一个真正的独立个体出现,这样的场面就导致了现在中医传统知识传播的良莠不齐的现象。受2020年新冠疫情的影响,国家开始号召以"预防为主,治疗为辅"的治疗方式,中医的地位也逐渐凸显出来,在当今这个互联网发达的时代,号召全民养生,提倡一个健康的生活方式以及弘扬中国中医药也势在必行,中医养生类的网站也逐渐开始流行起来。作为一个计算机类专业的学生同样也可以运用自己的专业优势来普及中医传统的相关理论,来达到分享学习以及了解中医的效果的同时也从某种意义上可以改善当前中医传统文化所面临的现象。
本次设计网站是在现有的同类网站基础上添加了用户交流功能,可以促进用户更好的交流也大大提升了用户使用的体验感,达到传播中医传统文化的效果。养生知识模块下我们可以利用现代的互联网的便捷方式下,浏览了解到古今的养生常识,感兴趣的用户还可以在浏览完成后发表一下自己浏览后的感言以及对该养生知识的见解,在无形之中既可以获得新养生知识的同时又将自己所了解的知识传播出去,无形之中传播了健康饮食文化的同时也使得网站的用户体验效果得到改善。
1.2 系统开发的意义与目的
本次设计目的旨在培养和训练学生综合运用SSM、Mysql及Java技术等方面的理论知识和技能,设计实现通过健康饮食信息管理系统,使健康饮食信息管理系统的工作系统化、规范化、自动化,从而达到帮助解决目前健康饮食信息管理系统的市场欠缺,针对传统管理系统所存在的成本高、运行效率慢等问题,结合相关测试与功能调试,有效节省加载时间,旨在为人们提供更好更便捷的健康饮食浏览平台,并在社会范围内提供一定的参考意义。
1.3系统达到的目标及内容
健康饮食信息管理系统主要是为了用户方便对健康饮食信息的查看和管理,也是为了更好的让管理员进行更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看首页、养生知识、食谱信息、个人中心、后台管理等,根据自己的需求可以进行查看养生知识、食谱信息等,这样既能节省用户的时间,不用在像传统的方式,需要查询、由于很多用户的时间的原因,很难去满足用户的各种需求。所以健康饮食信息管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。
第2章 系统分析2.1 可行性分析
健康饮食信息管理系统研发,可行性和研发需求是非常重要的一个环节,其是健康饮食信息管理系统能否获取成功的关键所在。在此主要对这两项进行分析。在此主要对健康饮食信息管理系统的可行性进行论述,其论述分析主要关键为经济型和技术性以及必要性.
(1)技术可行性
技术性的关键在于健康饮食信息管理系统是否可以借助如今存有的工具,或者技术进行完善,是之可以完成。2023年的网站研发技术已然无比成熟,以此可对健康饮食信息管理系统的研发提供强力的帮助,JavaScript、Java语言、MySQL数据库完全可以完成无特殊要求或高难度问题的健康饮食信息管理系统的研发。系统的开发环境和配置都是可以自行安装的,系统使用ECLIPSE开发工具,使用比较成熟的Mysql数据库进行对系统用户名和管理员之间相关的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
(2)经济可行性
在开发过程中,所有的软件以及技术支持都是免费的,而且所参考的资料以及阅读文献也是在网络或者各大学习网站上的免费资源,几乎没有成本方面的问题。除此之外,健康饮食信息管理系统还可以借助于中医产品的售卖获利。研发无成本,使用有收益便是健康饮食信息管理系统主要的经济性所在。
(3)市场可行性
中医作为一种千年沉淀和千年发扬的文化,无论从底蕴还是成绩来看均是异常显著突出的。而养生也成为了时下困扰千万人,且千万人对此抱有一定重视的关键。中医较之西医副作用更小的效果,也使得其和养生结合将是一种必然走向。
(5)软件可行性
操作系统:Windows10
数据库: MySQL
系统开发语言:Java
开发工具:Spring
(6)SSM的优势
在 Java中, SSM是一种集成化的框架。SSM架构具有以下优点:
层次清楚: SSM架构划分了不同的应用层,使每一层都有更清楚的责任和更清楚的代码。SpringMVC为 Web应用程序开发提供了基础, MyBatis为 ORM提供了很好的支持。有了 SSM框架,就可以很容易地实现一个复杂的应用。强大的可扩展性: Spring提供了许多可扩展点,这使开发者很容易对 Spring进行扩充。
2.2 功能分析
考虑到实际生活中在健康饮食方面的需要以及对该系统认真的分析,将系统权限按用户和管理员这二类涉及用户划分。使用健康饮食信息管理系统的用户分管理员和用户名两个角色的权限子模块。管理员所能使用的功能主要有:首页、个人中心、用户名管理、养生知识管理、食谱信息管理、管理员管理、系统管理等。用户名可以实现首页、个人中心、我的收藏管理等功能。
2.4 数据字典
(1)用户名表的数据字典卡片如图2.1所示。主要用于存储用户名信息。包括:编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱。
图2.1 用户名表的数据字典卡片
(2)养生知识表的数据字典卡片如图2.2所示。主要用于在数据库中记录养生知识信息。包括包括:编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期。
图2.2 养生知识表的数据字典卡片
(3)用户表的数据字典卡片如图2.3所示。主要用于用户相关信息的记录。主要包括编号id、用户名、密码、角色、新增时间。
图2.3用户表的数据字典卡片
(4)token表的数据字典卡片如图2.4所示。是主要用于存储token资料。主要包括编号id、用户id、用户名、表名、角色、密码、新增时间、过期时间
图2.4 token表的数据字典卡片
(5)收藏表的数据字典卡片如图2.5所示。是用来存储收藏信息资料。主要包括编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型。
图2.5 收藏表的数据字典卡片
(6)食谱信息表的数据字典卡片如图2.6所示。主要用于食谱信息的信息。主要包括编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数。
图2.6 食谱信息表的数据字典卡片
(7)食谱信息评论表的数据字典卡片如图2.7所示。主要用于记录食谱信息评论资料。主要包括编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容。
图2.7 食谱信息评论表的数据字典卡片
(8)配置文件表的数据字典卡片如图2.8所示。主要用于保存配置文件参数信息。主要包括编号id、配置参数名称、配置参数值。
图2.8配置文件表的数据字典卡片
2.5 系统流程图2.5.1添加信息流程
添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图2.9所示。
图2.9 添加信息流程图
2.5.2操作流程
用户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图2.10所示。
图2.10操作流程图
2.5.3删除信息流程
用户选择要删除的信息并单击Delete按钮。系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图2.11所示。
图2.11删除信息流程图
2.6系统数据流图
(1)系统顶层数据流图
用户将用户的相关信息发送给健康饮食信息管理系统,系统将相关信息返回给用户;管理员可以控制管理健康饮食信息管理系统,健康饮食信息管理系统将所有信息交给管理员进行管理。顶层数据流图如图2.12所示。
图2.12健康饮食信息管理系统顶层数据流图
(2)系统数据流图
管理员所具有的功能包括用户名管理、养生知识管理、食谱信息管理、管理员管理、系统管理等进行操作。数据流图如图2.13所示。
图2.13健康饮食信息管理系统数据流图
2.7性能需求2.7.1系统的安全性
整个系统的安全是建立在系统运行物理环境的安全性、服务器及网络的安全性、操作系统的安全性、应用系统的安全性及应用数据的安全性等基础之上的。通过设计和实现整体的安全策略,对安全策略的实施结果展开评估,并及时采取修复补救措施,调整安全预防策略,综合并动态地展开系统安全管理。
这个系统的安全体系与一般信息系统的相似之处在于,同样需要对整体综合的安全策略进行设计,并将其纳入到总体安全体系中,以保证系统的安全运行。
2.7.2数据的完整性
(1)对数据的记录要求精确,信息不能出现空白信息,否则显示错误。
(2)各个数据项的记录必须要求是正确的,不能出现虚假信息,造成错误。
(3)不同界面显示的相同信息的数据也必须保持一致,不能出现相同信息不同的数据。
第3章 总体设计
系统的设计工作应当自上而下。首先对系统的整体架构进行了设计,接着按层次逐步深入,最后对各个模块进行了设计。整体设计主要是基于系统的分析,合理地安排整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规则和整个系统的实现规划等方面。总体设计是整个健康饮食信息管理系统开发过程中的基础部分,也是开发阶段的初始点,需要以健康饮食信息管理系统总体的视角去考虑其全局设计,通过对健康饮食信息管理系统的功能、性能以及设计成本进行综合考虑,选取一个最合适的系统实现方案来实现软件的功能结构和性能需求。
3.1 系统模块设计
按照总体设计的功能模块和需求分析,健康饮食信息管理系统的各个模块:
(1)用户名数据:包括数据项有编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱。
(2)养生知识数据:包含的数据项有编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期。
(3)用户数据:包含的数据项有编号id、用户名、密码、角色、新增时间。
(4)token数据:包含的数据项有编号id、用户id、用户名、表名、角色、密码、新增时间、过期时间。
(5)收藏数据:包含的数据项有编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型。
(6)食谱信息数据:包含的数据项有编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数。
(7)食谱信息评论数据:包括数据项有编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容。
(8)配置文件数据:包括数据项有编号id、配置参数名称、配置参数值。
3.2 系统架构
该健康饮食信息管理系统采用SSM轻量级免费框架开发。基于Spring框架的Spring Boot模块。分层体系结构是整个系统的基本原则,系统中每个层都与该层正下方或正上方的层(层次结构)进行通信。具体可以分为表示层(Presentation Layer)、业务层(Business Layer)、持久层(Persistence Layer)和数据库层(Database Layer) 。健康饮食信息管理系统架构运行流程如图3.1所示。
图3.1 系统架构运行流程图
3.3 系统功能模块图
本系统的总功能模块如图3.2所示。
图3.2 总体功能模块图
系统前台功能可以实现健康饮食信息管理系统的用户登录、首页信息的查看、养生知识的查看、我的收藏管理、发表食谱评论本系统的前台功能模块图如图3.3所示。
图3.3 前台功能模块图
系统后台功能可以实现管理员的登录以及对个人信息的查看、修改和编辑,可以对养生知识、食谱信息评论、用户进行管理,可以对用户进行查询、查看、管理,可以进行食谱信息的管理,同时还需要对系统进行管理和维护。
系统后台功能如图3.4所示。
图3.4 系统后台功能模块图
第4章 数据库设计4.1 数据库理论基础
数据库(DataBase, DB)是一组储存在一台电脑中,经过整理和共享的有关数据,这些数据按照特定的数据模型被组织起来,被描述,并且可以被长期保存,并且可以用一种安全、可靠的方式来查询数据。数据库数据的特征是:冗余少,独立性强,可扩展性好,共享性好,结构性强,持久性强。
4.2 概念设计
数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。
(1)用户信息实体属性图
用户信息实体包括数据项有编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱。用户信息的属性图如图4.1所示。
图4.1 用户信息实体属性图
(2)养生知识实体属性图
养生知识实体包括编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期。养生知识实体的属性图如图4.2所示。
图4.2养生知识实体属性图
(3)用户实体属性图
用户实体包含的数据项有编号id、用户名、密码、角色、新增时间。用户实体的属性图如图4.3所示。
图4.3用户实体属性图
(4)token实体属性图
token实体包含的数据项有编号id、创建时间、用户。token实体的属性图如图4.4所示。
图4.4token实体属性图
(5)收藏实体属性图
收藏实体包含的数据项有编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型。收藏实体的属性图如图4.5所示。
图4.5 收藏实体属性图
(6)食谱信息实体属性图
食谱信息实体包含的数据项有编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数。食谱信息实体的属性图如图4.6所示。
图4.6食谱信息实体属性图
(7)食谱信息评论实体属性图
食谱信息评论实体包括数据项有编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容。食谱信息评论实体的属性图如图4.7所示。
图4.7食谱信息评论实体属性图
(8)配置文件实体属性图
配置文件实体包括数据项有编号id、配置参数名称、配置参数值。配置文件实体的属性图如图4.8所示。
图4.8 配置文件实体属性图
根据上述实体E-R图我们可以构建整个系统的E-R模型如图4.9所示。
图4.9系统E-R图
4.3 逻辑设计
用户信息表:存储用户信息等信息,用户信息表保存编号id、创建时间、用户名、密码、用户姓名、头像、性别、手机号码、邮箱,id编号为非空自增主键,如表4.1所示。
表4.1 用户信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
touxiang varchar 200 头像
xingbie varchar 200 性别
shoujihaoma varchar 200 手机号码
youxiang varchar 200 邮箱
养生知识表:存储养生知识等信息,养生知识表保存编号id、创建时间、标题、图片、适合人群、运动推荐、养生内容、发布日期,id编号为非空自增主键,如表4.2所示。
表4.2 养生知识
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
tupian varchar 200 图片
shiherenqun varchar 200 适合人群
yundongtuijian varchar 200 运动推荐
yangshengneirong longtext 4294967295 养生内容
faburiqi date 发布日期
用户表:存储用户信息,用户表保存编号id、用户名、密码、角色、新增时间,id编号为非空自增主键,如表4.3所示。
表4.3 用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
token表:存储token信息,token表保存编号id、用户id、用户名、表名、角色、密码、新增时间、过期时间,id编号为非空自增主键,如表4.4所示。
表4.4 token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
收藏表:存储收藏信息,收藏表保存编号id、创建时间、用户id、收藏id、表名、收藏名称、收藏图片、类型(1:收藏,21:赞,22:踩)、推荐类型,id编号为非空自增主键,如表4.5所示。
表4.5 收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 收藏id
tablename varchar 200 表名
name varchar 200 收藏名称
picture varchar 200 收藏图片
type varchar 200 类型(1:收藏,21:赞,22:踩) 1
inteltype varchar 200 推荐类型
食谱信息表:存储食谱信息,食谱信息表保存编号id、创建时间、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式、制作方法、最近点击时间、点击次数,id编号为非空自增主键,如表4.6所示。
表4.6 食谱信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shipumingcheng varchar 200 食谱名称
tupian varchar 200 图片
shipugongxiao varchar 200 食谱功效
shiherenqun varchar 200 适合人群
zhuliao varchar 200 主料
fuliao varchar 200 辅料
pengrenfangshi varchar 200 烹饪方式
zhizuofangfa longtext 4294967295 制作方法
clicktime datetime 最近点击时间
clicknum int 点击次数 0
食谱信息评论表:存储食谱信息评论,食谱信息评论表保存编号id、创建时间、关联表id、用户id、用户名、评论内容、回复内容,id编号为非空自增主键,如表4.7所示。
表4.7 食谱信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
配置文件表:存储配置文件,配置文件表保存编号id、配置参数名称、配置参数值,id编号为非空自增主键,如表4.8所示。
表4.8 配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
第5章 系统详细设计5.1系统功能模块
健康饮食信息管理系统,在系统的首页可以查看首页、养生知识、食谱信息、个人中心、后台管理等信息进行详细操作,如图5.1所示。
图5.1系统首页界面图
注册用户,在注册页面通过填写用户名、密码、用户姓名、手机号码、邮箱等信息完成用户注册,如图5.2所示。
图5.2用户名注册界面图
养生知识,在养生知识页面中可以查看标题、适合人群、运动推荐、发布日期、养生内容、图片等信息,如图5.3所示。
图5.3养生知识界面图
食谱信息,在食谱信息页面中可以查看食谱名称、食谱功效、适合人群、主料、辅料、烹饪方式、点击次数、制作方法、图片等信息,并进行评论、收藏等操作,如图5.4所示。
图5.4食谱信息界面图
个人中心,在个人中心页面通过填写用户名、密码、用户姓名、上传图片、性别、手机号码、邮箱等信息进行更新信息,根据需要对我的收藏等进行详细操作,如图5.5所示。
图5.5个人中心界面图
5.2管理员功能模块
管理员登录,管理员通过输入用户名、密码、选择角色等信息,然后点击登录就能登录到系统进行系统的使用了,如图5.6所示。
图5.6管理员登录界面图
管理员登录进入系统之后,就可以对所有的信息进行查看,可以查看到首页、个人中心、用户名管理、养生知识管理、食谱信息管理、管理员管理、系统管理等,并且还可以对其进行相应的操作管理,如图5.7所示。
图5.7管理员功能界面图
用户名管理,在用户名管理页面中可以对索引、用户名、用户姓名、头像、性别、手机号码、邮箱等信息进行详情,修改或删除等操作,如图5.8所示。
图5.8用户名管理界面图
养生知识管理,在养生知识管理页面中可以对索引、标题、图片、适合人群、运动推荐、发布日期等信息进行详情,修改或删除等操作,如图5.9所示。
图5.9养生知识管理界面图
食谱信息管理,在食谱信息管理页面中可以对索引、食谱名称、图片、食谱功效、适合人群、主料、辅料、烹饪方式等信息进行详情,查看评论,修改或删除等操作,如图5.10所示。
图5.10食谱信息管理界面图
管理员管理,在管理员管理页面中可以对索引、用户名、密码、角色等信息进行详情,修改或删除等操作,如图5.11所示。
图5.11管理员管理界面图
5.3用户功能模块
用户登录进入系统可以查看首页、个人中心、我的收藏管理等信息,并进行相应的操作管理,如图5.12所示。
图5.12用户名功能界面图
我的收藏管理,在我的收藏管理页面中可以对索引、收藏名称、收藏图片等信息进行详情,删除等操作,如图5.13所示。
图5.13我的收藏管理界面图