新闻管理系统设计与实现研究

时间:2022-11-06 10:42:26

新闻管理系统设计与实现研究

摘要:针对传统新闻管理系统存在的准确性低和时效性差等问题,为了增强新闻管理系统的信息交互,减轻网站更新维护的工作量,提高网站的更新效率,利用SpringMVC架构的高内聚低耦合开源框架技术思想和体系结构,应用Web前端开发技术,借助B/S模式,结合Java语言和MySQL数据库,设计并开发了轻量级的新闻管理系统。给出了系统架构和Web模型设计,实现了用户注册登录、新闻评论和系统后台管理等功能。测试结果表明,在不同的操作系统和浏览器环境下,系统运行效果稳定,操作方便、快捷,其功能达到了设计要求,为实现新闻资讯的高效管理提供了可视化、可扩展的信息平台,具有一定的实用价值。

关键词:SSM框架;新闻;管理系统;B/S模式;SpringMVC框架;数据库设计

新闻资讯作为信息的一部分,具有种类繁杂、形式多样等特点。传统的新闻信息来源方式简单,传递途径单一,传播过程环节较多,信息的准确度降低,信息的时效性较差。随着互联网技术和人工智能的不断发展,人们对新闻资讯的来源方式以及准确性和时效性都提出了更高的要求[1]。如何更好地解决诸如信息来源单一、准确性低和时效性差等问题,已经成为各行各业尤其是新闻出版领域从业人员十分关注的焦点。根据市场调查显示,目前网站新闻的管理主要有两种方式:一种是静态HTML页面,其更新信息时需要重新制作页面,然后上传页面并修改相应链接,这种方式因为效率太低,基本上未被广泛使用[2];另一种是基于ASP和脚本语言,将动态网页和数据库相结合,通过后台的应用程序管理新闻[3],这是目前较为流行的做法。但是由于ASP技术本身的局限性使得现存的新闻系统还存在较多需要改进的缺陷。针对传统新闻管理系统存在的准确性低和时效性差等问题,利用SpringMVC架构的高内聚低耦合模式[4⁃5],应用Java,Web等前端开发技术,借助B/S平台模式,设计并实现轻量级的新闻管理系统,通过引用网络数据库,为网站新闻系统的高效管理提供可视化、可扩展的信息平台,减轻网站更新维护的工作量,提高网站的更新速度,加快资讯信息的传播,保持网站的活动力和影响力。

1SSM开源框架

SSM是一个轻量级开源框架集,包含Spring,SpringMVC和MyBatis三个部分,主要由Spring和MyBatis两个开源框架整合而成,其中,SpringMVC是Spring中的部分内容,通常作为数据源较为简单的Web项目的系统框架[6⁃7]。应用程序利用页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送处理请求,持久层与数据库进行交互,然后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据处理结果[8⁃9]。基于SSM框架的应用程序执行流程如图1所示。1.1Spring框架Spring作为当前Java运用最广泛的一个开源框架,它是一个轻量级的控制反转和面向切面的容器类框架[10]。Spring通过控制反转(IoC)技术,利用在配置文件中指定使用特定参数的方式调用实体类的构造方法来实例化对象,由Spring创建DI(依赖注入)直接使用,不再需要程序员应用new构造方法显示新建一个对象,大大降低了系统中各个层面之间的依赖性。Spring面向切面的编程技术,在事务管理方面也具有独特的优势,利用自身提供的一套JDBC访问模板,能够较为容易地管理数据库事务,实现日志记录和安全控制。同时,Spring易于集成其他层的框架,使得每个层之间相互独立,降低系统分层框架之间的耦合度。1.2SpringMVC框架SpringMVC作为Spring框架的后续产品,目前已经融合于SpringWebFlow,它在系统中接收用户请求,其核心的DispatcherServlet承担中介或前台职责,将用户请求通过HandlerMapping匹配Controller,从而具体对应请求所执行的操作。SpringMVC分离了控制器、模型对象和分派器以及处理程序对象等角色,这种分离让系统更容易进行定制[11]。基于SpringMVC的Web工程模板可根据业务需求自动生成相应的代码,达到高效、规范、便捷的目的,解决代码复用问题。但SpringMVC主要负责表示层,在诸如事务管理、安全检查等Service层服务的业务逻辑方面不能很好地支持,使得系统的可维护性不高,而与Spring框架结合使用可有效解决上述矛盾。1.3MyBatis框架MyBatis是基于Java的持久层框架,包括SQLMaps和DataAccessObjects(DAO)[12]。它使用简单的XML或注解用于配置和原始映射,通过对象关系映射(ObjectRelationalMapping,ORM)将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录,从而与关系型数据库建立联系。MyBatis的操作均围绕sqlSessionFactory实例展开,通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库操作所需进行的SQL语句映射,在每次与数据库交互时,通过sqlSessionFactory得到sqlSession,再执行相应的SQL命令。用户可以自己设计动态SQL语句和存储过程,避免了传统的JDBC代码,简化了传统数据库增删查改操作的重复代码,缩短了系统的开发周期,增强了系统的灵活性和可扩展性。

