admin 管理员组

文章数量: 887021


2024年1月12日发(作者:webservice rest)

ISSN1009-3044ComputerKnowledgeandTechnology第17卷第13期(2021年5月)电脑知识与技术Vol.17,No.13May2021E-mail:*************.cnComputerKnowledgeandTechnology电脑知识与技术http://:+86-551-6569基于SpringBoot的网上在线教育系统的设计与实现马英瑞,陈廉元,李娟,邹红,王冬梅(大庆师范学院计算机科学与信息技术学院,黑龙江大庆163712)摘要:系统基于MVC模式JavaEE技术,使用MyEclipse2017CI10编译器,采用Mysql关系型数据库并结合HTML+CSS的前端技术进行系统开发,完成用户管理、新闻资讯管理、学生管理、教师管理、课程资料管理、留言管理、系统简介设置等功能模块。通过浏览器与服务器通信进行数据的交互,实现集人性化、高效率、便捷等优点于一身的在线教育平台。关键词:在线教育平台;前端技术;2017CI10编译器;MVC模式中图分类号:TP311文献标识码:A开放科学(资源服务)标识码(OSID):DesignandImplementationofOnlineEducationSystemBasedonSpringBootMAYing-rui,CHENLian-yuan,LIJuan,ZOUHong,WANGDong-mei(CollegeofComputerScienceandInformationTechnology,DaqingNormalUniversity,Daqing163712,China)文章编号:1009-3044(2021)13-0077-03Abstract:ThesystemisbasedonMVCpatternJavaEETechnology,compiledbyMyeclipse2017CI10compiler,anddevelopedbyMysqlrelationaldatabasewithHTML+CSSfront-endtechnology,completeusermanagement,NewsInformationManagement,stu⁃dentmanagement,teachermanagement,curriculummanagement,messagemanagement,htheBrowserandservercommunicationfordataexchangeandchange,toachieveahuman,efficient,ds:onlineeducationplatform;Front-endtechnology;2017CI10Compiler;MVCmodel1引言知识经济时代的到来,学习模式由传统的线下学习模式转变为网络化学习模式,又称在线学习。学员通过网上教育平台,应用网络进行在线学习的一种全新方式,这种在线学习方式是由多媒体网络学习资源、网上学习社区及网络技术平台构成的全新的学习环境。相对于传统学习模式来说,它具有尊重学习的个性化、互动灵活、激发学习动力以及不受时空限制等优势。2012年起,美国顶尖大学也陆续设立了网络学习平台,MOOC(MassiveOpenOnilineCourse,大规模开放网络课程)以教育“平台”方式在美国爆发,美国学术界对在线教育的态度也是不断转变,在美国超过2800所大学中,有70%以上的学术领袖认为在线教育与面授教育效果一样或者更好[1]。2相关技术分析本设计采用MVC模式开发,主要将代码分为View层、Mod⁃el层和Controller层。View层实现用户的交互,只对数据采集、处理和用户请求进行处理,不对业务流程进行操作[2]。Model层制定业务流程或业务状态的处理和业务规则,在接受了视图请求的数据后,返回处理之后的结果。MVC最主要的核心就是业务模型的设计,目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步划分,以便充分利用现有组件,但是它不能作为应用设计模型的框架[3]。Controller层接受用户的请求,然后将视图和模型匹配到一起,然后完成用户请求,它对控制层进行了明确的划分,可以清晰地显示出,应该选择怎样的模型和视图才能完成用户的请求,但是控制层不做全部数据的处理[4]。本设计采用SSM框架即SpringMVC+Spring+Mybatis,应用SSM框架的优势在于所设计的Web应用程序具有层次清晰、升级更新操作不影响正常使用、允许多次使用的特点。SpringM⁃VC使各板块分离,Spring使开发更灵活方便,使用Mybatis让开收稿日期:2020-11-04基金项目:黑龙江省自然科学基金联合引导项目(编号:LH2019F039);大庆市指导性科技计划项目(合同编号:zd-2019-67);大庆师范学院科研资源转化教学专项项目(No.18kyz07)资助作者简介:马英瑞(1963—),男,硕士,主要研究方向为信息安全和软件开发等;陈廉元(1997—),男,本科,大庆师范学院,2016级软件工程专业;李娟(1979—),女,硕士,主要研究方向为传感网信息融合与嵌入式协同处理等;邹红(1966—),女,硕士,主要研究方向为虚拟现实技术、图像处理等。本栏目责任编辑:谢媛媛软件设计开发77

