基于SSM的宠物领养网站的设计与实现-计算机毕设 附源码 11606

基于SSM的宠物领养网站的设计与实现

摘 要

随着社会的发展和人们生活水平的提高,宠物已经成为许多家庭的重要成员。随之而来的是对于便捷、高效的宠物领养服务的需求,国内外对于宠物领养网站的需求呈现上升趋势。随着社交媒体的普及和线上服务的发展,人们越来越倾向于在线上寻找心仪的宠物和了解领养流程。同时,政府部门和社会组织也在积极推动人与动物和谐共处的

理念,鼓励人们领养代替购买。因此,宠物领养网站的市场前景广阔。本文提出的宠物领养系统是采用基于Java语言、MySQL数据库、SSM框架为技术基础进行设计开发的。SSM框架是当前Java开发的主流框架组合,它通过Spring提供的依赖注入、面向切面编程等特性,以及SpringMVC提供的模型-视图-控制器分离的设计模式,再结合MyBatis提供的持久层框架,为现代Web应用程序提供了强大的支持。使用SSM框架构建的宠物领养网站能够提供更好的用户体验、更强大的功能和更高效的性能。

本文首先阐述了系统的研究背景和意义及研究方法;然后对系统进行了可行性分析、功能性等分析;接着详细介绍了系统的设计原理和实现细节,包括数据库设计、系统架构、主要功能模块等;最后对系统进行了测试,证明了该网站可以满足宠物领养用户的需求,也为其他类似的系统设计和实现提供了有益的参考。

关键词宠物领养;Java;SSM

Abstract

With the development of society and the improvement of people's living standards, pets have become important members of many families. With this comes the demand for convenient and efficient pet adoption services, and the demand for pet adoption websites at home and abroad is on the rise. With the popularization of social media and the development of online services, people are increasingly inclined to search for their favorite pets online and understand the adoption process. At the same time, government departments and social organizations are actively promoting harmonious coexistence between humans and animalsConcept, encouraging people to adopt instead of purchasing. Therefore, pet adoption websites have broad market prospects. The pet adoption system proposed in this article is designed and developed based on Java language, MySQL database, and SSM framework. The SSM framework is currently the mainstream framework combination for Java development. It provides strong support for modern web applications through the dependency injection and aspect oriented programming features provided by Spring, as well as the model view controller separation design pattern provided by Spring MVC, combined with the persistence layer framework provided by MyBatis. A pet adoption website built using the SSM framework can provide a better user experience, more powerful features, and more efficient performance.

This article first elaborates on the research background, significance, and research methods of the system; Then feasibility analysis and functional analysis were conducted on the system; Then, the design principles and implementation details of the system were introduced in detail, including database design, system architecture, main functional modules, etc; Finally, the system was tested and proved to meet the needs of pet adoption users, providing useful references for the design and implementation of other similar systems.

Keywords: Pet adoption; Java; SSM

目  录

第1章 绪论

1.1 研究背景

1.2 研究意义

1.3 研究方法

1.4 论文结构及章节安排

第2章 系统分析

2.1 可行性分析

2.2 系统功能分析

2.2.1 普通用户功能模块

2.2.2 管理员功能模块

2.3系统非功能性分析

2.4系统用例分析

2.5系统流程分析

第3章 系统总体设计

3.1 系统架构设计

3.2 系统模块设计

3.2.1系统功能模块设计

3.2.2用户模块设计

3.2.3评论管理模块设计

3.2.4宠物领养管理模块设计

3.3数据库设计

3.3.1 数据库概念结构设计

3.3.2逻辑结构设计

3.1 表access_token (登陆访问时长)

3.2 表applying_for_adoption (申请领养)

3.3 表article (文章:用于内容管理系统的文章)

3.4 表article_type (文章分类)

3.5 表auth (用户权限管理)

3.6 表collect (收藏)

3.7 表comment (评论)

3.8 表hits (用户点击)

3.9 表notice (公告)

3.10 表pet_adoption (宠物领养)

3.11 表praise (点赞)

3.12 表regular_users (普通用户)

