【《基于SSM的校园生活服务系统的设计实现》14000字(论文)】_第1页
【《基于SSM的校园生活服务系统的设计实现》14000字(论文)】_第2页
【《基于SSM的校园生活服务系统的设计实现》14000字(论文)】_第3页
【《基于SSM的校园生活服务系统的设计实现》14000字(论文)】_第4页
【《基于SSM的校园生活服务系统的设计实现》14000字(论文)】_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SSM的校园生活服务系统的设计实现摘要随着现在论坛系统的不断发展和完善,再配合目前已有的计算机技术和Web开发基础,早年的橱窗式文字公告和电子屏幕滚动公告现在都已经发展为比较流行且丰富多彩的在线式论坛系统或者微信小程序等相关模型,并且已经成为人们生活中必不可少的浏览内容。鉴于此,为了使在校大学生的校园生活更加便捷,并围绕校园生活服务的主题提出一款校园生活服务系统,旨在服务校园师生的生活,为师生的校园提供一个信息化的交流平台。校园生活服务系统基于B/S架构和MVC设计模式开发的,系统主要实现了登录与注册、校园生活二手交易、失物招领求助、文章帖子发布与回复讨论,好友互相关注、文章点赞收藏以及师生共享信息、后台管理员数据统计与监视等功能模块,管理员还可以可视化人员的信息分布,以及增加论坛的版块。通过主要对校园生活服务系统的前后端实现的设计以及具体逻辑实现做以详细的阐述,并对系统进行功能测试和模块化检测,旨在能为高校的校园建设提供一个优秀且功能丰富的平台。关键词:校园生活;SpringMVC;Spring;Mybatis目录TOC\o"1-2"\h\u摘要 表3-8所示。表admin的aid字段,类型为int,不可重复,设置为主键。表3-SEQ表\*ARABIC8关注信息表(admin)编号字段名类型注释能否为空备注1aidint(11)管理员id否主键2anamevarchar(255)管理员姓名否3apasswordvarchar(255)管理员密码否4atimetimestamp注册时间否3.4系统安全性设计校园生活服务系统采用的是MySQL和Redis数据库,其中使用MySQL来做存储,Redis作为一个高速缓存,并且实现读写分离,写操作的情况下才会去访问MySQL,而读操作仅仅是在Redis上进行,考虑到数据的安全性,校园生活服务系统会产生许多的数据,而且对于校内师生的数据都是非常重要,一但数据丢失就会造成严重的损失。本次毕业设计选用的Redis数据库的安全机制十分健全,所以在数据库方面是可以保证其安全性的。并且做好了数据备份的工作,如果有突发情况,可以直接恢复数据,另外在开发阶段,为了保证用户密码的安全性,在拿到用户注册的密码之后,采用加密技术MD5,例如用户输入123456,在数据访问阶段已经用过加密算法转换成了其他的字符,这种其他的字符看着像是乱码,其实对其进行一个解码就能得到用户输入时候的密码了,因此这里对密码的隐藏是非常到位的,这样也保证了密码不会被盗窃。综合上面两个方面的分析,本系统的设计是十分安全的。3.5系统维护性设计校园生活服务系统主要是负责应用于高校校内的师生以及各层各级的人员,系统的维护也比较重要,假如系统上线以后,存在一些不可避免的问题,这个时候在现阶段也要考虑到之后的维护情况,减少以后复写或者复用的复杂度,提高直接改写代码的效率,因此本系统地维护主要有以下三个方面:(1)系统功能的维护:校园内师生以及其他用户的需求是不断变化的,而且对于现在计算机技术的发展和框架的更新完善,因此系统为了适应时代的更新,同时想要让系统能够适应用户的多种需求,就要根据用户的需求对项目代码进行不断的修改和完善以及测试,达到一个比较成熟的系统标准。(2)代码的维护:随着JDK、Tomcat版本的不断升级和更新,可以使系统代码也随之而进行更新,从而使系统的兼容性更高,同时框架也要更新迭代,这样对于代码的可扩展性良好。(3)数据库的维护:在代码维护的基础上,如果用户有新的需求,需要在维护好原始数据表的基础上,增加新的表来满足用户的需要,以及做好数据的备份,以防数据库被恶意删库。第四章系统功能实现4.1用户信息管理设计与实现用户管理是该系统重要的功能模块之一,它包含了用户的注册、登录、用户信息的修改。修改信息可以修改基础信息也可以修改头像,头像是图片上传的一个小功能。当且用户登录以后后对文章进行一系列操作,可以评论点赞等,如果用户点赞或者评论了以后,那么对应的会在数据库的表中加入以一个外键的标记,作为一条数据。用户管理模块流程图如图4-1所示。以登录过程为例子来看,用户登录时需要验证该用户的用户名和密码是否在数据库中,存在且验证正确即可以登录到系统内,不存在则提示用户检查用户名或密码是否正确,以及是否需要注册,并将用户登录信息保存在相应的session中。关键代码块如下: @PostMapping(value="/getLogin") @ResponseBody publicReturnT<?>getLogin(Useruser,Modelmodel){ try{ UserImpluserImpl=userService.getNameEmailPass(user); if(user!=null){ model.addAttribute("userid",userImpl.getUserid()); model.addAttribute("username",userImpl.getName()); model.addAttribute("email",userImpl.getEmail()); if(userImpl.getPhoto()!=null){ //null放入model有bug model.addAttribute("userPhoto",userImpl.getPhoto()); } returnReturnT.success("登录成功"); }else{ returnReturnT.fail(HttpStatus.NOT_FOUND,"用户名/邮箱或密码错误"); } }catch(Exceptione){ e.printStackTrace(); returnReturnT.fail(HttpStatus.NOT_FOUND,"登录失败"); } }图4-1用户信息管理设计与实现图4-2用户注册的实现结果如图4-2所示为用户主页的实现结果,详细实现过程为用户输入用户名和两次密码,且两次密码输入一致,以及邮箱,邮箱需要校验后缀是否相同,仅支持三种邮箱格式,以上信息填写完成以后点击注册即可注册成功。实现过程为:用户点击注册按钮以后,前端用过ajax请求将数据(用户名、密码和邮箱)传递给后端的接收层,后端通过service层和Dao层将注册信息写入数据库,并返回给前端一个提示“注册成功”。4.2发帖文章信息管理设计与实现发帖管理模块包括发表帖子、修改帖子、查看帖子、删除帖子等功能,帖子支持公式以及博客风格的语法风格,并且也可以高亮内容,使其达到醒目的效果,重点信息可以突出表示,强调重要的信息源。发帖文章信息管理模块流程如图4-3所示。图4-3发帖文章信息管理设计与实现以修改文章为举例,核心代码如下, @PutMapping("/updateArticle") @ResponseBody publicReturnT<?>updateArticle(@RequestParam("picture")MultipartFilefile,Articlearticle){ try{ //当前文件大小 longcurrentFileSize=file.getSize(); //上传源文件允许的最大值 longfileLength=thumbnailatorUtil.getFileLength(); if(currentFileSize<=fileLength){ article.setPhoto(fileUploadUtil.fileUpload(file,pathUtil.getArticlePath())); //修改文章表(数据库) articleService.updateArticle(article); returnReturnT.success("修改文章成功"); }else{ returnReturnT.fail("请上传不超过"+fileLength/(1024*1024)+"M的题图!"); } }catch(Exceptione){ e.printStackTrace(); returnReturnT.fail("修改文章失败"); } }图4-4发布帖子的实现效果如图4-4所示为用户发布帖子的实现结果,详细实现过程为用户输入帖子的标题以及对应的版块(失物招领、二手交易、闲聊交友),帖子的内容是markdown语法,如果需要标题形式,则以三个“###”开头,需要小标题则以“*”开头并且预留的有一个空格,左边为编辑模式,右边是实时的预览模式,通过实时解析用户输入的markdown语法来达到预览的效果,用户输入完成以后,如果需要上传图片,可以选择本地的图片来上传,帖子的内容当中也会展示图片的内容。4.3文章评论信息管理设计与实现文章评论管理模块包括发表评论、查看评论、删除评论等功能,主要用于用户对评论信息的一系列操作。评论管理模块流程图如4-5所示。图4-5文章评论信息管理设计与实现图4-6文章评论实现效果如图4-6所示为用户回复帖子的实现结果,用户登录以后对自己感兴趣的帖子,可以输入回复的内容并且点击评论按钮,即可在帖子下面显示回复内容和时间,如果用户回复的有错误,可以选择删除,删除当前的评论。4.4管理员管理设计与实现管理员管理模块只有管理员登录1个子功能,主要用于管理员在登录管理员系统后对用户、文章、访问记录、数据记录的一系列操作。管理员的身份相当于是学校的管理层人物,可以对一切信息进行维护,如果普通用户的操作遭到了负反馈,那么此时管理员就可以强制性的操作,以保证校园的论坛的可维护性,管理员就相当于管理员管理模块流程图如图4-7所示。图4-7管理员管理设计与实现如图4-8所示为管理员管理后台数据的实现结果,如主页面中显示的三大板块都属于后台的管理,管理员可以增加、修改和删除板块,以此同时管理员还可以管理所有的注册用户,查看当前的访问记录,对文章数据进行维护。图4-8管理员管理后台实现效果4.5版块管理设计与实现版块管理模块包括新增板块、查看板块、修改板块、删除版块4个子功能,主要用于管理员对板块信息的一系列操作。版块主要是因为可能会有一些新的需求加进来,这个时候我们不用再去改系统的代码了,而是直接添加模块或者版块就可以了,这样子也算是一个预留功能,为系统的扩展性带来很大便捷。版块管理模块流程图如图4-9所示。图4-9版块管理设计流程图4.6收藏与关注设计与实现收藏管理模块包括收藏、查看、取消,收藏就是可以把自己想要的东西收藏起来,方便下次再看,查看就是类似于查看历史记录,比如查看之前收藏的文章之类的,取消就是看过了不想再关注的东西就可以将它取消掉,这个功能非常人性化,和浏览器的书签功能类似。关注与收藏实现效果如图4-10所示。图4-10收藏与关注实现效果第五章系统测试5.1系统测试概述在开发中系统碰到BUG或者一些异常和中断是不可避免的,所以需要经过一些测试手段来检测系统的完备性,从而找到BUG达到让系统比较完善的目的。通过对本系统的测试,尽可能的找到系统中存在的一些隐藏的bug,然后再测试阶段就将它们找出来,否则如果项目上线,会带来不可预计的后果,因此测试过程对于我们来说非常重要。测试一部分是为了满足用户的需求,让用户使用起来更加流畅,另一部分是为了检测一下自己的这段时间开发的效率和目标是否达到了,相当于是一个成果的检验。在开发的前期过程中,自己通过写的小的demo,再将每个demo拼起来,已经进行了单元和模块化的测试,在本章节将进行全面的测试,包括服务器的启动,数据库的测试,以及所有功能的测试,旨在达到能让校园用户满意的程度,同时也是对自己这段时间开发的一个评估。本章节后续内容将对测试内容展开详细的说明和举例。5.2测试内容5.2.1Tomcat服务器启动测试服务器启动测试用例如表5-1所示,该测试用例采用白盒测试,从IntelliJIDEA中启动Tomcat服务器,若控制台显示Connectedtoserver说明服务器已经启动成功,用户可以通过输入url来检验服务器启动是否完成和正常,测试正常如图5-1所示。表5-1 服务器启动测试用例表编号操作/输入期望结果实际结果1在IntelliJIDEA中启动Tomcat服务器控制台显示Connectedtoserve通过2在浏览器中输入http://localhost:8080/访问系统主页进入系统的主页面通过图5-1系统主界面5.2.2注册与登录测试注册测试用例如表5-2所示,用户在首页点击注册打开注册界面,注册功能为用户提供了使用的权限,用户填写信息,若信息格式都正确,则提示用户注册成功,用户可以登录系统并使用。登录以后,用户就可以选择自己的功能了,并且系统也有访客登录,就是无需账号也可以,但是不能进行一些操作,只能浏览相关的信息,不能操作它。表5-2 注册测试表编号操作/输入期望结果实际结果1首页点击注册跳转到注册界面通过2输入账号xiaokeai显示输入正确通过3输入密码123456显示输入正确通过4再次输入密码123456显示输入正确通过5输入邮箱显示输入正确通过6点击“注册”按钮注册成功通过注册功能实现如图5-2所示图5-2注册界面注册成功会自动登入系统内,登录成功如图5-3所示:图5-3登录界面5.2.3发布帖子或者文章发布帖子或者文章的用例如表5-3所示,点击系统内的发布文章,需要输入标题,然后选择类别,如二手交易、闲聊专区和失物招领,然后填写内容,内容可以选择格式,支持markdown格式。测试结果如5-4所示。表5-3 发布帖子测试表编号操作/输入期望结果实际结果11,进入系统首页2,点击【发帖】3,点击模态框中的【发帖】无法发帖,在标题栏提示请填写此字段无法发帖21,进入系统首页2,点击【发帖】3,正确填写所有内容,不配图4,点击模态框中的【发帖】成功发帖,帖子无配图成功发帖,帖子无配图31,进入系统首页2,点击【发帖】3,正确填写所有内容,配图4,点击模态框中的【发帖】成功发帖,帖子有配图且为刚刚选择的配图成功发帖,帖子有配图且为刚刚选择的配图41,进入系统首页2,输入相应信息3,点击【清空】清空输入栏的信息清空输入栏的信息图5-4发布帖子界面

第六章结论与展望本论文从研究背景、需求分析、功能设计、系统测试四个方面详细介绍了校园生活服务系统的设计思想和实现方案。本系统的设计分为前端和后端两部分,两部分完成各自的功能,实现校园生活服务系统相关功能。纵观该系统的主要功能有登录、注册、发帖、失物招领、二手交易、闲聊专区、评论、回复、搜索、收藏和关注管理等功能。在开发的过程当中,也碰到了很多自己不能处理的问题,该系统最大的难点就是图片显示和加载的问题,起初不熟悉SSM框架的时候,dao层总是出错,也无法和数据库的字段匹配上,后来做了很多Demo和测试,由小到大,由浅入深,最后终于把各个Demo拼在一起才完成了相关功能。在管理员的对应功能中,使用了比较目前比较流行的前端框架,这个框架非常强大,可以简化程序员的编码设计。综合各个技术点和测试实例,完成了本次毕业设计的要求,但是也存在很多不足的地方。比如消息推送功能没有实现,如果同一个用户在多设备上同时进行相应的操作,没有控制好并发的情况,可能会造成数据出错等结果。在本次的项目开发过程中,我体会到了在规范的实际开发工作中,一个程序的开发与课堂理论知识有着很大的区别,在项目实践中过程中,影响系统详细设计的不仅仅是编程能力,良好的理论基础、编程规范、前期的架构和设计以及程序的边界检测才是一个项目的核心。本系统还有很多功能需要完善,如并发控制和一些比较实用的功能未能满足用户的需求,有些功能的设计不够简洁方便等等。其中关于同一个用户在不同的设备上同时进行数据操作时,应该将数据操作的代码块加上互斥锁,由于我个人的多线程编程不够扎实,我下来一定查阅多线程编程的相关资料将该部分完善并重新做测试。在统计数据使用图表类型选择情况中,应该提供给用户更好的选择性。关于我的毕设,请老师给我一定的修改意见,我一定虚心接受意见并制定新的修改计划,完善该系统的功能。另外在该系统的数据处理核心功能上我认为可以使用比较新颖的人工智能的相关技术,实现智能化数据处理,这样可以更好的推广这款校园生活服务系统。最后,我希望下一步我可以将本项目上限给本校的师生使用,这样可以更加方便用户随时随地使用,通过种种分析,该校园生活服务系统还是存在比较多的缺陷,我下一步的工作就是在此基础上完善和更新,争取做出一个比较完美的校园生活服务系统。参考文献王婧,王晓云,于波.基于SSM框架的分布式架构二手书交易系统[J].电脑知识与技术:学术交流,2019,000(1X):86-88.殷齐,徐莉莎,瞿少成.基于SSM的高校二手书交易系统的实现[J].电脑知识与技术,2017,13(1):89-91.龚兰兰,凌兴宏.基于敏捷开发的SSMWeb应用开发实践[J].实验技术与管理,2020,37(2):160-163,167.吴翠鸿.基于Java的校园博客系统设计研究[J].电子技术与软件工程,2018,000(2):59.张华.教育信息化背景下智慧校园的建设[J].教学与管理,2019,000(36):33-35.王玉刚.高校数字化教学资源建设:思路、战略与路径[J].网络安全技术与应用,2019,218(2):72.李旸.智能移动终端对高校大学生生活的影响分析[J].阜阳职业技术学院学报,2016,27(03):22-26.韩寅莹,刘永齐,康月,任永强.基于三层架构与MVC设计模式的古文化展示保护系统的设计与实现[J].信息技术与信息化,2020,000(7):9-11.李洋.SSM框架在Web应用开发中的设计与实现[J].计算机技术与发展,2016,26(12):190-194.AalstWMPVD.TheApplication

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论