ComputerKnowledgeandTechnology电脑知识与技术发者直接对对象进行操纵,各层次分工明细,并实现各个层次间的解耦合,让代码更加的灵活精简[5]。3系统设计3.1各模块设计系统能够实现的功能主要分为以下八个功能模块:其中包含用户管理模块、课程资料上传模块、课程资料管理模块、个人创作管理模块、新闻资讯管理模块、留言信息管理模块、评论信息管理模块以及导出功能模块。1用户管理模块是面向所有用户的,)用户管理模块权限为普通用户的只能对自己的部分进行修改,(例如修改个人资料、删除评论、修改密码等)。超级管理员拥有最高权限,可以对整个系统的数据进行管理,可以对学生信息、教师信息、系统资料等进行增删操作。2上传功能主要由普通用户使用,)课程资料上传模块学生用户和教师用户上传课程资料,根据课程资料的上传时间决定上传顺序并生成上传列表,用户可以在上传列表查看历史上传,可以对历史数据进行管理。3教师用户创建新的课程资料,)课程资料管理模块点击课程资料录入按钮,依次填写新增课程资料的名称、备注以及课程资料在本地的物理地址,点击提交按钮,提交的数据将保存在数据库中,刷新课程资料页面,新增的课程资料就会显示在页面上,同时上传的资料右边有删除和编辑按钮,可以对上传的资料进行编辑或删除。4点击个人创作录入按钮,)个人创作管理模块依次填写新增个人创作的名称、备注以及个人创作的内容,点击提交按钮,提交的数据将保存在数据库中,刷新个人创作页面,新增的个人创作就会显示在页面上,同时上传的资料右边有删除和编辑按钮,可以对上传的资料进行编辑或删除。5管理员点击新闻添加子菜单下的添加新闻数据,)新闻资讯管理模块填写新闻标题、新闻内容、新闻类别、新闻图片(例如学校最新的规章制度),待提交成功后,刷新新闻资讯页面,新增资讯会显示在页面上。6登录系统的用户,)留言信息管理模块可在留言板对系统提出意见,管理员在后台可以查看或键入关键字搜索留言信息,对留言信息进行管理。7登录系统的用户,)评论信息管理模块可以在课程资料详情页下方点击添加评论,管理员可以在后台查看该评论信息,并拥有对其进行管理包括删除8)的权限。系统的信息详情页,)导出功能模块信息列表页可以导出信息,用户选择导出格式和保存文件的路径,导出至Excel中,下载到本地,可以在本地的Excel中随意编辑。3.2数据库设计根据系统分析阶段所得出的结论确定在线教育平台中存78软件设计开发第17卷第13期(2021年5月)在着多个实体,系统的数据库共包含了用户信息、留言信息、教师信息、人基本信息。1)用户信息表课程资料信息、(allusers个人创作、表):包含用户留言、评论等id、账号、6个数据表。密码、等个称、图片、2)个人创作信息表(gerenchuangzuo表):包含个人id、名名、性别、3)教师信息表内容、发布人等信息。(jiaoshixinxi表):包括教师id、工号、密码、姓图片、4)课程资料信息表身份证、电话、(课程、kechengziliao籍贯、照片信息。表):包含id、资料、内容、容、回复内容、5)视频、留言信息表工号、资料简介等相关信息。(liuyanban表):包含留言id、昵称、留言内评论人信息。6)评论信息表留言人等信息。(pinglun表):包含评论id、评论内容、评分、4系统实现4.1登录模块的实现系统的所有资源只有在用户登录状态下才可以访问,登录时用户提交的表单会和数据库中的用户信息进行比对,各项信息一致才能通过校验,在系统中进行下一步操作。主要步骤为当用户输入账号和密码后,系统先校验账号和密码的格式是否正确,类里的页面会向后端发送登录请求,如果格式错误提示相关错误,验证格式无误后前端的log⁃dopost方法来验证。验证成功后,通过调用代码中的将用户名显示在系统Mainctrl首页上。网站的首页面实现如图1所示。图1系统登录界面4.2用户子系统模块的实现1系统界面呈现出界面简约、)用户首页模块鳞次栉比,方便用户使用。出于对系统使用群体广泛的考虑,应有良好性能。在系统时间显示上编写javascript脚本在导航栏显示系统的当前日期,首先定义一个数组d存放周一至周日,创建一个获取时间的对象time后通过该对象的方法获取年月日,(())%7计算得到的结果是数组的下标,通过数组下标就获取了数组的值,利用字符窜连接把年月日和星期转换成字符串,tElementById("date")示在获取标签后使用innerHTML通过把该字符串显⁃2jsp此页面实现普通用户的注册,)注册模块页面。必须注册登录后才能使用,用户名不允许重复,如果重复将会注册失败,并弹出相应的提示,通过Javascript实现对输入的验证。用户注册关键代码如下所示。<%本栏目责任编辑:谢媛媛(

第17卷第13期(2021年5月)("issh","ext=newHashMap();true,false,"");newCommDAO().否");insert(request,response,"userRegister",ext,%>3用户在留言板查看留言信息,)留言模块先使用sql语句查询出所有留quest言表个ArrayList),返回一个的数据,然后调用es(url,4,sql,re⁃对象的数据,ArrayList然后放入页面模板中,的对象,在for循环中使用用户点击我要jsp得到每留言则跳转至留言页面4()。系统使用)评论模块sql语句查询出所有课程资料表的数据展示在课程资料页,用户在课程资料页查看课程资料信息和评论信息,点击评论按钮,跳转至添加评论页面,点击添加评论则将编辑好的评论数据封装在HashMap中,通过调用CommDAO的insert方法将提交的评论内容插入数据库的评论信息表中,评论管理页面则调es(url,4,sql,request)方法,返回一个rayListArrayList类型的对象,最后通过for循环,让jsp得到每个Ar⁃4.3管理员子系统模块的实现对象的数据,放入到页面模板中。1用户登录后,)用户管理模块在后台管理中查看用户信息,后台通过sql语句查询用户表中所有数据,4,sql,环,request)方法,返回一个通过调用es(url,类型的对象,使用ArrayList让jsp得到每个对象的数据,在for循环里,使用jsp得到每个for循List对象的数据,在前端的jsp页面中解析接收到的Array⁃2所示。类型的对象,得到其各个键值对的值。用户管理界面如图2)个人资料模块图2用户管理界面用户点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,session会跳转到个人详细信息页面,由后台通过Freemarker取出示修改个人信息和修改密码的按钮,作用域中的用户信息进行动态渲染。同时页面上会显这时客户可以修改自己的登录密码以保障账号的安全性,信息是否变动做出相应的修改,的updatePassword()防止被人窃取账号,通过User⁃通过实现,updateUserInfo()也可以根据自己的个人实现。密码修改关键代码如下所示。if(("uppass")){StringStringolduserpass=ameter("ymm");Stringuserpasscopyuserpass=ameter("xmm1");=ameter("xmm2");本栏目责任编辑:谢媛媛ComputerKnowledgeandTechnology电脑知识与技术Session().HashMapm=s("userName",("pwd")).equals(olduserpass))){getAttribute("username"),"userRegister");(String)(!(((String)get⁃ribute("error",go("","");}else{request,response);StringwhereStringid("username")+"'";userName=sql=(String)("id");="update'"+(String)gistersetgetSession().pwd='"+userpass+getAttribute"'er(sql);ribute("suc",go("",request,response);"");3}}engziliaoController添加课程资料信息时,)课程资料管理模块chengziliaoController接受传过来的课程资料信息参数,输入必填字段后,表现层的再调用Kech⁃Ke⁃ziliaoService对整个添加课程资料信息的操作。业务层到类的KechengziliaoMapperaddKechengzi-liaoaddKechengziliao持久层的处理,方法,经过Kecheng⁃方法也和完成用户管理中的4addUser方法类似,Data查找个人创作时,)个人创作管理模块同时做添加和修改工作。输入需要查找的个人创作名,示到视图上,方法获取所有数据并且进行分页,这时候只需要用脚本方法便能快速查找,把获取到的所有数据显调用get⁃不涉及对数据库操作。删除个人创作时,选择需要删除的个人创作进行删除,把主键的uId传到GerenchuangzuoController控制器,再调用控制器的vicedeleteGerenchuangzuo方法,数据经过用deleteByPrimaryKey业务层解析和处理,方法操作数据库将个人创作数据从数据请求GerenchuangzuoMapperGerenchuangzuoSer⁃持久层调库中删除。4.4文件上传模块的实现把上传文件单独编写成一个FilesUpload.类,在该类中定义一个具体实现上传文件的方法,ServletActionContext该方法接收两个参数,通过的FileUtils的copyFile()获取上传到服务器的文件路径,方法将用户上传的文件拷贝到目标文通过封装件中即实现了文件上传到服务器。返回保存文件的相对路径,选定的文件上传后存放在代码中WEB-INF文件下的upload文件夹,先检测该文件夹是否存在,如果不存在就先创建。4.5文件下载模块的实现通过JSP页面传入文件的路径,如果该文件路径包含中文名。需要通过getBytes方法以ISO-8859-1编码格式接收页面传入的参数,在把传入的参数转换成UTF-8的编码格式解决中文乱码。通getResourceAsStream方法获取文件的下载流,在该类中也同时编写一个获取下载文件的文件名,使用substring方法获取文件名后转换编码格式防止输出的文件名是一群乱码,返回该文件名。用户在页面点击下载链接后弹出下载文件提示框,在弹出的提示框中点击下载就可以下载文件。(下转第92页)软件设计开发79