2新闻管理系统设计

新闻管理系统采用MVC设计模式,利用SpringMVC架构的高内聚低耦合开源框架,实现系统的功能模块和显示模块之间的分离,提高了系统平台的可扩展性、可维护性、可移植性和组件的可复用性,降低业务逻辑接口与数据接口之间的耦合度,有利于软件系统的工程化管理。2.1系统功能需求分析及总体框架设计根据新闻与管理的实际工作流程,考虑到系统的主要使用对象是小型企业,因此,系统的功能需求为:通过本系统,企业可以和管理自身的新闻资讯信息;注册用户能够通过评论与客户进行良好地沟通交流;直接使用静态HTML页面,提高用户的访问效率;采用模块开发增强系统的维护性;系统需要采用适当的加密功能以增强安全性;系统能够根据普通用户和管理员用户类型设置不同的操作权限,普通用户只能登录进行主页的操作,不能进入管理员界面,而管理员不仅可以进行管理员页面操作,同时也可以进行主页的操作。根据系统的功能需求分析,系统总体框架设计主要包含前台设计部分和后台设计部分[13]。系统前台设计部分主要用于页面显示的操作,用于显示系统已经的新闻列表及其相关具体信息,同时包括用户注册、用户登录和找回密码等功能[14]。用户登录后可以和显示新闻,也可以对已的新闻进行评论,同时通过个人中心显示登录后的用户相关信息和评论内容。系统前台功能结构如图2所示。系统后台设计部分主要用于管理员页面的操作,主要划分为新闻管理、评论管理和用户管理三个具体模块,通过增加、删除、修改和浏览等功能,实现新闻系统的高效管理[15]。新闻管理模块主要负责对新闻信息的浏览、修改、删除和查询等具体操作功能;评论管理模块主要负责对新闻评论内容的浏览、删除和查询等具体操作功能,且只能查看评论的发表作者和评论时间;用户管理模块主要负责包括管理员在内所有用户的修改、删除、查询和权限设置等具体操作功能。系统后台功能结构如图3所示。2.2数据库设计数据库设计是整个系统设计的关键,合理的数据库能够有效地管理后台数据,既便于数据的集中管理和控制冗余,提高数据的使用率和一致性,又有利于程序的开发和维护,提高软件的实用性。系统采用MySQL作为后台数据库,根据系统功能要求,需要有用户(user)表、新闻信息(new)表、新闻评论(new_comment)表和新闻类型(category)表。其中,user表主要为了记录系统中所有用户的详细信息,含有六个字段,分别为:user_id(用户序号,主键)、user_name(用户名称)、user_password(用户密码,MD5加密)、user_email(常用邮箱)、user_age(用户年龄)和create_time(注册时间),数据库中user表的结构如表1所示。新闻new表主要为了保存系统中所有新闻的详细信息,含有7个字段,设计了3个主键,具体字段为:new_id(新闻序号,主键)、category_id(新闻类型序号,主键)、user_id(作者序号,主键)、title(新闻标题)、content(新闻内容)、create_time(时间)、key_words(关键字),数据库中new表的结构如表2所示。

3新闻管理系统实现

