基于SSM框架的创业资讯发布系统的设计与实现
2021-03-05曾劲涛龙满生
朱 瑞,曾劲涛,龙满生
基于SSM框架的创业资讯发布系统的设计与实现
朱 瑞,*曾劲涛,龙满生
(井冈山大学电子与信息工程学院,江西,吉安 343009)
近年来,国家各级政府为支持大学生创业,陆续发布了较多政策信息,涉及融资、开业、创业培训和创业指导等方面,而如何高效管理这些信息并为大学生提供快速访问通道是急需解决的问题。本文设计和实现了一套创业资讯发布系统,该系统采用了主流的SSM整合框架、B/S结构模式、MVC设计模式和Spring Security安全框架。该系统具有较好的安全性、可操作性、可维护性和可扩展性,并已在高校投入使用。
创业资讯发布系统,SSM框架,B/S结构,MVC模式
0 引言
习近平总书记强调:“创新是社会进步的灵魂,创业是推动经济社会发展、改善民生的重要途径。青年学生富有想象力和创造力,是创新创业的有生力量。”加强创新创业教育,是推进高等教育综合改革、提高人才培养质量的重要举措[1]。为鼓励大学生创新创业,从国家到地方政府,各种服务于大学生创新创业的政策、法规陆续出台,各种级别的创新创业大赛也于每年定期开展。大部分高校已陆续成立了创新创业学院,为学生提供创新创业通识课、创新创业的培训和指导服务。因此,大量与创新创业相关的资讯随之衍生。为方便对这些资讯进行高效管理并为师生提供一个快速获取的通道,有必要建立一个针对创新创业的资讯发布系统。
当前已有不少涉及各类主题的资讯发布系统,其所采用的开发技术也不尽相同。刘申菊等[2]利用Asp.Net完成校园新闻发布系统的设计与实现。邬恩杰[3]以XML技术和JSP技术结合Mysql数据库开发出一套文章发布系统。阮卫华等[4]基于PHP的laravel框架开发了一套新闻发布系统。沈楠等[5]采用HTML5和CSS3技术开发实现了一套校园新闻发布系统,其后台技术使用ASP,数据库使用SQL Server 2008。臧淑霞[6]采用J2EE开发中常用的Web Work框架和Hibernate框架等技术开发了一个新闻发布系统。现有的相关系统仍存在一些问题。采用ASP技术的系统安全性较差,源码未被加密;其跨平台性较差,仅能在微软的平台下运行,而且运行速度较慢。而ASP.NET技术虽在安全性上比ASP有所提升,但其跨平台性仍然较差。PHP由于结构上的缺陷,后期维护较为困难。基于PHP开发程序的源代码是可见的、未加密的,因而安全性较差。
SSM框架技术[7]是近年来的一种主流的轻量级整合框架,包含Spring[8]、SpringMVC[9]和Mybatis[10];其中Spring实现业务对象的管理; SpringMVC负责请求的转发和视图的管理; Mybatis作为数据对象的持久化引擎。该框架可为项目开发带来成本低、效率高、可维护性好和可扩展性强等优点。目前SSM框架已较广泛地应用于Web系统开发,例如毕业设计管理系统[7]、信息采集管理系统[11]和数据可视化系统[12]等。将SSM框架用于开发新闻资讯发布系统的工作仍较少。
1 开发技术和环境
本系统开发采用了SSM框架。系统的身份安全认证采用了Spring Security安全框架[13]。它基于 Spring AOP 和 Servlet过滤器,提供了全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。系统结构采用了主流的浏览器/服务器(B/S)结构,使用户通过浏览器访问系统,无需安装其他软件。前台界面设计以简洁易用为核心,使用了响应式框架Element UI,可自适应屏幕大小。后台界面模块分工明确,逻辑清晰,在文章编辑模块嵌入了与Word兼容性较高的TinyMCE富文本编辑器[14],可保存从word粘贴到系统的文本的格式。
系统开发采用了IntelliJ IDEA工具;Web服务器和数据库服务器分别为Tomcat 8.5 和MySQL 5.6;SSM框架的版本为Spring MVC 4.2.1、Spring 4.2.1和Mybatis 3.3.0。Spring Security的版本为4.2.1。前端采用了WebStorm 开发工具。
2 系统设计
2.1 业务分析
大学生校园创业资讯发布系统的目的是帮助在校生更好地了解创业资讯,做好创业指导。校园创业资讯发布系统共有三个角色,游客、管理员(editor)和超级管理员(admin)。游客浏览前台展示的文章、查询文章及下载相关资料。管理员负责更新和编辑资讯,超级管理员具有用户管理的权限[10]。系统的业务流程图如图1所示:
图1 系统业务流程图
2.2 系统功能模块设计
采用前后端分离的开发方式,将系统划分为前台和后台2个部分。前台部分主要由用户登录、栏目列表、文章列表和文章详情4个模块构成,其中用户登录模块是管理员进入后台管理系统的入口。后台部分主要由栏目管理、用户管理、首页轮播图管理和文章管理4个模块构成,其中用户管理由超级管理员负责,主要是增删系统账号,设置系统用户的权限和信息。栏目管理与前台栏目列表相对应,可以增加一级或二级栏目,删除栏目及设置栏目信息。首页轮播图管理与系统前台的轮播图相对应,设置图片资讯,图片与后台具体的文章相对应。文章管理模块存放了系统所有文章及与这些文章相关的文件,这些文章会一直被保存,同时设计了较强的索引模块以供查找。文章管理模块可以增加、删除和修改文章,该模块集成了与word兼容性高的tinyMce富文本编辑器, word文档粘贴到该编辑器中可完美的保存原有格式。系统详细功能模块如图2所示。
图 2 系统功能模块图
2.3 数据库设计
2.3.1 概念模型设计
本系统的实体包含用户实体、文章实体、栏目实体、轮播图实体和附件实体,其实体关联图(E-R图)如图3所示。
图3 数据库E-R图
2.3.2 物理结构设计
依据数据库概念结构设计阶段的E-R图, 设计相应的物理结构,如图4所示。
图4 数据库物理模型
3 系统主要功能实现
3.1 用户登录
本系统后台访问权限基于Spring Security框架,所有需要登录才能访问的资源都在Security框架中进行了配置。当用户使用用户名和密码请求登录,系统会对用户的访问进行拦截,去验证用户名与密码是否正确,验证成功后,服务端会签一个 Token(令牌),再把这个 Token 发送给客户端,客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里。
系统会对用户的访问进行拦截,检查当前用户访问的请求中是否有Token,如果有则校验Token是否有效,如果验证成功,就向客户端返回请求的数据,若Token校验无效或未带有Token,就拒绝用户对系统资源的访问并跳转到登录页面。
3.2 用户管理
系统设置有管理员(editor)和超级管理员(admin)两个角色,超级管理员分配账号并设置权限给需要发布文章的用户,拿到账号的用户就可以使用系统发布文章,实现的界面如图5所表示。
图5 用户管理界面
3.3 栏目管理
文章归类于栏目,此处的栏目将显示在前台,管理员可以修改、删除栏目和创建栏目,实现的界面如图6、图7所示。
图6 栏目管理界面
图7 栏目增加界面
3.4 文章管理
文章管理包括文章的增、删、改和查询,以及文章发布状态查看与修改。管理员创建文章时,需输入文章标题、所属栏目并选择发布状态。文件上传允许上传任意格式的文件作为附件。文章保存时系统会自动记录创建者的信息作为文章的一部分进行保存,同时检查文章的发布状态属性,如果是发布则保存完之后就会立即发布。文章查询时,可输入文章的部分标题进行模糊查询,同时可以选择栏目进行组合查询。
TinyMCE是一个轻量、简洁、功能强大的富文本编辑器,可嵌入网页中方便用户编辑文章或信息。引入TinyMCE富文本编辑器的核心代码如下所示:
保存文章及相关文件的核心代码如下所示:
文章管理、文章编写和文章发布状态的界面分别如图8、图9和图10所示。
图8 文章管理界面
图9 文章编写界面
图10 文章发布状态界面
管理员完成文章的发布之后,可以返回到文章发布页面查看文章的发布信息,包含文章的发布作者、发布时间和发布状态等,同时可通过“发布/撤销”按钮修改发布状态。
4 总结与展望
本系统的优势和特色体现在以下几方面:(1)可对资讯进行多级分类索引,便于用户随时查阅或更新资讯,对创业资讯的收集和处理流程的自动化管理提供了较好的支持;(2)设计采用了高度封装的Java代码和通用的业务逻辑,只需少量修改就可改造成通用的资讯管理系统,因而具有良好的适应性和扩展性;(3)在人机交互方面,通过响应式框架和富文本编辑器技术,优化了操作界面,提升了用户的使用效率,降低了用户的学习成本。
目前本文设计的校园创业资讯发布系统已在井冈山大学校园网使用,为近2万名师生提供创业资讯查询服务,受到了良好的评价。后期可考虑扩大系统应用范围,面向全社会提供相关资讯服务。
[1] 吕京,张海东. 人民日报新知新觉:大力推进高校创新创业教育[EB/OL]. http://opinion.people.com. cn/n1/ 2020/0416/c1003-31675209.html.
[2] 刘申菊,田丹. 基于ASP.NET的校园新闻发布系统的设计[J].黑龙江科技信息,2016(15):185.
[3] 邬恩杰,张静. 基于XML文章发布系统的设计与开发[J].电脑编程技巧与维护,2016(14):20-22.
[4] 阮卫华,何正焱. 基于laravel框架的新闻发布系统的设计[J].软件,2019,40(8):59-61,65.
[5] 沈楠,崔忠伟,刘卓. 基于HTML5与CSS3的高校新闻发布系统的设计与实现[J].电脑知识与技术,2016, 12(10):86-87.
[6] 臧淑霞. 基于J2EE的新闻发布系统设计概述[J].计算机光盘软件与应用,2014,17(6):264,266.
[7] 刘继华,路晓梦,张志宏,等. 基于SSM框架的毕业设计管理系统设计与实现[J].吕梁学院学报,2020,10(2): 34-38.
[8] Spring[EB/OL].https://spring.io/why- spring.
[9] 李枭,任维政. 基于SpringMVC的多平台J2EE开发方式研究[J].吉林大学学报:信息科学版,2017(5):99-105.
[10] Mybatis[EB/OL]. https://mybatis.org/ mybatis-3.
[11] 孙旸. 基于SSM框架的高校信息采集管理系统设计与实现[J].无线互联科技,2019,16(23):48-50.
[12] 杨鹏飞,郭鸿湧,赵继军. 基于SSM框架的社区环境数据可视化系统[J].电脑知识与技术,2020,16(12):99-101.
[13] Spring Security[EB/OL]. https:// spring.io/ projects/ spring-security.
[14] TinyMCE [EB/OL]. https://www. fastadmin. net/store/ tinymce.html.
DESIGN AND IMPLEMENTATION OF ENTREPRENEURIAL INFORMATION PUBLISHING SYSTEM BASED ON SSM FRAMEWORK
ZHU-rui,*ZENG JIN-tao, LONG MAN-sheng
(School of Electronics and Information Engineering, Jinggangshan University, Ji’an, Jiangxi 343009, China)
In recent years, in order to support college students' entrepreneurship, many policies have been gradually released closely related by governments at all levels, involving financing, starting business, entrepreneurship training and entrepreneurship guidance, etc. It is an important issue how to manage this information efficiently and provide quick access for college students. In this paper, An entrepreneurial information management system had been designed and implemented. The popular SSM framework, B/S structure mode, MVC design mode and Spring security framework were adopted in this system. The system had been deployed in the campus network of universities and showed good security, maneuverability, maintainability and extensibility.
information publishing system; SSM framework; B/S; MVC
TM311
A
10.3969/j.issn.1674-8085.2021.01.010
1674-8085(2021)01-0054-07
2020-10-19;
2020-11-16
江西省教育厅科技计划项目(GJJ190565);吉安市重点研发项目(吉财教指[2019]55号)
朱 瑞(1998-),男,江西赣州人,井冈山大学电子与信息工程学院计算机专业 2016级本科生(E-mail:1623893955@qq.com);
*曾劲涛(1978-),男,江西吉安人,副教授,博士生,主要从事计算机应用、遥感信息处理等研究(E-mail: rarehorse@163.com);
龙满生(1977-),男,江西万载人,副教授,博士,主要从事遥感信息处理研究(E-mail: longmansheng@qq.com).