ComputerKnowledgeandTechnology电脑知识与技术第17卷第13期(2021年5月)图6监考教师信息(Excel表)考生排考结果展示一般包括课程名称,任课老师,校区,班级,考号,姓名,考试时间,座位号,教室,考试类型,主监考官和副监考官。本系统还可以针对某些对象单独输出相关信息。比如:班级的考试安排表,如图7。考生的考试安排表,如图8。监考老师的监考安排表,如图9。任课老师所任课程的考试列表,如图10。进行排考,极大地提高了高校教务人员的工作效率,以及工作的质量,且推动了高校的现代化,自动化的发展。本系统经过实际检验,具有较高的实践性,能基本满足高校排课需求,但仍需进一步的改善与优化,以增加程序的健壮性和功能。但系统也还有一些不足的地方,比如:未考虑存在补考学生考试科目相互冲突的情况,以后将进一步改进。参考文献:[1]方琴.高校考务管理系统应用现状及需求分析——以S大学考务管理系统为例[J].现代经济信息,2020(4):179-180,182.[2]舒清录.基于C/S与B/S混合结构的高校智能排考系统设计与实现[J].信息技术与信息化,2020(4):16-19.[3]张培培,吕震宇,闫海波.基于高校考试管理细化的排考系统研究与设计[J].中国教育信息化,2019(9):77-81.[4]尹丽祯,张德政,詹钦潮.基于教务排考系统的研究与设计[J].内江科技,2020,41(1):45-46.[5]王志刚.高校智能排考系统的构建[J].西安工程大学学报,2017,31(4):556-562.【通联编辑:王力】5结束语随着时代的发展,简便化、自动化、高效化的工作越来越受到人们的欢迎。随着高校考生数量的增加,学科的增多,人工排考的工作也就越来越烦琐,于是自动高效的排考系统也就应运而生。可根据高校的实际情况,设计排考参数,让系统自动(上接第76页)烦琐,编写和调试代码难度较大,因此它需要特定的专业知识和编程能力,对于一般人员这是一个巨大的难题。文章研究在Python(3.7.1)+PyQt5(5.15.2)+jieba(0.42.1)+gensim(3.8.1)+pyecharts(1.9.0)环境下设计的词云制作软件能快速提取关键词并绘制词云,相比一般的词云制作,该软件在可视化窗体下快速提取关键词并用网页组件展示词云的html文件,既有动态效果,又能查看关键词权重,实现了阅读者要快速掌握信息概要及词云展示的需求。参考文献:[1]朱涤尘,夏换,杨秀璋,等.基于文本挖掘和决策树分析的中国手游产业发展研究[J].计算机科学,2020,47(S1):530-534.[2]PYQT5介绍[EB/OL].[2020-08-20]./cheng_5230/article/details/84065657.[3]倪冰苇,赵鸿萍,顾月清.基于词云图和层次聚类的天然产物研究热点分析[J].中国新药杂志,2020,29(12):1326-1333.[4]pyecharts[EB/OL].[2020-08-20]./.[5]pyecharts[EB/OL].[2020-08-20]./#/zh-cn/basic_charts?id=wordcloud.[6]严明,郑昌兴.Python环境下的文本分词与词云制作[J].现代计算机(专业版),2018(34):86-89.[7]肖元君,吴国文.基于Gensim的摘要自动生成算法研究与实现[J].计算机应用与软件,2019,36(12):131-136.[8]潘亚星.基于Python的词云生成研究——以柴静的《看见》为例[J].电脑知识与技术,2019,15(24):8-10.【通联编辑:谢媛媛】(上接第79页)5结束语本系统能够实现在线教学模式,为学生提供网络自学平台,为教师提供新的多媒体网络教学手段,能让学生不在实体课堂也能体验到学校的学习氛围,打破时空的局限性。当下在线教育学习现状转变了人们陈旧的学习思维方式,通过开发本系统对网络在线教育系统的分析与设计,完成了一个实用、便捷的在线教育学习系统,但它仍有许多可以改进之处,功能之间的过渡还可以更加自然。参考文献:[1]李旭光.翻转课堂的设计与实现[D].济南:山东大学,2019.[2]HorstmannWS.最新Java2核心技术卷工:原理[M].李如豹,刚冬梅,张雪莲,等译.北京:机械工业出版社,2012.[3]安全[M].北京:中国电力出版社,2002.[4]与Java数据库编程[M].北京:中国电力出版社,2002.[5]ofComputerProgramming[M].北京:清华大学出版社,2012.[6]rverPages[M].北京:电子工业出版社,2010.[7]高张,康小军.提高Tomcat服务器运行性能的研究[J].计算机与数字工程,2008,36(10):203-205.【通联编辑:王力】92软件设计开发本栏目责任编辑:谢媛媛


本文标签: 用户 信息 系统 资料