admin管理员组文章数量:1530022
🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的网站项目。
- 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
- 《Springboot网站项目》400套
- 《ssm网站项目》800套
- 《小程序项目》300套
- 《App项目》500套
- 《Python网站项目》600套
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目展示
摘 要
本课题是根据用户的需要以及网络的优势建立的一个宠物领养系统,来满足用宠物领养的需求。
本宠物领养系统应用JSP技术,Java语言,MYSQL数据库存储数据,基于B/S结构开发。在网站的整个开发过程中,首先对系统进行了需求分析,设计出系统的主要功能模块,其次对网站进行总体规划和详细设计,最后对宠物领养系统进行了系统测试,包括测试概述,测试方法,测试方案等,并对测试结果进行了分析和总结,进而得出系统的不足及需要改进的地方,为以后的系统维护和扩展提供了方便。
本系统布局合理、色彩搭配和谐、框架结构设计清晰,具有操作简单,界面清晰,管理方便,功能完善等优势,有很高的使用价值。
关键词:JSP技术,宠物领养,MYSQL数据库,B/S结构
Keywords: JSP technology, pet adoption, MYSQL database, B/S structure
- 引言
- 课题背景
在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。
在现在的社会生活中,人们的生活品质不断的提高,物质的需求也相应的得到了满足。但是也有一些人在物质上的满足并不能填满心里的孤寂。当一个人在外拼搏,就算在工作氛围中有很多人的陪伴,但是回家也可能会是一个冷冷清清的环境。所以这时候如果有了一个宠物的陪伴,心里的孤寂也会得到很大的慰藉,饲养宠物可以给我们带来快乐,也让我们的心灵得到慰藉。这让用户宠物领养的需求日益在增加,但是人们在领养宠物方面却缺乏一个很好的平台,针对这一情况,开发了本宠物领养系统,为用户通过一个全新的宠物领养的平台,提高效率。
-
- 设计原则
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
-
- 论文组织结构
第一章主要是简单的介绍下设计本网站的研究背景、设计原则,在这一章里主要是让大家了解下我的设计的前因后果,为接下来我的其它章节做铺垫。
第二章主要是介绍在设计过程中所涉及到的技术。
第三章主要是介绍下设计这个网站所需要的需求以及我们的功能需求分析,因为只有更好的分析清楚我们的功能需求才能更好的完成我们的设计。
第四章网站系统设计,主要介绍了网站结构的设计以及展示了数据库E-R图设计,这一章主要是为了能让大家更好的了解网站的一些基本设计信息。
第五章系统的实现,介绍了系统每个模块的设计与实现,让大家能清晰的了解系统的主要功能。
第六章系统的测试,这章主要是测试下各个部分每个功能是否能用,看下是否有错误。
第七章总结,进行最后的总结工作。
- 系统关键技术
- JSP技术
JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html) [7]。
JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jsp这种编程语言不仅容易学习,而且还具备许多高级的特性。在程序的开发过程中,使用jsp也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,jsp都能很轻松地解决,帮助程序开发者省下许多时间,JSP 新版本的发布,标志着一个全新的JSP时代的到来,它最大的特点就是引入了面向对象的全部机制,并保留了向下的兼容性[8]。综上所述,使用JSP,可以自由的选择操作系统、Web服务器以及合适的数据库管理系统。同时,设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者也可以两种都使用,可以称为混和方式设计。
JSP的优点:编写一次,始终运行。还有jsp可以延展可以缩短的强大优势,还有就是支持多种开发语言并且兼容性好,适用于很多平台顺利运行。
-
- JAVA技术
Java是面向对象进行编程的一门语言,基础语法和C语言、C++都差不多,Java删除了C++里面的多指针、继承、自动的强制类型转换等,Java的JVM还可以自动进行垃圾回收,减少了程序员的后顾之忧。最重要的一点是Java语言是支持跨平台的,这使Java语言的使用更加广泛。
JDK(Java Development Kit)是Java语言的软件开发工具包。Java开发中JDK是最重要的核心,JDK里面有JRE,包括client和server端的。环境变量需要配置好。[1]
JRE(JAVA Runtime Environment)是支持Java程序运行的标准环境,JRE里面只有client运行环境,会自动的添加PATH 。
-
- B/S结构
此次设计的网络结构模式B/S结构(Browser/Server)。B/S架构也称为B/S模式,是一种服务器以及浏览器架构模式。B/S的工作模式都是先由浏览器请求,服务器再响应。B/S体系结构解决了异构系统中的连接难题,大大改善了系统的开放性,让系统的扩展和维护更加简单;同时,B/S体系结构操作也比较容易,界面全都为浏览器模式,容易分发数据的捕获程序。只要安装通用的浏览器(如WWW浏览器)就能通过Web服务器与数据库进行数据交互。此结构的好处之一在于由于它使用的统一的浏览器,使其可以在不同的地方且不需要用专门的软件进行操作,实现了不论你使用怎样的接入网的方式都可以对公共的数据进行调用和浏览。
相对于C/S模式,B/S模式是对C/S模式应用的扩展,B/S模式不用对不同的计算机安装不同应用程序,还有安全性的要求及对模式上手难度都比前者更好。B/S模式可以让客户机的压力大大减轻,工作的负荷被合理的分配了。
图2-1 B/S模式三层结构图
-
- MYSQL数据库
MySQL 是关系型数据库管理系统的代表, 因为MySQL是其免费开源的,而且MySQL的功能已经足够用对于学习和中小型企业来讲,所以开发中小型网站都会选择MySQL作为网站的数据库。[13]
MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知[3]。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。
- 系统分析
- 可行性分析
本节通过对系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。
-
-
- 操作可行性
-
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。
-
-
- 经济可行性
-
由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。
-
-
- 技术可行性
-
本系统使用Java语言作为后面控制层编码的语言,Java语言有面向对象的特点,所以使用它会让整体结构更加的清晰[3]。JSP将内容的生成和显示进行分离以为方便进行动态网站的开发[4]。同时使用mysql存储数据,保证数据不会丢失。此系统在技术上来说是非常成熟的,可以进行非常平稳的技术开发。
-
-
- 法律可行性
-
本课题开发和运行的宠物领养系统没有任何与国家法律法规相违背的之处。而且宠物领养系统所使用的操作方式是根据一般大众的日常习惯研发的,操作简单易懂,便于管理。所以具有法律可行性。
从上面几个部分的可行性分析得出,这次开发的宠物领养系统在开发上面没有什么大问题,值得开发。
-
- 系统功能分析
本宠物领养系统主要包括两大功能模块,即管理员模块、用户模块。下面将对这两个大功能进行具体功能需求分析。
(1)管理员:管理员登录后主要功能包括个人中心、用户管理、送养宠物管理、地区类型管理、失信黑名单管理、申请领养管理、宠物秀管理以及系统管理。管理员用例图如图3-1所示。
图3-1管理员用例图
(2)用户:用户进入系统前台可查看系统信息,包括网站首页、送养宠物、失信黑名单以及宠物秀等。用户要想实现宠物领养操作,必须进行登录系统,未有账号用户可进入注册界面进行注册操作,注册登录后主要功能包括个人中心、送养宠物管理、失信黑名单管理、申请领养管理以及宠物秀管理。用户用例图如图3-2所示。
图3-2用户用例图
-
- 系统性能分析
(1)系统的存储性:因为是宠物领养系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。
(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。
(4)系统稳定性:开发的宠物领养系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(5)系统的兼容性:该系统采用Java技术开发。Web开发采用Java Servlet和JSP应用程序,可以在Linux和Windows等平台上使用,具有良好的兼容性。
-
- 系统流程分析
- 注册流程
- 系统流程分析
未有账号的用户可进行注册操作,注册流程图如图3-3所示。
图3-3 注册流程图
-
-
- 登录流程
-
登录模块主要满足了管理员和用户的权限登录,用户在登录界面输入用户名和密码,点击登录,通过验证,进入系统,登录流程图如图3-4所示。
图3-4登录流程图
- 系统设计
- 系统结构设计
在系统结构设计过程中,首先,整个系统分成几个小的模块,小的问题,然后,进一步细分模块,添加细节。根据第三章中系统功能需求分析,可构建本宠物领养系统的结构图,如图4-1所示。
图4-1 系统结构图
-
- 系统顺序图设计
顺序图表示交互、是指为得到一个期望的结果而在多个分类器角色之间进行的交互序列。
(1)登录顺序图
用户在登录时,首先进入系统登录窗口,用户需要输入用户名和密码,点击登录按钮进行登录操作,系统会以用户名和密码为参数在数据库中进行登录信息的验证,验证成功则登录成功,进入用户主界面。登录模块顺序图如图4-2所示。
图4-2 登录顺序图
(2)注册顺序图
未有账号的用户可进入注册界面进行注册操作,在注册界面输入注册信息,点击提交按钮,系统首先判断用户名是否存在,存在则提示重新输入,不存在则验证注册信息是否正确,正确则在数据库中添加注册数据,提示注册成功。用户注册模块顺序图如图4-3所示。
图4-3 注册顺序图
-
- 数据库设计
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,还是需要多花时间进行考虑,最终设计出配套程序的数据库出来。
-
-
- 数据库E-R图设计
-
E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系,E-R图即由这三点组成。E-R图是最能体系各个实体之间关系的,包括每个实体都包括哪些属性,搞清楚这些我们设计数据库表的时候才能够不遗忘,才能完整的设计。下面我们例出本宠物领养系统主要的几个E-R图。
-
-
- 数据库表设计
-
宠物领养系统采用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 chongwuxiu宠物秀信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 | |
`id | bigint(20) | NOT NULL | 编号 | |
addtime | timestamp | NULL | 创建时间 | |
chongwudongtai | longtext | NULL | 宠物动态 | |
chongwuzhaopian | varchar(200) | NULL | 宠物照片 | |
shouyanghao | varchar(200) | NULL | 收养号 | |
`shouyangming` | varchar(200) | NULL | 收养名 | |
thumbsupnum` | int(11) | NULL | 赞数 | |
crazilynum` | int(11) | NULL | 踩数 | |
clicktime | ` datetime | NULL | 最近点击时间 |
表4-3 diquleixing地区类型信息表
字段名 | 数据类型 | 主键/允许空 | 字段含义 |
`id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
leixing | varchar(200) | NULL | 类型 |
表4-4 shenqinglingyang申请领养信息表
字段名 | 数据类型 | 主键/允许空 | 字段含义 |
`id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
chongwumingcheng | varchar(200) | NULL | 宠物名称 |
chongwuzhaopian | varchar(200) | NULL | 宠物照片 |
chongwudizhi | varchar(200) | NULL | 宠物地址 |
songyanghao | varchar(200) | NULL | 送养号 |
songyangming | varchar(200) | NULL | 送养名 |
diqu | varchar(200) | NULL | 地区 |
shouyanghao | varchar(200) | NULL | 收养号 |
`shouyangming` | varchar(200) | NULL | 收养名 |
xingbie | varchar(200) | NULL | 性别 |
shouji | varchar(200) | NULL | 手机 |
weixinhao | varchar(200) | NULL | 微信号 |
`dizhi | varchar(200) | NULL | 地址 |
lingyangyuanyin | varchar(200) | NULL | 领养原因 |
yangchongjingyan | varchar(200) | NULL | 养宠经验' |
sfsh | varchar(200) | NULL | 是否审核 |
shhf` | longtext | 审核回复 |
表4-5 `songyangchongwu送养宠物信息表
字段名 | 数据类型 | 主键/允许空 | 字段含义 |
`id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
chongwumingcheng | varchar(200) | NULL | 宠物名称 |
chongwuzhaopian | varchar(200) | NULL | 宠物照片 |
chongwudizhi | varchar(200) | NULL | 宠物地址 |
diqu | varchar(200) | NULL | 地区 |
fabushijian` | datetime | NULL | 发布时间 |
songyanghao` | varchar(200) | NULL | 送养号 |
songyangming | varchar(200) | NULL | 送养名 |
shouji | varchar(200) | NULL | 手机 |
songyangzhuangtai | varchar(200) | NULL | 送养状态 |
sfsh | varchar(200) | NULL | 是否审核 |
shhf` | longtext | 审核回复 |
- 系统的实现
- 用户功能模块的实现
- 系统主界面
- 用户功能模块的实现
用户进入本系统可查看系统信息,系统主界面展示如图5-1所示。
图5-1系统主界面图
-
-
- 用户注册界面
-
未有账号的用户可进行注册操作,在注册的时候可根据提示输入相关注册信息,用户注册界面如图5-2所示
图5-2 用户注册登录界面
-
-
- 用户登录界面
-
用户要想进行申请领养宠物操作必须登录系统,用户登录界面展示如图5-3所示。
图5-3用户登录界面
-
-
- 送养宠物详情界面
-
用户可查看送养宠物详情信息,登录后可进行申请领养操作,送养宠物详情界面展示如图5-4所示。
图5-4 送养宠物详情界面
-
-
- 添加送养宠物界面
-
用户登录后可添加送养宠物信息,添加送养宠物界面如图5-5所示。
图5-5 添加送养宠物界面
-
-
- 添加宠物秀界面
-
用户登录后还可添加宠物秀,添加宠物秀界面如图5-6所示。
图5-6 添加宠物秀界面
-
-
- 个人中心界面
-
用户可管理个人信息,个人中心界面展示如图5-7所示。
图5-7 个人中心界面
-
- 管理员功能模块的实现
- 管理员登录界面
- 管理员功能模块的实现
- 系统测试
- 测试定义
系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。
测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。为了避免问题在后续编码,测试和设计,避免扩大国家的问题。在测试系统中,开发人员应该站在客户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和客户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。
-
- 测试方法
为了使系统更完善,我们通常会采用测试系统常用的测试方法,主要有两种:功能测试和结构测试。
功能测试,也可以称作是黑盒测试,在我们已经了解系统有的功能的情况下,通过整个软件或是软件的某项功能来严格测试系统功能是不是能够正常运行。测试者不需要审查内部源代码,也不用了解源代码的原理及是如何工作,而是输入各种可能来验证功能。
白盒测试则完全不同,黑盒测试是绕过了程序的源代码,直接在系统前端上进行各种可能的测试,那么白盒测试就是专门针对源代码及其逻辑所进行的一种检测,从代码中发现在算法、语法、溢出等方面可能出现的缺陷或错误。
-
- 测试方案
对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试。
构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。
性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。
(1)模块测试
单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。
(2)集成测试:
集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:
软件耗费较少。
可以提前发现端口的错误。
更好的地位系统中错误的位置。
从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。
(3)验收测试:
终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。
其结果是分别是:
有一定的差异在用户的需求。
再者就是结果与之差不了多少。
到了最后了,我们发现的问题都是与用户的需求存在一定的关联。
-
- 测试结论
为了让系统让拥有更稳定的性能和体验,我们将对本系统进行前后端的页面和功能进行测试,测试结果如下:
(1)前端页面测试:在测试系统用户界面时,我们要注意页面文字是否正确,页面的排版是否合适美观,操作是否简易友好,包括系统的友好性、人性化、易操作性进行测试。在本次的系统测试中,我们将程序运行在win10系统中,配置好环境后我们对系统进行相关测试,测试完后发现页面呈现一个正常的界面风格,本次前端测试尚无发现问题。
(2)后端数据测试:在后端测试中,我们将对后端的数据库进行增删改查来进行检测,本系统在进行对用户账号密码登入,个人基础信息的登入,宠物领养申请情况和信息等数据进行检测,均无发现明显bug。
综上检测结果所表明该系统各功能能够正常运行,并未发现较大的问题,能够满足用户的需求,这样,我们的系统测试环节也就到此结束。
结论
信息化的浪潮已经淹没了这个世界,当前的世界正在经历着一场空前绝古的信息化变革,随着变革的有序进行,人们可在享受着这场变革带来的便携和变化。信息化的浪潮注定推动着科学技术的发展,在当今社会,人们的生活已经渐渐地离不开了电脑、手机等电子产品,而这些电子产品也在带给我们好处的同时也在丰富着我们的生活,因为科学技术的发展,我们的生活质量也在逐渐提高,生活方式也在变得更加精彩。
本次开发的宠物领养系统已经接近尾声阶段了,在这次独立完成毕业设计的期间,我自己体会到了很多的东西,另外我很想说的就是独立开发软件真的很能让人在开发期间得到锻炼,不管是需求分析,还是系统的设计以及系统功能详细实现还有最后的测试工作,每一步都要小心翼翼的完成,一步一步来,不然任何环节出现了差错,返工起来也很麻烦,开发系统过程中,遇到了很多的难题,比如宠物领养系统需要具有什么样的功能,这个我还是思考了很久,后来同学给我提示了一下,参考别人做好的系统,看看人家设计了什么功能,自己就多多参考下,后来这个问题就很好解决了,最难的就是系统编码了,我这个人本来就比较粗心,编码出现很多不该出现的错误,不该打空格也不小心键盘空格键多敲了两下,整得自己老是程序运行出错,找了好久都没有解决,后来无奈找到室友帮忙看看,慢慢检查终于找到问题了,编码过程真的很心塞。还好东拼西凑总算完成了功能要求了。系统整体界面虽然不是很好看,但起码不花哨,用户使用起来整体感觉就是简洁,功能体验虽然有点啰嗦,但是需要的功能都已经具备了。
自己的身份目前还是学生,开发程序肯定是不会考虑周全,程序完成开发后也经过了一系列测试,整体来说还是没有发现明显的操作逻辑错误,自己在毕设制作过程中不仅知识有所增加,独立学习的能力也有所提高了,更重要的就是遇到问题向周边同学寻求帮助,这个是很有必要的。总的来说毕业设计的圆满完成,我真的觉得很自豪。
致谢
经过好几个月的努力,终于完成了本宠物领养系统的开发。在这过程中我把从导师以及图书馆中学到的相关的知识运用到系统的开发过程中。这是对我所学知识的一个完整性的检验。其中发现了诸多的不足和缺点。但是我相信在经过长时间的磨练我会不断的开发出更好的信息管理系统。在这次毕业设计中是对我平常在课堂的一次考核,也是将理论应用到实践的一项考察。
在即将毕业之际,我的心情实在难以平静,从最开始的学习专业知识到刚开始参加毕业课题讨论到最后论文的顺利完成,我身边的亲朋好友给了我极其多的帮助,这些帮助大多是雪中送炭,帮助我渡过了很多难关。因此,我要想对我伸出过援助之手的可爱的朋友、老师、家人们表示衷心的感谢。
我要感谢此次指导我最亲爱的的老师,是他的及时纠正毕设中出现的问题,及时的给我建议,使得我的设计如期的完成。指导老师在我本次宠物领养系统的开发过程中,从程序的设计、代码的完善等方面以及论文的指导提供了很多很多宝贵的意见,并且为我推荐了许多相关JSP技术的详细资料,他的指导和建议使我受益匪浅,通过老师的耐心辅导和指点,我的论文顺利的完成,并保证了本论文的质量,我对他的辛勤指导表示崇高的敬意。我要非常郑重的向我的导师说一声:谢谢。也希望老师多多指正论文中出现的问题,并提出宝贵建议。
参考文献
[1] 刘亚宾,精通Eclipse--JAVA技术大系,电子工业出版社,2005.
[2] 王玉英. 基于Java的MYSQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66
[3] 张孝祥、徐明华,JAVA基础与案例开发详解, 清华大学出版社, 2009.
[4] 康牧,JSP动态网站开发实用教程,清华大学出版社,2009.
[5]张宁,吴捷,杨卓,张涛. 基于MYSQL的脑电数据库的构建[J]. 广西科学院学报 ,2006 22(4):275-278.
[6] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2010, (11):81-86.
[7]张红梅,王磊.在JSP中访问数据库的方法[J].实验科学与技术,2006(08).
[8]靳其兵,李晓波.基于JSP的数据库连接技术的研究[J].计算机仿真 2007(04) .
[9] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49
[10] 肖英. 解决JSP/Servlet开发中的中文乱码问题[J]. 科技传播, 2011, (1)11-25
[11] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2010, 26(4):270-283.
[12] 甘仞初著.信息系统开发.北京.经济科学出版社.2007.
[13]苟凌怡,魏生民. MYSQL中索引的有效选取[J].计算机工程与应用,1999,35(6):70-71.
[14]张树亮, 李超.JSP+MYSQL网络应用系统开发案例精解[M].北京:清华大学出版社,2006.
[15] 王波编著.Java架构师指南[M].人民邮电出版社,2018:22-113.
核心代码展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
项目推荐
【计算机毕业设计】各项技术选题汇总
【计算机毕业设计】基于Springboot的网上购物商城销售系统
【计算机毕业设计】开题报告模板2
【计算机毕业设计】任务书案例2
【网站项目】基于springboot的在线考试系统
【网站项目】基于springboot的4S店车辆管理系统
【软件设计】基于python的高校资产管理系统
【网站项目】python009基于推荐算法的电影推荐系统
【网站项目】基于Springcloud的分布式架构网上商城
⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
版权声明:本文标题:【计算机毕业设计】103宠物领养系统 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726760660a1083277.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论