基于dw的网站设计论文,做网站要准备的需求,百度站内搜索 wordpress,中国建设银行网站上不去摘 要 随着生活水平的持续提高和家庭规模的缩小#xff0c;宠物已经成为越来越多都市人生活的一部分#xff0c;随着宠物的增多#xff0c;流浪的动物的日益增多#xff0c;中国的流浪动物领养和救助也随之形成规模#xff0c;同时展现巨大潜力。本次系统的是基于SSM框架的… 摘 要 随着生活水平的持续提高和家庭规模的缩小宠物已经成为越来越多都市人生活的一部分随着宠物的增多流浪的动物的日益增多中国的流浪动物领养和救助也随之形成规模同时展现巨大潜力。本次系统的是基于SSM框架的流浪动物救助网站管理系统平台用户可以在浏览器登录系统后进行一系列操作结合救助立的实际情况和需求开发流浪动物救助网站。 本课题研究的流浪动物救助网站主要采取Mysql作为后台数据的主要存储单元运用软件工程原理和开发方法采用Java的SSM框架构建完成。完成系统的主要模块的页面设计和功能实现。 关键词流浪动物救助网站 SSM数据库。 SSM homeless animal rescue website Abstract With the continuous improvement of living standards and the reduction of family size, pets have become a part of the life of more and more urban people, the adoption and rescue of stray animals in China has also taken shape on a large scale, showing great potential. The system is based on the SSM framework of the Stray Animal Rescue website management system, platform users can log in the system in the browser after a series of operations, combining the actual situation and needs of the rescue set to develop a stray animal rescue website. Mysql is used as the main storage unit of the background data, and the software engineering principle and development method are used to build the stray animal rescue website. Complete the main module of the system page design and functional realization. Key words:The homeless animal rescue website; SSM; database. 目 录 第1章 绪论 1.1 研究背景与意义 1.2 开发现状 1.3 论文组成结构 第2章 相关技术介绍 2.1 MVVM模式 2.2 Vue.js介绍 2.3 Mysql数据库 2.4 B/S结构 2.5 SSM框架 2.6Vue.js 主要功能 4 第3章 系统分析 5 3.1 可行性分析 5 3.1.1 经济可行性 5 3.1.2 技术可行性 5 3.1.3 操作可行性 5 3.2 功能性需求分析 3.3 非功能性需求分析 9 第4章 系统设计 4.1 功能模块设计 4.2 数据库设计 4.2.1 概念模型设计 4.2.2 数据库逻辑设计 4.2.3 数据库表设计 第5章 系统实现 5.1 用户登录的实现 5.2 系统前台主要功能实现 19 5.3 系统后台主要功能实现 第6章 系统测试 32 6.1 系统可靠性测试 32 6.2 系统功能性测试 32 6.3 系统合格性测试 32 6.4 测试结果 33 第7章 总结与展望 参考文献 致谢 绪论 研究背景与意义 调查显示就我国上海市现今有 100多万只以上的流浪猫并且这个数字还有增长趋势。全国各地的流浪猫流浪狗就更多了。如何解决它们对社会带来的诸多问题成为了社会学者研究的问题。中国目前没有-部完善的《动物保护法》因此无法从根本上解决任意抛弃宠物现象因此需通过立法来规范人与动物的关系。但它们渴望有一个温暖的家因此希望通过流浪动物的救助和保护网站给那些愿意收养流浪动物的人士提供一个收养宠物的平台不能继续饲养宠物的主人也可以将宠物信息挂到网站上或者将捡到的流浪动物的信息放到网站上方便人们进行浏览和领养。 目前流浪动物的保护还处于初级阶段存在救助保护的区域受限制、投资较大、场地偏僻、信息更新发布困难等诸多问题。这些情况导致流浪动物保护所的动物处于“入多出少”的情况这种情况导致收容所的经济、场地等问题日益严峻。在网络技术飞速发展的今天电子商务对人们的影响越来越大小到衣物的买卖大到房屋的交易都可以通过电子商务来进行。人们也越来越习惯足不出户完成很多的个人事务。依赖于Internet的优势将流浪动物救助与其相结合,设计一个基于网络的流浪宠物救助系统是一件刻不容缓的事情。 开发现状 流浪动物救助网站主要是为了对流浪动物的救助和领养工作进行科学化、信息化管理和更好的满足用户和救助网站相互交流的需要主要实现以下目标: (1升级、改造我系现有的毕业生就业信息系统丰富学院网站建设实现信息管理的网络化进一步提高毕业生就业管理的办公效率、工作水平朝着科学化、网络化、信息化目标迈进。 (2完善救助网站管理体制将过去经常采用的张贴通知、电话联系等方式改进为网络信息共享使救助信息管理完全实现信息化、自动化、网络化。 (3建立Internet系统方便本网站内部的信息发布、信息交流和信息共享。以计算机网络技术为核心的流浪动物救助网站充分利用计算机网络技术方便、快捷的特点实现网上救助交流、流浪动物信息资料检索等功能将会使管理者与用户更紧密成一个综合的网络信息共享环境从而通过Internet为用户和救助网站之间的联系提供网络化和信息化的桥梁。 论文组成结构 根据市场调研得到的信息数据利用相关系统开发和设计方法最终设计出流浪动物救助网站。 本文共有七章如下所示。 第一章概述了流浪动物救助网站的研究目的和意义精炼地总结了领域研究情况和未来的研究趋势最后给出了论文的组成结构。 第二章简要概述了本文所用的开发技术和工具。 第三章简要对系统各业务流程进行需求分析、可行性分析。 第四章对流浪动物救助网站进行设计。 第五章对流浪动物救助网站进行实现并贴出相关页面截图语言描述出具体功能实现的操作方法。 第六章对流浪动物救助网站采用测试用例的方式来对一些主要功能模块测试最后得出测试结果。 第七章总结全文并对未来的研究做出展望。 相关技术介绍 MVVM模式 MVVM是Model-View-ViewModel的简写。它本质上就是MVVM 的改进版。MVVM 就是将其中的View 的状态和行为抽象化让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验如Silverlight、音频、视频、3D、动画……这导致了软件UI层更加细节化、可定制化。同时在技术层面WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVMModel-View-ViewModel框架的由来便是MVPModel-View-Presenter模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去以应对客户日益复杂的需求变化。 Vue.js 介绍 Vue (读音 /vjuː/类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是Vue被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层不仅易于上手还便于与第三方库或既有项目整合。另一方面当与现代化的工具链以及各种支持类库结合使用时Vue 也完全能够为复杂的单页应用SPA提供驱动。 Mysql数据库 科技的进步给日常带来许多便利教室的投影器用到了虚拟成像技术数码相机用到了光电检测技术比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库而这次的养老院管理系统也需要这项技术的支持。 用MySQL这个软件是因为它能接受多个使用者访问而且里面存在Archive等。它会先把数据进行分类然后分别保存在表里这样的特别操作就会提高数据管理系统自身的速度让数据库能被灵活运用。MySQL的代码是公开的而且允许别人二次编译升级。这个特点能够降低使用者的成本再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点但是综合各方面来说它是使用者的主流运用的对象。 B/S结构 B/SBrowser/Server比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端那么工作就达到“瘦身”效果 不需要考虑不停装软件的问题。 SSM框架 SSM即SpringMVCSpringMybatis这三个框架有各自最独有的优势那么将它们组合在一起能够碰撞出很强的火花.设计者在不需消耗大量功夫能做出Web应用程序而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点.这个复合框架形成一个有着结构完整、功能强大和结构良好的体系SpringMVC使各板块分离Spring使开发更灵活方便使用Mybatis让开发者直接对对象进行操纵各层次分工明细并实现各个层次间的解耦让代码更加的灵活精简.这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏也能在后期应对客户对产品提出的新需求. Vue.js 主要功能 Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层并且非常容易学习非常容易与其它库或已有项目整合。另一方面Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。 Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。 Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习非常容易与其它库或已有项目整合。另一方面在与相关工具和支持库一起使用时Vue.js 也能驱动复杂的单页应用。 系统分析 可行性分析 本系统将在经济、技术、操作这三个角度上进行可行性分析。 经济可行性 整个系统从设计到开发以及测试过程严谨步骤齐全所有工作任务全部由本人完成并未获取外部技术支持节约了一切服务成本开销以及人工成本在硬件方面为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器成本在一万元一下真个网络部署也是由本人独立完成不涉及到其他人工费用整个开发过程本着低成本低消耗的原则。 技术可行性 技术可行性分析的目的是确认该系统能否利用现有技术实现并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于SSM框架所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少所以用Mysql数据库开发和设计软件理论上没有问题因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。 操作可行性 流浪动物救助网站的使用界面简单易于操作采用常见的界面窗口来登录界面通过电脑进行访问操作用户只要平时使用过电脑都能进行访问操作。此系统的开发采用SSM框架开发人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。 功能性需求分析 前台功能需求 浏览首页内容。 个人资料修改个人信息修改密码。 交流论坛发布帖子内容和查看所有用户发布的帖子内容可以进行点赞收藏评论等操作。 公告信息浏览网站公告信息。 宠物百科可以搜索宠物信息查看宠物信息详情点赞收藏评论等功能。 流浪动物可以关键字搜索动物名称品种性别选择对应的流浪动物的信息可以查看动物详情内容可以点击领养填写领养信息。 团队活动查看所有团队活动信息可以报名团队活动。 后台功能需求 管理员 轮廓图管理管理发布轮廓图。 公告信息管理可以添加发布公告信息内容。 资源管理管理发布宠物百科内容百科分类等。 交流管理管理交流论坛内容查看评论论坛分类等功能。 系统用户管理所有注册用户信息资料可以删除添加修改等功能。 模块管理管理流浪动物品种管理领养管理活动报名等模块。 用户用例图如下所示。 图3-1用户用例图 管理员用例图如下所示。 图3-2管理员用例图 流浪动物管理用例描述如下表所示。 表3-1流浪动物用例描述 用例名称 添加流浪动物信息 参与者 管理员 用例概述 本用例用于管理员进行添加流浪动物信息操作 前置条件 管理员添加流浪动物信息前必须登录系统 后置条件 系统中添加新流浪动物信息功能 基本事件流 参与者动作 系统响应 管理员在后台主界面选择“新增”。4、管理员填写新流浪动物信息点击“添加”按钮。 2、系统打开添加新流浪动物信息界面。 3、系统检查管理员输入的流浪动物信息信息是正确有效的。 5、系统将流浪动物信息数据倒入数据库中。 6、系统提示“操作成功”。 7、系统跳转到流浪动物管理界面。 其他事件流 系统验证管理员输入的流浪动物信息名为空则提示“*请填写流浪动物信息名称”。 流浪动物信息删除用例描述如下表所示。 表3-2流浪动物信息删除用例描述 用例名称 删除流浪动物信息 参与者 管理员 用例概述 本用例用于管理员进行流浪动物信息删除操作 前置条件 管理员删除流浪动物信息必须登录系统 后置条件 系统中删除一个流浪动物信息 基本事件流 参与者动作 系统响应 1、管理员在后台主界面选择“流浪动物信息管理”。 4、管理员选择一个流浪动物信息点击“删除”按钮。 6、管理员点击“确定”按钮。 2、系统从数据库中获取流浪动物信息信息列表 3、系统打开流浪动物信息管理界面。 5、系统提示“你确定要删除吗”。 7、系统将流浪动物信息从数据库中删除。 8、系统提示“删除成功”。 9、系统跳转到流浪动物信息管理界面。 其他事件流 无 用户编辑用例描述如下表所示。 表3-3用户编辑用例描述 用例名称 修改用户 参与者 管理员 用例概述 本用例用于管理员进行修改用户信息操作 前置条件 管理员已经登录系统 后置条件 系统中更新一条用户记录 基本事件流 参与者动作 系统响应 1、管理员在后台主界面选择“用户管理”。 4、管理员在用户列表中选择一个用户点击“编辑”按钮。 6、管理员填写用户信息点击“保存修改”按钮。 2、系统从数据库中获取用户信息。 3、系统打开用户列表界面。 5、系统打开修改用户信息界面。 7、系统将更改后的添加到数据库中。 8、系统提示“操作成功”。 9、系统跳转到用户管理界面。 其他事件流 无 非功能性需求分析 随着用户量的增加系统可能会需要同时服务上千、上万个页面服务器需要同时响应大量用户的操作这就要求系统需要有良好的可扩展性否则系统会出现延迟卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。 系统中保存了大量用户和管理员的个人信息因此保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性只有一个健壮安全的系统才能具有长久的生命力。 系统设计 功能模块设计 通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同将系统分为各种功能大块。系统功能结构如下图所示。 图4-1系统功能结构图 注册/登录 游客(未进行注册或登陆的用户)可以浏览、搜索流浪动物信息资讯用户注册首先需要进行表单验证来验证用户名和手机号码是否合法然后验证用户名和手机号是否已经存在验证通过即可注册。 注册成功后用户可以通过输入用户名来登录系统输入密码后进行验证。登录成功后用户可以使用公告信息浏览、宠物百科搜索、个人中心、收藏管理等功能。 个人信息管理 用户登录系统后在账户设置中可以修改昵称、头像、手机号、登陆密码等个人基本信息。 流浪动物信息搜索 系统首页展示了流浪动物信息搜索输入框用户在输入框内输入与流浪动物信息名称相关的关键字系统通过模糊查询搜索到用户需要的流浪动物信息并展示。 流浪动物信息展示 用户在浏览流浪动物信息详情时点击某一个流浪动物信息信息跳转到该流浪动物信息信息的详情展示页。在流浪动物信息信息页面展示了流浪动物信息的详情信息比如流浪动物信息介绍流浪动物信息照片等用户通过浏览信息了解主要内容最终决定是否领养。 品种管理 管理员根据流浪动物品种分类、流浪动物品种详情信息进行分类管理。 数据库设计 概念模型设计 概念设计包括实体和联系两部分如该系统中用户是一个实体其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联包括一对一、一对多、多对多三种类型。 系统E-R图如下所示。 图4-2系统E-R图 数据库逻辑设计 针对系统的实体和属性结合数据设计思想对系统的逻辑设计的内容进行如下描述。 流浪动物信息流浪动物名称、流浪动物品种流浪动物性别流浪动物年龄志愿用户帐号领养内容等。 用户信息用户姓名性别照片电话等。 数据库表设计 数据库表是设计和实现系统的一个重要基础。以下列出了流浪动物救助网站几个重要的数据库表。 表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 更新时间 表adoption_information (领养信息) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 adoption_information_id int 10 0 N Y 领养信息ID 2 animal_number varchar 64 0 Y N 动物编号 3 animal_name varchar 64 0 Y N 动物名称 4 animal_species varchar 64 0 Y N 动物品种 5 animal_gender varchar 64 0 Y N 动物性别 6 animal_age varchar 64 0 Y N 动物年龄 7 animal_regions varchar 64 0 Y N 动物地区 8 volunteer_users int 10 0 Y N 0 志愿用户 9 user_name varchar 64 0 Y N 用户姓名 10 contact_number varchar 64 0 Y N 联系电话 11 adoption_content text 65535 0 Y N 领养内容 12 adoption_notes text 65535 0 Y N 领养备注 13 examine_state varchar 16 0 N N 未审核 审核状态 14 examine_reply varchar 16 0 Y N 审核回复 15 recommend int 10 0 N N 0 智能推荐 16 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 17 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表event_registration (活动报名) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 event_registration_id int 10 0 N Y 活动报名ID 2 activity_number varchar 64 0 Y N 活动编号 3 activity_name varchar 64 0 Y N 活动名称 4 event_date date 10 0 Y N 活动日期 5 volunteer_users int 10 0 Y N 0 志愿用户 6 user_name varchar 64 0 Y N 用户姓名 7 contact_number varchar 64 0 Y N 联系电话 8 registration_content text 65535 0 Y N 报名内容 9 examine_state varchar 16 0 N N 未审核 审核状态 10 examine_reply varchar 16 0 Y N 审核回复 11 recommend 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 更新时间 表forum (论坛) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 forum_id mediumint 8 0 N Y 论坛id 2 display smallint 5 0 N N 100 排序 3 user_id mediumint 8 0 N N 0 用户ID 4 nickname varchar 16 0 Y N 昵称[0,16] 5 praise_len int 10 0 Y N 0 点赞数 6 hits int 10 0 N N 0 访问数 7 title varchar 125 0 N N 标题 8 keywords varchar 125 0 Y N 关键词 9 description varchar 255 0 Y N 描述 10 url varchar 255 0 Y N 来源地址 11 tag varchar 255 0 Y N 标签 12 img text 65535 0 Y N 封面图 13 content longtext 2147483647 0 Y N 正文 14 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间 15 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 16 avatar varchar 255 0 Y N 发帖人头像 17 type varchar 64 0 N N 0 论坛分类[0,1000]用来搜索指定类型的论坛帖 表group_activities (团队活动) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 group_activities_id int 10 0 N Y 团队活动ID 2 activity_number varchar 64 0 Y N 活动编号 3 activity_name varchar 64 0 Y N 活动名称 4 activity_status varchar 64 0 Y N 活动状态 5 event_date date 10 0 Y N 活动日期 6 cover_photo varchar 255 0 Y N 封面图片 7 activity_content longtext 2147483647 0 Y N 活动内容 8 hits int 10 0 N N 0 点击数 9 praise_len int 10 0 N N 0 点赞数 10 recommend int 10 0 N N 0 智能推荐 11 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 12 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表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 更新时间 系统实现 用户登录的实现 用户注册完成后点击“登陆”进入到登陆页面输入用户名和密码点击“登陆”按钮对用户名和密码进行验证根据传入的用户名和密码在数据库中是否能查询到一条用户信息若不能返回用户信息则登陆失败页面提示用户名或密码错误。 登录界面如下图所示。 图5-1登录界面 用户登录的逻辑代码如下所示。 /** * 登录 * param data * param httpServletRequest * return */ PostMapping(login) public MapString, Object login(RequestBody MapString, 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; MapString, String map new HashMap(); if(username ! null .equals(username) false){ map.put(username, username); resultList service.select(map, new HashMap()).getResultList(); } else if(email ! null .equals(email) false){ map.put(email, email); resultList service.select(map, new HashMap()).getResultList(); } else if(phone ! null .equals(phone) false){ map.put(phone, phone); resultList service.select(map, new HashMap()).getResultList(); }else{ return error(30000, 账号或密码不能为空); } if (resultList null || password null) { return error(30000, 账号或密码不能为空); } //判断是否有这个用户 if (resultList.size()0){ return error(30000,用户不存在); } User byUsername (User) resultList.get(0); MapString, String groupMap new HashMap(); groupMap.put(name,byUsername.getUserGroup()); List groupList userGroupService.select(groupMap, new HashMap()).getResultList(); if (groupList.size()1){ return error(30000,用户组不存在); } UserGroup userGroup (UserGroup) groupList.get(0); //查询用户审核状态 if (!StringUtils.isEmpty(userGroup.getSourceTable())){ String sql select examine_state from userGroup.getSourceTable() WHERE user_id byUsername.getUserId(); String res String.valueOf(service.runCountSql(sql).getSingleResult()); if (resnull){ return error(30000,用户不存在); } if (!res.equals(已通过)){ return error(30000,该用户审核未通过); } } //查询用户状态 if (byUsername.getState()!1){ return error(30000,用户非可用状态不能登录); } String md5password service.encryption(password); if (byUsername.getPassword().equals(md5password)) { // 存储Token到数据库 AccessToken accessToken new AccessToken(); accessToken.setToken(UUID.randomUUID().toString().replaceAll(-, )); accessToken.setUser_id(byUsername.getUserId()); tokenService.save(accessToken); // 返回用户信息 JSONObject user JSONObject.parseObject(JSONObject.toJSONString(byUsername)); user.put(token, accessToken.getToken()); JSONObject ret new JSONObject(); ret.put(obj,user); return success(ret); } else { return error(30000, 账号或密码不正确); } } 系统前台主要功能实现 首页的实现 用户界面要尽量简洁大方使用户能够方便找到需要的功能入口浏览、流浪动物信息资讯商城信息、流浪动物信息信息等同时还要保证用户合法和系统安全。 首页界面如下图所示。 图5-2首页界面 用户注册的实现 用户进入系统首页后点击“注册”链接进入到注册页面按照页面提示输入用户名、密码和手机号页面进行表单验证验证输入的用户名和手机号是否合法表单验证通过后点击“立即注册”按钮利用 Ajax 技术对用户名和手机号实现页面无刷新验证检测数据库中是否已经存在该用户名或手机号若数据库中不存在则注册成功注册成功后自动跳转到登录页面。 用户注册界面如下所示。 图5-3用户注册界面 用户注册逻辑代码如下 /** * 注册 * param user * return */ PostMapping(register) public MapString, Object signUp(RequestBody User user) { // 查询用户 MapString, String query new HashMap(); query.put(username,user.getUsername()); List list service.select(query, new HashMap()).getResultList(); if (list.size()0){ return error(30000, 用户已存在); } user.setUserId(null); user.setPassword(service.encryption(user.getPassword())); service.save(user); return success(1); } /** * 用户ID[0,8388607]用户获取其他与用户相关的数据 */ Id GeneratedValue(strategy GenerationType.IDENTITY) Column(name user_id) private Integer userId; /** * 账户状态[0,10](1可用|2异常|3已冻结|4已注销) */ Basic Column(name state) private Integer state; /** * 所在用户组[0,32767]决定用户身份和权限 */ Basic Column(name user_group) private String userGroup; /** * 上次登录时间 */ Basic Column(name login_time) private Timestamp loginTime; /** * 手机号码[0,11]用户的手机号码用于找回密码时或登录时 */ Basic Column(name phone) private String phone; /** * 手机认证[0,1](0未认证|1审核中|2已认证) */ Basic Column(name phone_state) private Integer phoneState; /** * 用户名[0,16]用户登录时所用的账户名称 */ Basic Column(name username) private String username; /** * 昵称[0,16] */ Basic Column(name nickname) private String nickname; /** * 密码[0,32]用户登录所需的密码由6-16位数字或英文组成 */ Basic Column(name password) private String password; /** * 邮箱[0,64]用户的邮箱用于找回密码时或登录时 */ Basic Column(name email) private String email; /** * 邮箱认证[0,1](0未认证|1审核中|2已认证) */ Basic Column(name email_state) private Integer emailState; /** * 头像地址[0,255] */ Basic Column(name avatar) private String avatar; /** * 创建时间 */ Basic Column(name create_time) JsonFormat(pattern yyyy-MM-dd HH:mm:ss) private Timestamp createTime; Basic Transient private String code; } 宠物百科模块的实现 用户点击宠物百科栏目进入页面可以在搜索框里局部搜索宠物相关文章内容选择对应的宠物文章内容点击进去可以查看内容详情用户可以点赞收藏报名评论等操作。 宠物百科首页界面如下图所示。 图5-4宠物百科首页界面 流浪动物模块的实现 用户点击流浪动物栏目可以关键字搜索动物名称品种性别选择对应的流浪动物的信息可以查看动物详情内容可以点击领养填写领养信息。 流浪动物界面如下图所示。 图5-5流浪动物界面 系统后台主要功能实现 用户管理的实现 管理员对系统用户的管理在yhzhgl.Java实现管理员用户的管理包括录入、删除、修改修改密码通过SESSION获取用户名然后输入新密码提交到mod.Java中使用sql命令更新密码。 资源管理的实现 管理员可以获取系统中宠物百科信息列表并对其进行编辑和百科分类。管理员在添加宠物百科时需要输入基本内容和上传封面图等添加宠物百科完成数据库宠物百科表添加一条信息。也可以对宠物百科列表删除和修改操作。 资源管理界面如下图所示。 图5-6资源管理界面 资源管理界面逻辑代码如下 RequestMapping(value {/avg_group, /avg}) public MapString, Object avg(HttpServletRequest request) { Query count service.avg(service.readQuery(request), service.readConfig(request)); return success(count.getResultList()); } 流浪动物管理的实现 管理员在后台管理界面点击流浪动物信息栏目可以搜索当前所有流浪动物信息并可对其进行新增删除修改查询等操作。 流浪动物管理界面如下图所示。 图5-7流浪动物管理界面 流浪动物信息添加界面如下图所示。 图5-8流浪动物信息添加界面 流浪动物管理的逻辑代码如下 PostMapping(/add) Transactional public MapString, Object add(HttpServletRequest request) throws IOException { service.insert(service.readBody(request.getReader())); return success(1); } Transactional public MapString, Object addMap(MapString,Object map){ service.insert(map); return success(1); } public MapString,Object readBody(BufferedReader reader){ BufferedReader br null; StringBuilder sb new StringBuilder(); try{ br reader; String str; while ((str br.readLine()) ! null){ sb.append(str); } br.close(); String json sb.toString(); return JSONObject.parseObject(json, Map.class); }catch (IOException e){ e.printStackTrace(); }finally{ if (null ! br){ try{ br.close(); }catch (IOException e){ e.printStackTrace(); } } } return null; } public void insert(MapString,Object body){ StringBuffer sql new StringBuffer(INSERT INTO ); sql.append().append(table).append().append( (); for (Map.EntryString,Object entry:body.entrySet()){ sql.append(humpToLine(entry.getKey())).append(,); } sql.deleteCharAt(sql.length()-1); sql.append() VALUES (); for (Map.EntryString,Object entry:body.entrySet()){ Object value entry.getValue(); if (value instanceof String){ sql.append().append(entry.getValue()).append().append(,); }else { sql.append(entry.getValue()).append(,); } } sql.deleteCharAt(sql.length() - 1); sql.append()); log.info([{}] - 插入操作{},table,sql); Query query runCountSql(sql.toString()); query.executeUpdate(); } 领养管理的实现 领养管理界面如下图所示。 图5-9领养管理界面 系统测试 系统可靠性测试 以进入系统首页的访问速度为例展示系统的性能测试系统的主要用户是宠物救助和领养系统要在3秒钟内响应需要完成页面的首页轮播图片、流浪动物信息列表、宠物百科以及各功能模块入口等元素的显示。 系统功能性测试 功能性测试是指执行指定的工作流程通过对一个系统的所有特性和功能都进行测试确保符合需求和规范。 系统功能性测试表如下表所示。 表6-1系统功能性测试表 编号 测试功能 测试内容 测试结果 1 用户登录 1验证用户名与密码的正确性。 2验证密码是否可见。 通过 2 首页展示 1首页数据是否成功加载。 2验证搜索功能的准确性。 3验证是否可以异步加载。 4验证导航栏按钮。 通过 3 个人信息修改 1验证登录名是否可以正常更改。 2验证联系方式是否可以更改。 3验证收货地址可以正常修改。 4验证密码是否可以修改。 通过 7 流浪动物信息管理 1验证信息新增是否可以成功。 2验证信息删除是否可以成功。 通过 8 品种管理 1品种信息是否与上传一致。 2是否能完成信息修改。 3验证品种管理发布修改。 通过 9 领养管理 1能否正常进行领养管理。 2验证数据准确性。 通过 10 用户管理 1验证用户录入功能。 2验证用户修改信息功能。 通过 系统合格性测试 集成测试后所有的模块已经全部连接完毕形成了一个完整的系统。合格性测试是在集成测试完毕后进一步对系统进行综合性的检测。经过合格性测试可以检查出系统是否符合系统的设计能够完成需求的所有功能。本系统经过最后的测试所有模块功能都能按预定要求工作。 测试结果 在实际测试中经过一系列系统性的测试使我们能够及时发现一些系统在设计中出现的疏忽和漏洞。经过严密的测试不仅发现了模块内部的错误也查找到模块连接后产生的错误。经过测试对系统产生错误的地方进行优化、修改和完善使得系统能够实现最初设计的基本功能。 总结与展望 此时项目已经完成即使实施的时间不是很长但是在这个过程中需要准备很长的一段时间去对系统设计开发所实际用到的技术进行学习和巩固。在学习的过程中我逐渐认识到了我自身存在的一些不足。对于一些控制是必要的应用技能能够理解整个过程中仅仅是掌握了常用的性能和控制方法我觉得还是相对来说挺容易的。从该系统中系统的分析和设计的调查数据已经经历了几个月并且努力了几个月该系统现在已经完成。很显然该系统仍有很多不成熟的地方在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题主要通过找专业的网站和论坛来解决这些问题对于圆满完成我的毕业设计他们也贡献了很大一部分力量。 系统的开发环境和配置都是可以自行安装的系统使用Java开发工具使用比较成熟的mysql数据库进行对系统前台及后台的数据交互根据技术语言结合需求对数据库进行修改维护可以使得系统运行更具有稳定性和安全性从而完成实现系统的开发。 在设计系统的过程中还遇到了一个棘手的问题那就是自己的英语水平还有待提高很多关于网站技术开发的资料文献都是英文版的关键词语以及技术性词汇不能很好的理解。只有在借助翻译软件的实时性翻译功能的辅助下才勉强看懂。显然英语水平的高低直接影响到系统的开发过程。 回顾毕业设计的整个过程既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难自己也在不断研究与探索可是系统的实现仍有许多不足之处。但是经过系统编程工作的学习让我有了更多的信心相信在未来的路上我会走的更好。 参考文献
[1]包彤,李潍,于项毅,毛岩,郭婧,张效伟,于红霞,史薇.面向化学品风险管理的数据库比较与分析[J/OL].环境化学:1-15[2023-04-19].
[2]王钊.数据库技术在信息管理中的应用[J].现代工业经济和信息化,2023,13(01):142-144
[3]黄东海.基于三层架构的网络信息平台数据库建设研究[J].经纬天地,2022(06):48-52.
[4]陈素芳.数据库技术在测绘工程项目管理中的应用[J].电子技术,2022,51(12):174-175.
[5]秦蓉.信息管理中的数据库技术应用分析[J].电子技术,2022,51(12):176-177.
[6]孙璐荣.基于计算机软件工程的数据库编程技术探析[J].无线互联科技,2022,19(22):59-61.
[7]周粉妹,吴仁平,钱荣华,陈思.基于SSM的宠物领养网站设计[J].扬州职业大学学报,2021,25(01):32-35.
[8]王亚文,赵翠.基于SSM框架的社区宠物信息管理系统设计与分析[J].电脑编程技巧与维护,2021(01):103-105
[9]姜苏. 基于互联网平台解决社会流浪动物问题的可行性研究[D].山东农业大学,2020.
[10]刘洛佳,曹双双.“互联网”时代宠物共享饲养平台构建[J].电脑知识与技术,2019,15(29):40-42.
[11]杨华. 基于SSM的宠物店信息系统的设计与实现[D].吉林大学,2019.
[12]纪好. 流浪动物救助公益服务设计研究[D].武汉理工大学,2019.
[13]王波,同雯,王梓昕,李子杰.基于APPCAN的流浪动物救助APP系统设计[J].电脑知识与技术,2019,13(36):76-7779.
[14] Sun Lulong. Analysis of database programming technology based on computer software engineering [ J ] . Wireless Internet technology, 2022,19(22) : 59-61.
[15] Wang Ya-wen, Zhao Cui. Design and analysis of community pet information management system based on SSM framework [ J ] . Computer programming skills and maintenance, 2021(01) : 103-105 致谢
时间过得真快眨眼之间大学四年的学习生活即将结束无论是在学习还是生活的这四年老师们给了我很多帮助让我终身受益匪浅。老师们不仅帮我树立了正确的人生观和价值观还帮我养成了很多好习惯树立了终身学习的意识。在此我要对我的所有老师表示衷心的感谢。与此同时我还要感谢陪伴我在这四年里一起成长的伙伴们。他们给了我无私的帮助和关怀让我在人生最好的四年中获得许多真诚的友谊。
毕业设计是大学四年的最后一个答卷我们正忙着这四年的美好结束。在毕业项目主题选择的早期阶段我很紧张担心自己选择的主题很复杂难以理解觉得不能这样做会影响我的毕业。是指导老师给我们提供了毕业设计的主题和具体要求让我们对毕业设计不要太模糊如果对主题有任何异议要及时跟他沟通并且还帮我们介绍他带过的优秀学哥学姐对我们进行指导这样再设计上遇到的问题就可以及时得到解决对我们完成毕业设计提供好的指导条件。
对于毕业设计项目主要是对我在大学所学的专业知识进行一次综合的考验让我们通过所学的技术知识可以真正的运用到实际动手开发中通过项目的开发让我意识到自己很多地方的不足所学知识的不扎实不能很好的将自己所学的知识运用到系统实际开发上。后来通过自己在图书馆查阅大量书籍完成系统的设计大纲阅读笔记和翻译毕业设计不仅要考验我们的个人能力还要测验我们的学习态度做到细节的事情。对于指导老师的帮助我的毕业设计才可以顺利的完成我非常感谢。
最后要感谢我的同学们是你们不断的帮助、鼓励、熬夜、保持调试测试程序最终完成健康养老平台的运行。我们在交流谈论时间将是我们未来的财富我要深深地感谢你。 免费领取项目源码请关注❤点赞收藏并私信博主谢谢-