3.13 表seeking_pet_revelation (寻宠启示)

3.14 表sensitive_vocabulary (敏感词汇)

3.15 表slides (轮播图)

3.16 表upload (文件上传)

3.17 表user (用户账户:用于保存用户登录信息)

3.18 表user_group (用户组:用于用户前端身份和鉴权)

第4章 系统详细设计与实现

4.1 普通用户功能模块

4.2 管理员功能模块

4.2.1 系统用户界面

4.2.2 宠物领养管理界面

4.2.3 申请领养管理界面

4.2.4 寻宠启示管理界面

4.2.5 系统管理界面

4.2.6 通知公告管理界面

4.2.7 资源管理界面

第5章 系统测试

5.1 测试目的

5.2 系统测试用例

5.3 系统测试结果

第六章 结论

参考文献

致谢

  1. 绪论
    1. 研究背景

随着人们生活水平的提高,宠物成为越来越多家庭的成员,宠物领养市场也日益繁荣。然而,传统的领养方式,如宠物店购买或通过亲戚朋友赠送,已经不能满足人们的需求。因此,一个方便、快捷、可靠的在线宠物领养网站应运而生。此外,随着互联网的普及和电子商务的迅猛发展,越来越多的人选择在线购物和交易。宠物领养网站正是结合了电子商务的特性,为宠物领养提供了一个全新的平台。用户可以在线浏览各种宠物信息,选择心仪的宠物进行领养,完成支付等操作。这不仅为用户提供了极大的便利性,也提高了领养的成功率和效率。它不仅可以满足社会对宠物领养的需求,提高领养效率和成功率,还可以促进电子商务的发展和创新,推动社会的和谐与进步。

SSM是Java企业级应用中常用的技术组合,包括Spring、SpringMVC和MyBatis三个部分。随着这些技术的不断发展,它们在Web应用开发中展现出了强大的功能和灵活性。使用SSM框架可以快速搭建一个结构清晰、易于维护的宠物领养网站,同时能够满足大规模用户访问的需求。基于SSM的宠物领养网站的研究旨在解决传统领养方式中存在的问题,如信息不对称、领养效率低下等。通过互联网技术,可以更快速、更广泛地传播宠物领养信息,提高领养成功率。

    1. 研究意义

随着社会经济的发展和人们生活水平的提高,宠物已经成为越来越多家庭的重要成

员。与此同时,在线领养平台逐渐成为满足人们领养需求的重要途径。研究基于SSM的宠物领养网站具有重要的意义。

首先,可以提供一个便捷、高效的平台:宠物领养网站可以为用户提供一个便捷、高效的平台,使用户能够更加方便地了解和选择合适的宠物,并且能够及时获取相关的宠物信息和领养流程。

其次,可以优化信息匹配机制:该研究将优化宠物信息的发布和匹配机制,使有意领养宠物的人能够快速找到合适的宠物,提高领养成功率,同时降低宠物领养成本。

再次,可以推动相关产业链的发展:宠物领养网站可以促进宠物行业的发展,推动相关产业链的形成和完善。

最后,可以提升用户体验:通过研究,可以优化宠物领养网站的用户界面和功能,提高用户粘性和活跃度,提升用户体验。

    1. 研究方法

首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。

其次,在开发工具上,选用SSM框架来设计开发本系统,MySQL作为设计数据库的工具。即利用java语言实现用户界面,并同数据库连接起来实现完整的通信功能。

再次,设计出系统大致的功能模块。主要从方便用户和管理员的角度进行分析,明确该系统应该具有的功能。

最后,完成系统测试,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统运行的可靠性和稳定。

    1. 论文结构及章节安排

论文将分层次进行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:绪论。主要介绍了课题研究的背景,研究意义和论文结构与章节安排。

第二章:系统分析。主要从系统的用户、功能等方面进行需求分析。

第三章:系统总体设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统详细设计与实现。主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试。

第六章:结论。主要对系统的设计工作进行总结。

  1. 系统分析
    1. 可行性分析

1)技术可行性分析

