优质的音乐管理系统不仅可以纯挚的知足事情职员管理的日常事情需求,还可以知足用户的需求。可以降落事情职员的事情压力,提高效率,最主要的是可以实现用户参与,把事情职员的部分事情分担给用户,使事情职员的事情安排更加合理[6]。本系统可以实现音乐管理的流程化、信息化,使必要信息实现共享。综合来说本系统可以减少事情职员的事情内容,充分表示网络的浸染,实现网络资源的利用从而提高办理音乐管理问题的效率和使音乐推广的管理事情安排更合理,并且实现做事的多样化、人性化[7]。 ## 1.4课题实现内容 本系统包括用户和管理员两部分。用户通过登录后可以查找音乐并进行评价、互换,可以查看音乐分类和进行论坛互换等。管理员在后台可以管理自己的账号和用户信息,并对音乐进行更新和推举,管理用户的评价信息和进行分类划分、用户管理、论坛管理、公告管理等。本系统中加入音乐分类管理,可以利用户在查询音乐时更加快速。用户在自己的后台里可以查看评价回答和进行个人资料、音乐收藏管理。 ## 1.5论文构造安排 本篇论文按照系统开拓的生命周期进行撰写,详细描述了本系统从调研、剖析、设计、实现、测试的过程。本论文从课题开拓的背景、现状、目的意义开始,先容了本课题开拓的主要性;然后先容了本课题开拓所利用的干系技能和环境等;接着阐述本课题的剖析,包括对课题的需求性、可行性、性能方面、功能方面的剖析,紧接着设计了系统的功能和建立了系统的数据库,然后进行系统的实现和系统的测试[8]。以是,本篇论文的构造安排为:
绪论,本章包含课题开拓背景、现状、目的和意义以及内容;
系统实现的干系技能和环境,对JAVA措辞和Mysql数据库进行描述,并对其它干系技能、环境进行描述;
系统剖析,针对系统需求剖析、系统经济可行性、操作可行性、技能可行性剖析,还包括系统的功能、性能、流程进行剖析。本章包括各种流程图;
总体设计,描述系统的功能构造和画出系统的功能构造图,描述数据库的设计和画出数据库ER图、数据库表;
系统实现,描述系统的紧张功能和进行实现界面的展示;
系统测试,先容测试的目的、意义、步骤等,着重描述系统的功能测试用例和进行测试总结;
总结
致谢
参考文献
第2章 系统实现的干系技能和环境2.1Java先容Java措辞是从C++进行衍生出来的一种新型编程措辞,他保留了c++措辞中很多核心技能,继续了他的面向工具的优点,而且舍弃了很多缺陷,比如在Java措辞中去掉了指针,这样可以减少很多缺点,还去掉了运算符,这样提高了运行处理效率[9]。还增加了很多优点,添加了垃圾回收功能,提高了代码的利用率,总体来说,Java措辞是一个分布式的、高性能的、多线程的开拓措辞。Java从开拓之初便是打算作为一个开放性的措辞技能,这就哀求须要有很高的兼容性,首先就须要同样的代码程序可以在不同的打算机上运行,还要支持不同的网络,同时还要看重安全性,方便用户利用。Java措辞最突出的特点便是面向工具,可以把一个工具当成很多代码状态的物体,然后进行自定义类型进行关联操作,这样进行凑集起来的代码就叫工具,面向工具的方法可以使设计根据的大略,方便管理,还可以减少失落败[10]。C++最大的一个缺陷便是没有垃圾回收机制,常日在编程的过程中,初始化工具时候系统会自动分配一个内存地址,如果不须要这个工具的时候,系统不能进行自动删除和回收,这样造成了很大的内存摧残浪费蹂躏,导致系统卡顿,会让系统非常的不稳定,严重的话乃至会系统崩溃,而Java措辞便是在这个根本上设置了垃圾回收机制,当一个利用过的工具没有引用的时候,系统可以自动删除,回收内存,这样就可以很好的避免了内存泄露,保障了程序的安全,同时提高了运行效率[11]。 ## 2.2UML建模措辞先容 UML建模措辞是一个面向工具开拓的标准化建模措辞,目前作为一个统一的标注在实行,之前各种建模措辞都是相互独立的,而通过UML把他们全部联系了起来,这样可以使技能灵巧度很大的提高,减少了不必要的差异化[12]。通过UML建模措辞可以很大程度的扩宽系统的适用范围。建模措辞的浸染便是系统开拓前期阶段进行可视化演习训练,先建立好一个动态的模型,这样就可以清晰的展示出来自己要做的系统大致是个什么类型,更能直不雅观的通过图形化进行信息展示。UML建模工具包含很多图形,比如用例图,类图,时序图等各种图形,通过这些图形可以建立各种类之间的联系[13]。 ## 2.3 Html措辞先容 Html是一种超文本标记措辞,经由技能的不断发展,现在已经是html5版本了,html可以结合各种编程措辞利用,比如像jsp ,Java等都可以嵌入利用,html的事情事理便是当用户进行信息访问时候,可以借助于浏览器把html代码进行可视化展示,然后显示在浏览器上,以是html紧张是网页界面中利用,可以通过div+css等设计界面样式等。由于html是一个静态的网页技能,以是现在一样平常都不是单独利用,都要结合javascript脚本措辞形成动态技能,这样才能实现跟用户的交互,才能知足当代化的需求[14]。 ## 2.4Mysql数据库的先容 数据库分为很多种,一样平常有网状型数据库,层次型数据库,关系型数据库和面向工具数据库,而我们常常利用的就都是面向工具的数据库,比如像Mysql ,sql server或者Oracleog。这些数据库可以说是大同小异,采取的都是标准的sql语句格式,可以运用于各种关系型数据库。开拓本系统我选用Mysql数据库作为存储办法,由于Mysql数据库体积更小,对硬件哀求不高,最主要的还是免费的,直接就可以下载利用[15]。Mysql分为做事端和客户端两部分,可以直接通过客户端Navicat工具进行数据库的管理,数据可以直接进行可视化图形展示,操作起来非常的方便,大略易学,以是非常适宜一些中小系统的开拓和利用。Mysql是一个开源软件,是面向用户免费的,适宜小型项目的开拓和利用,而且存储的数据非常的多,存储办法是标准的sql语句形式。支持多种不同的措辞开拓,比如java ,php,c++等都能很好的兼容,非常适宜web措辞的开拓。而且对付有个性化哀求的开拓者来说,还支持定制,由于采取的开源的GPL协议,以是开拓者可以直接通过修正代码的办法来达到自己的需求[16]。Mysql是一个c/s架构的数据库管理软件,可以直接通过数据库客户端来进行管理操作,紧张分为做事端和一个客户端,做事端是安装的时候自动跟谁系统启动的,一样平常不须要额外操作,利用的时候直接打开客户端就可以,然后输入端口和安装时候设置的密码就可以登录,不用的时候可以断开数据库链接,从而担保数据安全[17]。 ## 2.5 SSM框架先容 SSM可以理解为是一个简化版的Spring框架模型,可以直接独立运行于各种开拓运用中,从而开拓各种产品运用。SSM结合了很多框架到一起的,建立好框架模型好,就可以直接自动天生所须要的所有Spring组件,非常的智能化,不须要自己在单独去写各种xml配置,可以自动配置各种所须要的文件包,使开拓更加的简化,如果有自己额外需求,也可以手动进行修正默认值[18]。SSM还直接集成了嵌入式的Servlet容器,以是不须要在额外打包WAR包,可以直接进行自动配置和版本掌握。不须要多余的代码天生,开箱即用,这样可以减少垃圾,提高系统的运行效率[19]。 ## 2.6Vue技能先容 目前也有好多的前台框架都可以利用,为什么要选择Vue框架呢:由于随着目前科技的进步,前端也须要有很大的业务事情须要处理,网页功能也须要变的更加的强大,才能知足前端开拓的需求,而这些都离不开JavaScript框架,现在开拓的前台代码都是直接天生到浏览器里来实行,这就自动天生了很多JavaScript代码,然后这些代码是和各种页面布局和样式文件结合在一起的,通过vue可以进行各种领悟;其次通过vue创建的代码掩护性更好,还有很好的可测试性,比如已经有了做事真个代码运用,可以直接嵌入到Vue中进行利用,从而有更好的交互体验,更好的知足用户需求,也可以根据需求直接把业务代码逻辑放到前段代码里实现,知足用户的各种需求,可以进行各种定制化操作[20]。Vue还可以把前台网页代码进行重复利用,直策应用到须要网页渲染的地方,通过Vue进行实行命令,使开拓更加的大略。 ## 2.7 Idea运行软件先容 一样平常运行Java措辞开拓的项目会采取Eclipse软件和Myeclipse软件以及Idea软件。Idea软件和Myeclipse软件比较,加入了智能助手,可以使系统的调试更快速,加快系统的运行。Idea软件和Eclipse软件比较,Idea软件拥有更多的插件,节省了下载更多插件的韶光。Idea软件是后起之秀,现在SpringBoot框架开拓的项目大多都采取Idea软件运行。Idea软件可通过网上搜索安装包进行安装,在安装时根据提示即可完成,并且可以免费注册,非常适宜练习利用[21]。Idea软件利用时也非常大略,导入项目后,只要通过大略的设置就可以运行项目,并且可以实现系统开拓和系统调试为一体,最主要的是,利用Idea软件在开拓系统项目时,Idea软件会自我改错和提示缺点。它所拥有的智能助手可以智能的修正编程职员在编程中的低级缺点,对付重大型的缺点也可以智能提示,方便开拓者在缺点的源头修正,以便发生更严重不好修正的问题[22]。
第3章 系统剖析3.1系统需求剖析需求剖析指在系统开拓前确定系统开拓是要办理什么问题,以及在系统中如果输入了什么信息,想要得到什么结果,末了呈现了什么结果。大略来说,需求剖析便是在问“想要干什么”然后通过“想要干什么”的问题找寻答案[23]。需求剖析是非常主要的过程,也是非常困难的过程。需求剖析具有系统是否要开拓的决定权,同时也为系统后期的开拓供应基石。在需求剖析阶段须要把稳由于系统的利用者和开拓者之间难以形成互换而且系统利用者的需求会一贯变革,以是在需求剖析时要采取动态发展的眼力看问题[24]。
理解音乐是跟上时期步伐的主要路子,虽然现在有各种平台可以供应音乐,但在专业平台上浏览音乐还是霸占不可动摇的地位。传统理解音乐的办法多为网上搜索,这类办法单一,效率不理想。用户想要评价音乐和其它用户进行互换还必须发布帖子,而本系统可以解放工作职员,想要查询音乐信息、和其它用户互换的用户可以自主操作,供应平台,更加知足用户的需求。以是本系统的开拓非常须要。 ## 3.2系统可行性剖析 ### 3.2.1技能可行性 本系统对硬件和软件方面的哀求都不高,目前市场上常见的打算机硬件设备都可以知足开拓本系统的需求,而且操作系统win7,win10都可以,也有很好的兼容性,通过Java措辞,结合Html等天生动态网页技能,来实现本系统须要的所有功能。Mysql数据库作为系统的数据存储,安全性有足够的保障,而且有好的管理效率,可以直接对数据进行构造化关系化管理,开拓这个别系采取的是SSM框架,SSM是一个非常成熟的框架构造,很多框架构造组件系统可以直接自动天生,非常的大略,适宜初学者的利用,不须要繁琐的配置,属于开箱即用的框架,而且功能非常的强大,完成知足本次系统开拓的需求。采取的主流B/S开拓模式,可以直接通过浏览器进行访问,非常的方便,不受硬件环境的限定。以是开拓本系统所采取的所有技能都是可行的。 ### 3.2.2经济可行性 经由前期的稽核调研后,本人认为开拓本系统不须要有什么大的支出用度,开拓本系统只须要有个打算机就可以,而开拓过程中所用到的编程软件和画图软件,还有数据库都是直接从官网就行免费下载的,都属于开源的软件,可以免费利用,而且本系统采取的是Mysql数据库,可以直接自己电脑进行掩护更新,不须要额外的掩护用度,以是在经济上也是可行的。 ### 3.2.3法律可行性 本系统的主题内容是积极向上的,而且开拓成功往后还能对社会带来很好经济效益,对社会是有用的,开拓本系统的过程中所编写的代码全部是由自己原创的,知识由老师上课所教授的,没有抄袭和借鉴任何别人的系统,以是也不存在侵权行为,以是开拓本系统在法律方面也是可行的。 ### 3.2.4操作可行性 开拓的时候已经考虑到了,本系统要面向所有的人群,不管是懂打算机操作的,还是不懂的,以是采取的界面设计,大略都雅,每个功能按钮都有笔墨提示,任何人都可以轻松节制,闇练利用。而且采取的是B/S构造模式,可以直接借助浏览器运行,用户不须要额外安装各种繁琐的软件,直接就能在网页里进行访问,非常的方便,以是本系统在操作上也是可行的。 ## 3.3系统性能剖析 性能剖析同样主要,系统的性能质量关系着系统的生命周期和受欢迎程度。对付系统的性能剖析紧张从以下几点来研究:
在系统开拓的过程中要用长远的目光看待问题,不能只看当下而减少事情量,考虑系统在未来可能碰着的事情强度,在现阶段只管即便提高系统的处理事务的能力和进行信息处理的相应韶光;系统要做到开放性,在设计数据库时要充分考虑到用户信息查询的多样性和变革性,须要对查询条件不断的进行升级、优化。加入大略的扩展配置,使后期系统在升级中可以通过扩展配置进行补充;在系统开拓中尽可能利用熟习的语法并进行大略标记、注释,方便今后系统的修正和完善,减少后期修正系统时熟习的韶光;除此之外要把稳系统中数据的完全性、准确性和同等性,数据要实现必要的共享和独立。由于本系统是开拓的一个公益平台,以是操作界面必须站在用户角度进行剖析设计,必须让用户看起来更加直不雅观,可以直接捉住主题,而且方便易操作,界面风格要大众化,符合大多人的需求,让用户利用起来更加便利;功能方面要要有完全的流程,还有更可能的大略,由于本系统的目的是通报信息,帮助用户理解音乐,不须要什么花里胡哨的功能,让所有用户都能及时的查看到各种信息,保障系统功能正常运行,不存在漏洞,以免延误主要信息的发布。还要保障数据信息的安全,由于打算机信息管理系统中,最主要的便是数据信息的安全,如果没有充分考虑到,万一涌现什么故障,数据丢失那就是非常麻烦了,以是一定要提前做好事情,重视起来。 ## 3.4系统功能剖析 本系统的界面分为前台界面和管理员后台界面。管理员后台界面和前台界面须要符合身份的用户通过登录验证后才可以利用。前台展示音乐信息、论坛信息、公告信息,用户可以播放音乐和收藏音乐、评论音乐,管理员可以更新音乐和审核论坛信息管理用户的评论以及公告信息等。管理员用例图如下图3.1所示:
图3.1管理员用例图
用户用例图如下图3.2所示:
图3.2用户用例图 ## 3.5系统流程剖析 本系统所有的功能利用都基于用户登录后,用户登录时数据流会从登录界面流向用户信息表中,然后数据库进行验证,如果可以找到用户输入的数据则界面就会跳转到登录成功界面,用户就可以在系统里进行操作。操作的数据会流向对应的数据库表中,完成用户的指令,末了将数据流入界面展示给用户。本系统的1层流程图如下图3.3所示:
图3.3系统流程1层图
对系统中信息的流动进行抽象就可以得到数据流程图。数据流程图表达了信息的逻辑模型,用来开拓职员和用户进行互换。本系统的流程2层图如下图3.4所示:
图3.4系统流程2层图
对管理员的功能进行剖析,得出管理员的信息流动,管理员可以管理音乐信息、用户信息、论坛信息和公告信息等。管理员的流程3层图如下图3.5所示:
图3.5管理员数据流程3层图
对用户的功能进行剖析,得出用户的信息流动,用户可以浏览音乐和揭橥评论。用户的数据流程3层图如下图3.6所示:
图3.6用户数据流程3层图
总结管理员和用户的信息流程,得出本系统的流程图。本系统的流程图如下图3.7所示:
图3.7系统流程图
个人中央功能为根本功能,个人中央的流程图如下图3.8所示:
图3.8个人中央流程图
音乐信息管理功能的流程图如下图3.9所示:
图3.9音乐信息管理功能的流程图
第4章 总体设计4.1系统设计流程剖析
一个好的系统在系统设计时须要采取一定的流程才可以顺利开拓。首先须要调研利用用户的需求,这里的利用用户不单单普通用户还指系统的管理职员、事情职员,只有充分理解他们的需求才可以设计也符合哀求的系统,其次,选择要利用的开拓措辞和技能、环境,开拓措辞和技能、环境的选择非常主要,开源的、生命周期长的、兼容性强的技能、环境、措辞才可以担保系统的生命周期,接着是研究目前已有干系类似系统的问题和找出可行的办理方案,末了,也是最主要的,须要尽可能的担保系统的前辈性,这样才不会过早的被淘汰。 ## 4.2系统详细设计和设计原则 详细设计便是首先要确定好打算详细怎么履行这个别系,也便是说,通过这个过程,就要完成系统的详细功能的描述和方案,这样就可以在程序编码的时候直接根据自己方案好的功能模块进行开拓。详细设计阶段还并不没有到程序开拓阶段,而是要先把程序设计出来,相称于便是一个草稿,先方案好设计的每个步骤,然后代码履行的时候直接编码就行了,不须要在进行系统设计。以是通过本思路,开拓本系统采取以下详细原则来进行:(1) 有效性:这里的有效性紧张是通过两个层面,首先是有用性,其次还要有可用性。有用性紧张是指开拓的这个别系有市场需求,是站在用户角度便是履行的,,可用性紧张是指用户利用后能知足用户的需求。以是说两个方面都要同时兼顾到,这样开拓的系统才是一个好的系统,是一个成功的系统,才能让用户满意。(2) 兼容性:一个成功的系统必须是可以兼容不同的环境的,要充分考虑到用户不同的硬件下,可以达到一样的效果,必须担保非常好的兼容性。(3) 安全性:用户安全也是最主要的一个环节,由于目前随着网络信息的发展,用户的数据安全,信息安全,隐私安全都是非常主要。既然把硬件和软件进行合理的充分利用,担保用户资源共享的情形下,还要担保系统数据安全,还要有备份和规复的功能。每个权限的用户,有自己不同的操作权限,从来担保数据信息安全。(4) 前辈性:开拓本系统采取目前比较盛行的SSM框架,可以知足开拓本系统的所有功能,数据库采取Mysql,数据也有很好的安全存储,采取微软平台上进行开拓,这样很好的担保了系统的兼容性和易掩护性。(5) 采取标准技能:开拓本系统所用到的各种技能标准均是目前国际现行标准,从而使系统有很好的开放性。 ## 4.3系统的界面设计 ### 4.3.1界面设计的原则 系统在界面设计时如果遵照一定的原则可以使设计更加顺利,可以减少缺点的发生和减少修正缺点的次数。系统的界面设计同样非常主要,只有一个好的界面才可以吸引用户利用,也才可以担保留住用户。界面设计的原则一样平常为:
对付相同功能,比如不同角色的修正个人资料管理采取相同风格进行设计,这样可以养成用户的操作习气,一眼看过去就知道本功能的浸染,不须要再仔细研究;不同角色的操作界面可以分开设计,这样可以差异角色,在角色的操作界面也须要设置提醒信息,方便用户可以一眼看到当前所登录的角色;在界面设计时只管即便设计可以减少手动打字,手动打字须要韶光和精力,并且缺点率也会提高,如果改变办法,改成选择、自动这种办法就可以减少用户的打字压力。比如在用户注册时的性别输入上、信息输入的种别上等;在操作时可以设置只管即便多的提示词和提示框来防止用户缺点操作和为用户的操作提示辅导,比如用户登录不堪利后可以提示为什么登录不堪利是密码缺点还是账号缺点。 ### 4.3.2信息输入功能的设计原则 为了提高信息输入的精确率,减轻用户的信息输入压力,可以在信息输入功能设计时采取尽可能减少手动输入的原则进行设计。信息输入功能的设计原则有:可以多选用选择框、列表框等办法减少手动输入,在须要输入大量笔墨时可以设计可以复制、粘贴,也可以利用特定缩写来代替;采取固定格式设计来减少用户的缺点输入,比如在输入联系办法时,只可以输入数字,当输入其它信息时会提示“格式禁绝确”,在输入数量时,也可以规定好只可以输入数字。 ## 4.4系统目标 本系统旨在达到音乐展示、音乐查询、音乐添加、评价管理、论坛管理、公告管理等为一体,为用户和管理员供应做事。使管理员更加轻松的进行事情,利用户更加快速的办理自己的问题。本系统的设计界面丰富,各个模块和按钮明确展示,使所有利用者都可以一览无余,达到人机交互、功能完好、可扩展的目的。 ## 4.5系统功能设计 根据第三章的功能剖析设计出本系统的功能为音乐管理、在线评价、音乐查询、用户注册、评价管理等。本系统的权限分为用户和管理员两种。界面分为管理员界面和前台界面、用户界面。本系统的功能构造图如下图4.1所示:图4.1系统功能构造图 ## 4.6数据库设计 数据库紧张作为数据库存储,也是系统主要的一步,数据库设计的过程也分为三个阶段来履行,首先是进行数据库需求剖析,其次对数据库建立观点模型,末了便是数据库逻辑设计。数据库需求剖析便是要弄清楚用户对开拓这个别系的明确需求,便是从这个数据库须要实现什么信息,然后详细建立什么类型的表,每个表对应什么数据存储,以及每个字段的设计都要考虑到,为了数据库的安全可靠,以是设计的时候必须站在系统工程的角度进行思考。需求剖析阶段,还要站在用户的态度进行考虑,进行数据安全剖析,同时进行数据统计和剖析用户的需求。数据库建立阶段首先要考虑各个数据字段,日常数据是否能知足基本需求,系统是否安全可靠,性能是否良好,操作是否方便,还有后期掩护等。末了便是数据库功能履行阶段,紧张便是数据的增编削查,是否能精确的进行操作,是否知足系统需求。
数据库设计分为两部分,数据库观点设计和数据库逻辑设计。数据库观点设计紧张是设计数据的ER图,数据库逻辑设计紧张是设计数据的数据库表。数据库连接图如下图4.2所示:
图4.2数据库连接图 ### 4.6.1数据库观点模型 数据库观点模型表达了数据实体和数据实体的关系等信息,在数据库的观点模型中记录了每个数据库表的字段,通过数据库观点模型可以轻松设计数据库。对系统中的数据信息进行抽象并建模可以完成数据库的观点模型,而数据库的观点模型用ER图来表达。数据库ER图设计时采取的是自底向上的办法,首先从利用者的角色进行视图设计,然后把设计的这些视图进行整合,末了根据整合进行剖析,得出结果。ER图是采取实体、联系的办法进行设计,ER图中的内容包括实体、属性、关系。实体是指系统中在事情时所利用的数据,属性是实体所包括的内容描述,关系是指实体与实体之间的联系。
本系统的紧张数据为管理员、用户、音乐信息、分类信息、评价信息等。管理员ER图如下图4.3所示:
图4.3管理员ER图
用户数据由管理员和个人管理。用户数据ER图如下图4.4所示:
图4.4用户ER图
音乐数据由管理员管理,用户可以浏览,音乐数据ER图如下图4.5所示:
图4.5音乐信息ER图
评论数据由用户和管理员管理。评论数据ER图如下图4.6所示:
图4.6评论ER图
分类信息由管理员管理,分类信息ER图如下图4.7所示:
图4.7分类信息ER图
公告信息由管理员发布和管理,公告信息ER图如下图4.8所示:
图4.8公告信息ER图
系统关系ER图如下图4.9所示:
图4.9系统关系ER图 ### 4.6.2数据库表设计 按照高内聚、低耦合的原则,并考虑到系统后期的扩展问题设计出本系统的数据库表。本系统的数据库表为管理员信息表,用户信息表、音乐信息表、评论信息表、论坛信息表等。本基于Web的音乐管理系统的数据库表构造如下表4.1-4.10所示:
表4.1 config
表4.2 dictionary
表4.3 forum
表4.4 news
表4.5 token
表4.6 users
表4.7 yinyue
表4.8 yinyue_collection
表4.9 yinyue_liuyan
表4.10 yonghu
第5章 系统实现5.1 JAVA与Mysql数据库连接
数据库建立好后须要和系统连接才可以使系统运行。本系统采取Mysql数据库,在连接时须要设置数据库的做事器名和密码。数据库连接的事理如下图5.1所示:
图5.1 JAVA连接数据库事理 ## 5.2系统用户界面的功能实现 ### 5.2.1用户登录功能的实现界面 登录功能是识别身份的唯一路子,本系统中的用户为普通用户、管理员。用户在登录时输入的信息须要流入数据库中进行比拟。如管理员输入admin admin,数据库则须要比拟管理员信息表中是否有admin admin的数据。存在该条数据才可以登录成功,不存在该条数据时会提示缺点。用户登录界面的设计效果如下图5.2所示:
图5.2用户的登录运行界面 ### 5.2.2 前台界面的实现 前台操作界面是门户,一个好的前台界面才可以吸引住用户。本操作界面里含有导航栏、系统名称、信息搜索窗口、音乐展示模块和公告资讯展示模块等。前台操作界面功能的实现界面如下图5.3所示:
图5.3前台操作展示的效果界面 ### 5.2.3用户注册功能的实现界面 游客可以注册,注册成为用户后才可以评价。用户注册功能的实现界面如下图5.4所示:
图5.4个用户注册功能的运行界面 ### 5.2.4音乐信息功能的实现界面 在音乐信息界面里可以播放音频和参与评论。音乐浏览功能的实现界面如下图5.5所示:
图5.5音乐浏览功能的实现界面 ### 5.2.5公告信息功能的实现界面 在本界面里可以展示所有的公告资讯信息。公告信息功能的实现界面如下图5.6所示:
图5.6公告信息功能的实现界面 ### 5.2.6论坛功能的实现界面 用户可以查看帖子和回答别人的帖子也可以发布新帖子。论坛功能的实现界面如下图5.7所示:
图5.7论坛功能的实现界面 ### 5.2.7揭橥评论功能的实现界面 用户可以揭橥自己的意见和其它用户进行互换。揭橥评论功能实现界面如下图5.8所示:
图5.8揭橥评论功能的实现界面 ## 5.3用户中央功能的实现 ### 5.3.1个人中央功能的实现在个人中央里用户可以修正密码和个人资料,实现界面如下图5.9所示:
图5.9个人中央功能的实现界面 ### 5.3.2论坛信息管理功能实现在用户中央里用户可以查看自己的帖子以及自己帖子的回答,论坛信息管理的实现界面如下图5.10所示:
图5.10论坛信息管理功能的实现
帖子回答信息的实现界面如下图5.11所示:
图5.11帖子回答的实现界面 ### 5.3.3公告信息管理功能的实现用户只能看公告,不能发布。公告信息管理的实现界面如下图5.12所示:
图5.12公告信息的实现界面 ### 5.3.4音乐信息管理实现界面在本界面里用户可以浏览音乐和播放音乐,实现界面如下图5.13所示:
图5.13音乐信息的实现界面 ### 5.3.5音乐留言管理功能的实现留言完成后用户可以看到自己的留言内容并看到留言的回答。音乐留言管理功能的实现界面如下图5.14所示:
图5.14音乐留言管理功能的实现 ### 5.3.6音乐收藏管理功能的实现用户可以管理收藏夹的内容。音乐收藏功能的实现界面如下图5.15所示:
图5.15音乐收藏管理功能的界面实现 ## 5.3系统后台管理员功能实现 ### 5.3.1音乐信息管理功能的实现界面 管理员可以发布音乐信息和实现音乐的修正、删除。音乐信息管理功能的实现界面如下图5.16所示:
图5.16音乐信息管理功能界面的实现 ### 5.3.2公告信息管理功能的实现界面 本功能包括对公告信息的添加、删除、修正、查询。添加公告时填写公告标题就可以完成,查询公告时填写查询条件即可以查询出来相对应的公告信息。查询公告信息功能的实现界面如下图5.17所示:
图5.17查询公告信息功能的实现界面 ### 5.3.3音乐留言管理功能的实现界面 音乐留言管理包括审核用户的留言内容和回答用户留言。回答音乐留言功能的实现界面如下图5.18所示:
图5.18回答音乐留言功能的实现界面 ### 5.3.4用户管理功能的实现 用户信息可在本功能里进行管理,可以查看用户的注册资料。查询用户信息功能的实现界面如下图5.19所示:
、图5.19查询用户信息功能的实现界面 ### 5.3.5管理员管理功能的实现 管理员可以添加设置新的管理员账号和修正、删除已有的管理员账号。管理员管理功能的实现界面如下图5.20所示:
图5.20管理员管理功能的实现界面 ### 5.3.6根本数据管理功能的实现界面 管理员可以对公告类型和音乐类型进行管理。利用本功能,管理员可以设置新的公告类型和音乐类型。根本数据管理功能的实现界面如下图5.21所示:
图5.21根本数据管理功能的实现界面 ### 5.3.7论坛信息管理功能的实现本功能包括收到用户的帖子信息和查看帖子的回答信息以及进行帖子回答和帖子删除。论坛信息管理功能的实现界面如下图5.22所示:
图5.22论坛信息管理功能的实现界面
StringUtil.javapackage com.utils;public class StringUtil { public static boolean isEmpty(String s){ if(s==null || s.equals("") || s.equals("null")){ return true; } return false; } public static boolean isNotEmpty(String s){ return !StringUtil.isEmpty(s); }}
TokenServiceImpl.java
package com.service.impl;import java.util.Calendar;import java.util.Date;import java.util.List;import java.util.Map;import org.springframework.stereotype.Service;import com.baomidou.mybatisplus.mapper.EntityWrapper;import com.baomidou.mybatisplus.mapper.Wrapper;import com.baomidou.mybatisplus.plugins.Page;import com.baomidou.mybatisplus.service.impl.ServiceImpl;import com.dao.TokenDao;import com.entity.TokenEntity;import com.entity.TokenEntity;import com.service.TokenService;import com.utils.CommonUtil;import com.utils.PageUtils;import com.utils.Query;/ token @author /@Service("tokenService")public class TokenServiceImpl extends ServiceImpl<TokenDao, TokenEntity> implements TokenService { @Override public PageUtils queryPage(Map<String, Object> params) { Page<TokenEntity> page = this.selectPage( new Query<TokenEntity>(params).getPage(), new EntityWrapper<TokenEntity>() ); return new PageUtils(page); } @Override public List<TokenEntity> selectListView(Wrapper<TokenEntity> wrapper) { return baseMapper.selectListView(wrapper); } @Override public PageUtils queryPage(Map<String, Object> params, Wrapper<TokenEntity> wrapper) { Page<TokenEntity> page =new Query<TokenEntity>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtils pageUtil = new PageUtils(page); return pageUtil; } @Override public String generateToken(Integer userid,String username, String tableName, String role) { TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>().eq("userid", userid).eq("role", role)); String token = CommonUtil.getRandomString(32); Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.HOUR_OF_DAY, 1); if(tokenEntity!=null) { tokenEntity.setToken(token); tokenEntity.setExpiratedtime(cal.getTime()); this.updateById(tokenEntity); } else { this.insert(new TokenEntity(userid,username, tableName, role, token, cal.getTime())); } return token; } @Override public TokenEntity getTokenEntity(String token) { TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>().eq("token", token)); if(tokenEntity == null || tokenEntity.getExpiratedtime().getTime()<new Date().getTime()) { return null; } return tokenEntity; }}
ForumServiceImpl.java
package com.service.impl;import com.utils.StringUtil;import org.springframework.stereotype.Service;import java.lang.reflect.Field;import java.util.;import com.baomidou.mybatisplus.plugins.Page;import com.baomidou.mybatisplus.service.impl.ServiceImpl;import org.springframework.transaction.annotation.Transactional;import com.utils.PageUtils;import com.utils.Query;import org.springframework.web.context.ContextLoader;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import com.dao.ForumDao;import com.entity.ForumEntity;import com.service.ForumService;import com.entity.view.ForumView;/ 论坛信息 做事实现类 /@Service("forumService")@Transactionalpublic class ForumServiceImpl extends ServiceImpl<ForumDao, ForumEntity> implements ForumService { @Override public PageUtils queryPage(Map<String,Object> params) { if(params != null && (params.get("limit") == null || params.get("page") == null)){ params.put("page","1"); params.put("limit","10"); } Page<ForumView> page =new Query<ForumView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,params)); return new PageUtils(page); }}
声明
本博客适用于广泛的学术和教诲用场,包括但不限于个人学习、开拓设计,产品设计。仅供学习参考,旨在为读者供应深入理解和学术研究的材料。
java系统设计,毕设辅导