根据总体设计方案和功能需求,系统利用SpringMVC架构的高内聚低耦合开源框架,应用Web前端开发技术,采用B/S模式,在JDK(JavaDevelopmentKit)1.8开发平台中利用Java语言和MySQL数据库实现了基于SSM框架的轻量级新闻管理系统的用户注册登录、新闻评论和系统后台管理等功能。3.1用户功能模块实现。1)注册模块实现用户利用浏览器进入系统主页,通过用户注册功能将增加的用户信息保存并记录于后台数据库,即可完成注册过程。用户注册模块通过调用SpringMVC框架,接收表单请求,采用JavaScript脚本在前端对注册的用户名、密码和邮箱等必填信息进行合法性检查。注册信息合法后再传入后台进行数据验证。首先将已注册合法的用户信息存储到Redis二级缓存中进行冲突检测,若Redis缓存中不存在该数据,则将用户信息继续传入后台数据库进行数据检测,若数据库中也无该用户信息,则向Redis缓存和数据库中插入数据,返回,注册成功,否则,提示注册失败。用户注册模块的程序流程如图4所示。2)登录模块实现用户通过浏览器打开系统登录页面,登录模块利用Spring框架进行表单校验,控制跳转,调用相应的Service服务。首先采用JavaScript脚本在前端对用户输入的用户名和密码等登录信息进行合法性检测。然后,为防止用户重复登录,需将合法数据输入Application和Redis二级缓存区中进行冲突查询。若均未找到,则将用户登录信息再次传入后台数据库进行数据对比和验证。若数据正确,则返回登录成功,否则,提示用户名或密码错误,重新进行登录。用户登录模块的程序流程如图5所示。3)新闻和评论模块实现用户借助浏览器注册登录成功后,在系统首页点击添加文章,输入文章的新闻标题、关键字,选择相应的新闻类型,调用HTML可视化KindEditor编辑器在线编辑新闻正文部分内容后,点击提交即可进行新闻。其中,新闻类型由系统根据输入给定的数字序号对新闻进行分类判断,比如娱乐为1、军事为2、体育为3、社会为4、历史为5、法制为6。用户在浏览新闻的过程中,如果对某一新闻感兴趣,可以发表自己的看法,在该条新闻正文的下方输入框中添加自己想要发表的内容,点击提交,对新闻进行评论,刷新页面后,可在下方的全部评论中显示评论内容。3.2管理员功能模块实现。管理员功能模块主要包括用户管理、新闻内容和评论管理等功能。管理员利用浏览器登录系统后,可以查看包括管理员在内所有用户的用户名、用户类型、注册邮箱、年龄、注册时间等信息;可以设置普通用户和管理员用户的权限,普通用户只能登录进行主页的操作,不能进入管理员界面,而管理员不仅可以进管理员页面同时也可以进行主页的操作,还可以对用户进行强制下线和删除修改等操作。管理员登录后进入后台管理页面,点击新闻列表可显示新闻标题、作者、类别、关键字以及时间等有关新闻的所有信息。管理员能够对其中的新闻进行查看、修改、删除和审核等操作。同时,管理员可输入新闻标题或时间等关键字进行模糊查询和关键字查询。管理员进入新闻评论管理模块,能够查看评论内容、评论作者和评论时间,也能够对评论进行删除和模糊查询操作。

4新闻管理系统测试

4.1系统测试环境构建。根据新闻管理系统的设计方案,结合系统正常工作所需要的运行环境,针对系统设计的功能需求,搭建系统测试环境[16]:系统运行的硬件环境是CPU在1.0GHz以上、内存512MB以上;软件部分要求操作系统平台为Windows10;数据库版本为MySQL5.1.46;服务器版本为Tomcat7.0以及浏览器使用IE10浏览器。4.2系统测试过程及结果。1)系统功能测试根据新闻管理系统设计的原型,测试过程按照系统需求逐一测试检查每个模块的功能是否完整,流程是否正确,各个模块的衔接能否正常跳转。主要测试能否正常注册用户、用户能否正常登录;登录后测试用户能否正常新闻、能否正常发表相关评论;测试管理员能否对新闻、评论和用户等模块进行正常的增加、删除、修改和查询操作。系统功能测试表明,新闻管理平台能够进行用户注册登录和新闻评论,管理员能够对新闻、评论和用户等模块进行管理操作,系统整体功能相对较少,但基本达到设计的预期效果。2)系统压力测试为了检验新闻管理系统的处理能力,考察当前软硬件环境下系统所能承受的最大负荷,测试系统能否维持在一个标准范围内的稳定性,通过测试系统的瓶颈或者不能接受的性能点,从而获取系统所能够提供的最大服务级别,帮助找出系统的瓶颈所在。系统压力测试采用基于Java的压力测试工具ApacheJMeter,它可以对文件、脚本和数据库、对象等静态和动态的资源进行测试,针对服务器和网络模拟繁重的负载,分析在不同压力类型下系统的强度和整体性能。压力测试结果表明,新闻管理系统经过500次并发访问负载的测试,仅存在少量访问异常,系统运行基本稳定,达到了预期的性能。3)系统兼容性测试为了适应不同用户的系统使用需求,测试系统在不同操作系统和浏览器环境下运行结果是否正常。考虑不同用户对操作系统的使用频率,结合目前市面上常用的各种浏览器以及不同爱好用户的使用情况,将新闻管理系统分别在Win7,Win8和Win10操作系统和IE,Chrome,Firefox浏览器下进行兼容性测试。测试结果表明,在不同的操作系统和浏览器环境下,新闻管理系统均能正常运行。

5结论

利用SSM轻量级开源框架技术体系思想,应用Web前端开发技术,借助B/S模式,结合Java语言和MySQL数据库,设计并开发了轻量级的新闻管理系统,实现了用户注册登录、新闻评论和系统后台管理等功能。在不同的操作系统和浏览器环境下,系统运行效果稳定,操作方便快捷,其功能达到了预期的设计要求,增强了新闻管理系统的信息交互,提高了新闻类网站更新维护的效率,为实现新闻资讯系统的高效管理提供了可视化、易扩展的信息平台。但在系统的功能拓展和并发访问等方面,尚待进一步研究完善。

作者:牛怀岗 林关成 单位:渭南师范学院