SSM是一种基于Java的Web开发框架,它将Spring、Spring MVC和MyBatis三种技术进行整合,能够快速搭建企业级应用。在系统开发过程中,使用SSM框架可以提高开发效率、降低维护成本,并具备良好的可扩展性和可维护性。同时,SSM框架还支持多种数据库,可以方便地实现数据的持久化操作。因此从技术层面分析是可行的。

2)经济可行性分析

相比于其他后端开发框架,SSM的学习曲线较为平缓,开发人员可以快速上手。同时,由于SSM框架的开源性质,可以节约大量的开发成本。此外,随着云服务的普及,项目的部署和维护成本也大大降低。因此,从经济角度来看,基于SSM的宠物领养网站是可行的。

(3)社会可行性

随着宠物经济的快速发展,人们对于宠物领养、交易和服务的需求也在不断增加。因此,开发一个基于SSM的宠物领养网站,可以满足市场的需求。同时,该网站还可以提供宠物相关知识的普及,提高人们对宠物的认识和保护意识。因此,从社会角度来看,该网站也是可行的。

    1. 系统功能分析

按照基于SSM的宠物领养网站的角色,主要划分为普通用户和管理员两大功能模块,具体内容如下。

      1. 普通用户功能模块
  1. 首页:用户可以查看首页展示的轮播图、通知公告、宠物资讯等信息。
  2. 注册登录:用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。
  3. 通知公告:用户可以查看通知公告列表中某一通知公告信息详情。
  4. 宠物资讯:用户可以查看宠物资讯列表中某一资讯详情并可以进行点赞、收藏和发表评论操作。
  5. 宠物领养:用户可以查看宠物领养列表中某一宠物领养详情信息并进行点赞、收藏、发表评论和完成在线申请领养操作
  6. 寻宠启示:用户可以查看宠物启示列表中某一宠物启事信息详情和发表评论
  7. 我的:用户可以修改我的账户中的个人信息和登录密码,可以查看和管理个人中心中的申请领养、寻宠启事和收藏信息。
      1. 管理员功能模块
  1. 后台首页:管理员可以查看后台首页展示的信息。
  2. 系统用户:管理员可以对系统用户信息进行查询、重置、添加和删除操作。
  3. 宠物领养管理:管理员可以查看宠物领养列表中某一领养详情及评论信息,可以对宠物领养列表信息对进行查询、重置和删除操作。
  4. 申请领养管理:管理员可以申请领养列表中某一申请详情并对申请进行审核,可以对申请领养列表信息进行查询、重置、添加和删除操作
  5. 寻宠启示管理:管理员可以可以查看寻宠启示列表中某一启示详情及评论信息,可以对寻宠启事列表信息进行查询、重置、添加和删除操作。
  6. 系统管理:管理员可以对系统轮播图进行查询、重置、添加和删除操作。
  7. 通知公告管理:管理员可以对通知公告信息进行查询、重置、添加和删除操作。
  8. 资源管理:管理员可以查看宠物资讯列表中某一资讯详情及评论信息并进行回复,可以对宠物资讯、资讯分类信息进行查询、重置、添加和删除操作。
  9. 我的:管理员可以修改个人信息和登录密码。

2.3系统非功能性分析

基于SSM的宠物领养网站的非功能性需求比如系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:

2-1 基于SSM的宠物领养网站非功能需求表

安全性

主要指基于SSM的宠物领养网站数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指基于SSM的宠物领养网站能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响基于SSM的宠物领养网站占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着基于SSM的宠物领养网站的页面展示内容进行操作,就可以了。

可维护性

基于SSM的宠物领养网站开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.4系统用例分析

通过2.2功能的分析,本系统用户主要分为普通用户和管理员这两大角色,系统用户角色用例图分别如下图2-1,2-2所示:

普通用户角色用例图如下图2-1所示。

图2-1 普通用户角色用例图

管理员角色用例图如下图2-2所示。

图2-2 管理员角色用例图

2.5系统流程分析

系统流程是用一些特定的符和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,系统流程可以帮助开发人员更好的理解业务,发现错误,完善系统。

2.5.1 数据新增流程

用户成功登入系统后能够实现数据新增的操作,数据新增的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证通过后即可完成新增。数据新增数流程图如下图2-3所示

图2-3数据新增流程图

2.5.2数据修改流程

数据修改时的流程和上面介绍的数据新增的流程相似数据修改的流程如下图2-4所示。

图2-4 数据修改流程图

2.5.3数据删除流程

如果系统里面存在一些没用的数据,相关的管理人员还可以对这些数据进行删除,数据删除流程如下图2-5所示。

图2-5 数据删除流程图

  1. 系统总体设计

本章主要讨论的内容包括基于SSM的宠物领养网站的功能模块设计、数据库系统设计。

3.1 系统架构设计

本基于SSM的宠物领养网站从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1基于SSM的宠物领养网站架构设计图

表现层(UI):又称UI层,主要完成本基于SSM的宠物领养网站的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本基于SSM的宠物领养网站时的舒适度。UI的界面设计也要适应不同版本的基于SSM的宠物领养网站以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本基于SSM的宠物领养网站的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本基于SSM的宠物领养网站的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本基于SSM的宠物领养网站的数据存储和管理功能。

3.2 系统模块设计

3.2.1系统功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本基于SSM的宠物领养网站中的用例。那么接下来就要开始对基于SSM的宠物领养网站主要功能进行设计。基于SSM的宠物领养网站根据前面章节的需求分析得出,其总体功能模块结构图如下图3-2所示。

图3-2 系统功能模块结构图

3.2.2用户模块设计

本系统的用户包括普通用户和管理员这两个模块,系统用户模块的功能基本是相同的,用户模块结构图如下图3-3所示:

图3-3 用户模块结构图

3.2.3评论管理模块设计

基于SSM的宠物领养网站的系统用户可以对宠物资讯进行评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,管理员可以删除不合适的评论,具体的结构图如下图3-4所示:

图3-4 评论管理模块结构图

3.2.4宠物领养管理模块设计

基于SSM的宠物领养网站需要存储不少宠物信息,其模块功能结构,具体的结构图如下图3-5所示:

图3-5 宠物领养管理模块结构图

3.3数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

基于SSM的宠物领养网站中主要的数据库表总E-R实体关系图如下图3-3所示。

图3-3 SSM基于SSM的宠物领养网站E-R图

3.3.2逻辑结构设计

数据库是基于SSM的宠物领养网站的数据处理的基础,也是为界面数据的展示与存储的关键。基于SSM的宠物领养网站的数据库表如下。

    1. 表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

    1. 表applying_for_adoption (申请领养)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

applying_for_adoption_id

int

10

0

N

Y

申请领养ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

pet_type

varchar

64

0

Y

N

宠物类型

5

pet_name

varchar

64

0

Y

N

宠物名称

6

pet_gender

varchar

64

0

Y

N

宠物性别

7

pet_age

varchar

64

0

Y

N

宠物年龄

8

adoption_price

varchar

64

0

Y

N

领养价格

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

pay_state

varchar

16

0

N

N

未支付

支付状态

11

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

    1. 表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

    1. 表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

    1. 表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表pet_adoption (宠物领养)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_adoption_id

int

10

0

N

Y

宠物领养ID

2

pet_type

varchar

64

0

Y

N

宠物类型

3

pet_name

varchar

64

0

Y

N

宠物名称

4

pet_gender

varchar

64

0

Y

N

宠物性别

5

pet_age

varchar

64

0

Y

N

宠物年龄

6

pet_pictures

varchar

255

0

Y

N

宠物图片

7

adoption_price

varchar

64

0

Y

N

领养价格

8

introduction_to_pets

text

65535

0

Y

N

宠物简介

9

adoption_notice

text

65535

0

Y

N

领养须知

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

    1. 表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_phone_number

varchar

16

0

Y

N

用户电话

4

user_gender

varchar

64

0

Y

N

用户性别

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表seeking_pet_revelation (寻宠启示)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

seeking_pet_revelation_id

int

10

0

N

Y

寻宠启示ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

contact_phone_number

varchar

64

0

Y

N

联系电话

5

pet_type

varchar

64

0

Y

N

宠物类型

6

pet_name

varchar

64

0

Y

N

宠物名称

7

pet_gender

varchar

64

0

Y

N

宠物性别

8

pet_age

varchar

64

0

Y

N

宠物年龄

9

pet_pictures

varchar

255

0

Y

N

宠物图片

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感词汇

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

    1. 表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

    1. 表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

  1. 系统详细设计与实现
    1. 普通用户功能模块

4.1.1 前台首页界面

系统首页以上中下布局,正上方是系统的导航栏,中间是轮播图、下面是通知公告、宠物资讯、宠物领养推荐等信息,其界面如下图4-1所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

点击首页右上方的“注册”按钮进入注册页面当填写账号、密码、确认密码、昵称、邮箱、身份等信息后再点击“注册”按钮,系统将会对输入的信息进行验证,通过验证后即可完成注册。其界面如下图4-2所示。

图4-2 用户注册界面图

注册关键代码如下所示

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

4.1.3 用户登录界面

已注册用户点击首页右上方的“登录”按钮进入登录页面输入用户名和密码并点击“登录”按钮,系统将会对输入的信息进行验证,验证通过后即可登录成功。其界面如下图4-3所示。

图4-3 用户登录界面图

登录代码如下:

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

4.1.4 通知公告界面

用户可以查看通知公告列表中某一通知公告信息详情。其界面如下图4-4所示。

图4-4 通知公告界面图

4.1.5 宠物资讯界面

用户可以查看宠物资讯列表中某一资讯详情并可以进行点赞、收藏和发表评论操作,其界面如下图4-5所示:

图4-5 宠物资讯界面图

4.1.6 宠物领养界面

用户可以查看宠物领养列表中某一宠物领养详情信息并进行点赞、收藏、发表评论和完成在线申请领养操作,其界面如下图4-6所示:

图4-6 宠物领养界面图

4.1.7寻宠启示界面

用户可以查看宠物启示列表中某一宠物启事信息详情和发表评论,其界面如下图4-7所示:

图4-7 宠物启示界面图

4.1.8个人中心界面

用户可以查看和管理个人中心中的“申请领养”、“寻宠启示”、“收藏”等信息,如对申领领养、宠物启示信息进行查询、重置、添加和删除操作,对收藏列表信息进行查看和删除操作等。其界面如下图4-8所示:

图4-8 个人中心界面图

    1. 管理员功能模块
      1. 系统用户界面

管理员可以对系统用户信息进行查询、重置、添加和删除操作。其界面如下图4-9所示:

图4-9系统用户界面图

添加的关键代码如下:

    @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

    }

删除的关键代码如下:

   @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

      1. 宠物领养管理界面

管理员可以查看宠物领养列表中某一领养详情及评论信息,可以对宠物领养列表信息对进行查询、重置和删除操作。其界面如下图4-10所示:

图4-10宠物领养管理界面图

图片上传的关键代码如下:

   @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam(value = "file",required=false) MultipartFile file,HttpServletRequest request) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = request.getSession().getServletContext().getRealPath("\\") +"upload\\";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            int lastIndexOf = fileName.lastIndexOf(".");

            String suffix = fileName.substring(lastIndexOf);

            fileName = IdWorker.getId()+suffix;

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

}

      1. 申请领养管理界面

管理员可以申请领养列表中某一申请详情并对申请进行审核,可以对申请领养列表信息进行查询、重置、添加和删除操作。其界面如下图4-11所示:

图4-11申请领养管理界面图

      1. 寻宠启示管理界面

管理员可以可以查看寻宠启示列表中某一启示详情及评论信息,可以对寻宠启事列表信息进行查询、重置、添加和删除操作。其界面如下图4-12所示:

图4-12寻宠启示管理界面图

      1. 系统管理界面

管理员可以对系统轮播图进行查询、重置、添加和删除操作。其界面如下图4-13所示:

图4-13系统管理界面图

      1. 通知公告管理界面

管理员可以对通知公告信息进行查询、重置、添加和删除操作。其界面如下图4-14所示:

图4-14通知公告管理界面图

      1. 资源管理界面

管理员可以查看宠物资讯列表中某一资讯详情及评论信息并进行回复,可以对宠物资讯、资讯分类信息进行查询、重置、添加和删除操作。其界面如下图4-15所示:

图4-15资源管理界面图

  1. 系统测试
    1. 测试目的

无论什么样的系统,测试都至关重要,通过测试可以检查出潜藏的缺陷,从而确保系统的性能和稳定性,避免Bug的出现,并确保系统的功能和性价比达到预期的要求。

    1. 系统测试用例

系统测试包括:用户登录功能、通知公告查看功能、申请领养功能、系统轮播图添加功能、密码修改功能测试,如表5-1、5-2、5-3、5-4、5.5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

通知公告查看功能测试:

表5-2 通知公告查看功能测试表

用例名称

通知公告查看

目的

测试通知公告查看功能

前提

用户登录

测试流程

点击通知公告

预期结果

可以查看到所有系统公告

实际结果

实际结果与预期结果一致

申领领养功能测试:

表5-3 申请领养功能测试表

用例名称

申请领养

目的

测试申请领养功能

前提

用户登录

测试流程

  1. 点击宠物领养列表中某一宠,点击宠物详情下方的“申请领养”;
  2. 填写信息后点击提交

预期结果

在个人中心中的申请领养菜单可以看到已提交的申请领养信息

实际结果

实际结果与预期结果一致

系统轮播图添加界面测试:

表5-4 系统轮播图添加界面测试表

用例名称

系统轮播图添加测试用例

目的

系统轮播图添加功能

前提

管理员用户正常登录情况下

测试流程

1)管理员点击系统管理,然后点击轮播图进入添加页面填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的轮播图信息

实际结果

实际结果与预期结果一致

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试用户密码修改功能

前提

用户正常登录情况下

测试流程

1)用户密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

    1. 系统测试结果

通过编写基于SSM的宠物领养网站的测试用例,已经检测完毕用户登录功能、通知公告查看功能、申请领养功能、系统轮播图添加功能、密码修改功能测试,通过这五大模块的测试为基于SSM的宠物领养网站的后期推广运营提供了强力的技术支撑。

第六章 结论

在开发基于SSM的宠物领养网站之前,我们需对用户的实际需求进行深度剖析。这不仅包括对系统的可行性研究,还包括对功能需求和其他需求的分析。在可行性分析阶段,本人从技术性和经济性等多个角度对系统实现的可能性进行了全面评估,结果表明,该系统的实施是可行的。

本文首先概述了基于SSM的宠物领养网站开发的背景及其意义,接着详细阐述了系统的具体业务需求,并根据这些需求对系统的结构以及功能模块进行设计。我们把这个系统划分为多个独特的功能模块,每个模块都具有其独特的功能和作用。在深入分析系统功能需求的过程中,本人对系统的总体架构和功能模块进行了深入研究,并选择了最适合的系统开发技术来完成各个模块的开发工作。系统开发完成后,对系统进行了部署和测试。测试结果表明,该系统在功能和性能方面都满足了预期的要求,具有较好的稳定性和可靠性。

在开发基于SSM的宠物领养网站的过程中我成长了很多,学习到了很多书本上没有的知识,目前系统虽然已经完成。由于自己专业知识有限,系统做的并不是十分完美,还有许多地方需要改进,比如界面布局方面,代码的编写方面,都可以进一步完善。以后将继续进行努力学习,对系统进行完善,同时希望此系统以后有机会能够投入到实际的使用当中,给人们提供便利。

参考文献

 [1]费天乐,刘君.宠物领养一站式服务平台可行性及运行模式研究[J].国际公关,2023,(12):170-172.

[2]张天翼.中国宠物市场状况分析与研判[J].中国洗涤用品工业,2023,(06):52-59.

[3]王兵.中国宠物市场的发展现状及趋势分析[J].贵州畜牧兽医,2023,47(02):6-8.

[4]颜惠.基于Web的宠物店信息管理系统设计[J].软件,2023,44(02):147-149.

[5]陈治宇.物联网智能宠物管理系统[C]//四川省电子学会,重庆市电子学会,四川省职业技能竞赛研究中心.2022年川渝大学生“数智”作品设计应用技能大赛暨第八届四川省大学生智能硬件设计应用大赛会议论文集.四川师范大学;,2022:8.DOI:10.26914/c.cnkihy.2022.077397.

[6]梁会成,王黎光.基于JSP+SSM在线领养猫咪系统的设计与实现[J].电子制作,2022,30(24):59-62+45.

[7]赵亚洲,杨晓冬.动物领养管理系统的设计与实现[J].无线互联科技,2022,19(18):61-65+72.

[8]庄帅.宠物管理系统的设计及实现[J].福建电脑,2022,38(05):68-72.

[9]笪伟瀚.AI宠物技术应用于宠物领养app的设计研究[J].电子测试,2022,36(09):115-118.

[10]叶欣若,肖松鸿,杨妍.“爱宠e+”宠物综合服务平台开发模式研究[J].电脑知识与技术,2021,17(28):79-80.

[11]韩丽萍.中国宠物市场发展的问题与对策研究[D].上海财经大学,2021.DOI:10.27296/d.cnki.gshcu.2021.000480.

[12]周粉妹,吴仁平,钱荣华等.基于SSM的宠物领养网站设计[J].扬州职业大学学报,2021,25(01):32-35.

[13]王亚文,赵翠.基于SSM框架的社区宠物信息管理系统设计与分析[J].电脑编程技巧与维护,2021,(01):103-105.

[14]吴文洋,刘世宇.基于B/S架构宠物领养管理系统设计[J].软件,2020,41(11):85-87.

[15]叶军,华旭奋,孙晓艳.基于用户体验的互联网+宠物管理系统设计与实现[J].科技创新与应用,2020,(31):87-89.

[16]Jeong S .Design and Implement of Pets Management System using Mobile Phone[J].International Journal of Recent Technology and Engineering (IJRTE),2019,8(2s6):215-218.

[17]Liang C .School Vehicle Management System Based on JAVA Language[J].Academic Journal of Computing  Information Science,2023,6(9):

[18]Hongying Z .A Study on the Design of English Speaking Examination System Based on SSM Framework[J].Journal of Sensors,2022,2022

[19]杨华,徐扬.MySQL数据库对中文编码支持的探讨[J].网络安全和信息化,2023,(10):157-160.

[20]尹应荆.JAVA编程语言在计算机软件开发中的应用[J].石河子科技,2023,(05):45-47.

致谢

首先,我要向我的论文指导老师表达最深的谢意。在整个论文创作过程中,老师始终以无微不至的关怀和指导,陪伴我度过每一个难关。他耐心地指导我,对我的写作提出建设性的意见,这些都极大地帮助了我,让我受益良多。老师严谨的学术态度、敬业精神以及卓越的教学能力,都为我树立了追求卓越的榜样,对我未来的人生道路和学业成就产生了深远的影响。

其次,我要感谢我的同窗好友们,他们既是我的亲密战友,又是我的智慧源泉。正是他们的支持与关怀,使得我在大学期间的学习和生活都充满了乐趣和收获。我要感谢所有在我大学生活中给予我帮助的老师和同学们,是你们给了我前进的动力,让我在学业道路上走得更加坚定。

然后,我要向我深爱的父母表达最真挚的感激。是他们用无私的爱和无尽的耐心,将我抚养成人。他们的养育之恩我将永远铭记在心,我将以我的行动和成绩回报他们的期望。在成长的道路上,我会不断努力,用实际行动来回报他们对我付出的爱。

总的来说,在这篇论文中,我要向所有给予我帮助的人表达最深的谢意,包括指导老师、同学们、家人和朋友们。他们的支持与关爱,让我在学术和个人生活中取得了优异的成绩。我会珍惜这份感恩之情,将这份力量用于学习和未来的生活中,不断追求卓越,努力成为一个更优秀的人。

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值