基于SpringBoot的校园文章发布系统设计与实现

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:lhc300266
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:文章所设计的系统采用SSM模式和SpringBoot框架进行开发,使用Maven作为项目管理和构建的工具,在架构上采用分层设计,降低了系统的耦合度。这种设计便于系统的后期维护,增强了系统的可扩展性。SpringBoot和Maven技术的使用,使得项目的构建和管理更加方便。另外,前端使用Bootstrap框架和Thymeleaf技术。
  关键词:校园文章发布平台;SpringBoot;Maven;分层设计
  本文开发的校园文章发布平台中,用户在使用时可以实现注册登录,进入平台首页查看其他用户发布的文章,并进行评价,可以进入其他用户的主页查看,登录后台发布文章和设置自己的个人主页。系统在架构上采用分层设计,从而降低系统的耦合度,以便于后期维护,利用SSM(Spring+SpringMVC+MyBatis)框架集模式和SpringBoot框架进行整合开发[1-2]。
  1 关键技术
  1.1 MVC设计模式
  模型—视图—控制器(Model-View-Controller,MVC)是一种软件设计的典型设计方法。它将系统的业务逻辑、数据、界面显示分离开来,采用分而治之的思想对待程序系统,当系统需求发生变更时,只需要针对性地改动其相对应的部分即可。
  1.2 SSM框架技术
  SSM框架是Spring MVC,Spring和Mybatis框架的整合,采用标准的MVC设计思想,将整个系统划分为表现层、Controller层、Service层、DAO层4层[3]。使用Spring MVC负责请求的转发和视图的管理;使用Spring实现业务对象的管理;使用Mybatis作为数据对象的持久化引擎。Spring是一个开源框架,主要优势是分层架构。Mybatis是对JDBC的封装,可以让数据库底层的操作变得透明。
  1.3 SpringBoot框架技术
  SpringBoot是一个快速开发框架,能够迅速地将一些常用的第三方依赖整合起来。Spring Boot简化了XML配置,采用注解的形式,内置了HTTP服务器(Jetty和Tomcat),最终以Java应用程序进行执行[4]。
  2 系统实现
  对于用户功能结构,将从平台首页、用户个人主页、用户管理3个模块进行设计。
  用户在平台首页可以进行账户信息的注册、系统登录以及进入管理页面。用户进入平台首页看到的是平台内所有文章的列表,平台上会显示最新发布的用户文章。另外,用户如果有自己感兴趣或者想要了解的内容,可以根据关键字进行搜索。用户可以点击查看文章的详细页面,在文章的底部看其他用户提交的评论信息,也可以提交自己的评价。
  用户个人主页主要是用户信息的展示,从个人的主页、文章信息的归档、分类和标签的划分以及用户本身的个人信息等方面来展示。这些模块中,个人首页、归档、分类、标签中的内容都是用户自己定制的,也就是说每个人都可以不一样,是根据用户在用户管理的操作来决定的。
  用户管理是个人信息设置的模块,可以实现个人信息的维护和个人主页的定制。用户管理的功能主要包括修改用户个人基本信息和密码,查看个人通知,发布新的文章,对自己发布的文章进行管理,对其他用户针对自己文章的评论进行管理以及对发布文章时需要设置的分类标签信息进行管理。
  2.1 系统的主要功能模块
  系统主要分为3大模块:平台首页模块、个人主页模块和用户管理模块(见图1)。
  图1 系统的主要功能模块
  平台首页模块包括:(1)注册用户。用户进入注册页面,可以注册账户信息。注册用户和未注册用户的权限不同,未注册用户不能提交评论信息,不能进入用户管理模块。(2)登录系统。为满足一些功能的需求,系统会要求并提示用户登录。(3)浏览平台文章。进入首页后,可以看到一个平台所有文章的列表,列表的每一项有文章的主题和简略内容,点击可以进入详细页面进行查看,平台最新发布的文章会优先显示到平台列表的最前面。(4)搜索。用户可以根据关键字搜索自己感兴趣的内容,系统对用户输入的关键字进行筛选,重新渲染文章列表,显示筛选结果。(5)查看文章详细信息。(6)提交评论。用户读完文章后,可以提交自己的评价。
  个人主页模块包括:(1)浏览个人主页。以一个缩略信息的列表显示该用户所发布的文章。左侧有导航栏,分别可以进入归档、分类等其他用户前台的模块。(2)查看归档信息。以时间轴的形式显示用户发布文章的历程。(3)查看分类信息。主要显示用户设置的分类信息,将用户发布的文章以用户设置的分类进行划分,用户可根据分类快速找到自己曾经发布的文章。(4)查看标签信息。主要显示用户设置的标签信息,将用户发布的文章以其设置的标签信息进行划分,用户可根据标签信息快速找到自己曾经发布的文章。(5)查看关于自己。是关于用户自己的一些介绍,包括基本信息和其他信息,如技能、喜好、事迹等。
  用户管理模块包括:(1)修改个人信息。是对用户本身账户信息的修改,用户可以修改诸如邮箱之类的基本信息。(2)修改密码。(3)查看个人通知。展示发布的最新文章和其他用户的评论通知。(4)发布新文章。该部分是一个供用户在线编辑与发布新文章的模块,采用Markdown语法进行编辑,用户需要拟定主题,设置文章选用的模板以及文章的分类、标签信息,然后以Markdown的语法进行编辑,编辑结束后可以选择发布或拟定草稿。(5)管理文章信息。用户在该模块可以对自己已经发布的文章进行管理,包括编辑、修改和删除。(6)管理评论信息。进入该模块,以列表的形式显示其他用户对该用户文章所提交的评论,用户可以审核该评论的内容,审核通过则会在用户前台显示。对于不合理或不恰当的评论,用户可以审核不通过或删除評论。(7)管理分类标签。主要针对的是用户发布文章时,需要设置分类标签信息的管理。   2.2 數据存储设计
  本系统主要的实体对象包括用户信息实体、系统日志信息实体、文章信息实体、评论信息实体以及项目信息实体(见图2)。(1)用户实体。作为一个供用户在线交流的平台,其用户是一个群体,是整个系统的核心。(2)日志实体。在系统的运行过程中,管理员需要时刻监测整个系统的运行,查看用户的操作信息,所以日志信息需要作为一个实体。(3)文章实体。本系统是一个文章发布平台,所以文章信息也是一个重要的元素。将文章抽象为一个实体,包括主题、分类、标签、作者等信息。(4)评论实体。在用户阅览文章后,肯定会有一定的看法或者评论,而这些评论需要一个实体对象来承载,主要包括评论人、评论内容等。(5)项目实体。正常来说,每篇文章都有自己的标志,就像图书馆里的书籍,每一本书都需要分类入库。在系统中的文章也应该有自己的分类和标签,在用户需要快速找到一篇文章时,就可以通过分类信息和标签信息去筛选[5]。
  2.3 拦截器算法设计
  在用户访问系统资源时,系统会对用户的访问进行拦截,检查当前用户信息与确认信息是否一致,若不一致,则拒绝用户对系统资源的访问;若一致,则放行。
  对用户的拦截处理需要写入系统的配置,本系统基于SpringBoot框架,除了一些必要的配置写在application.yml文件中,其他需要添加的配置信息则通过继承WebMvcConfigurerAdapter来实现。
  拦截器的核心代码如下:
  // 请求拦截处理
  UserDomain user = TaleUtils.getLoginUser(request);
  if (null == user) {
  Integer uid = TaleUtils.getCookieUid(request);
  if (null != uid) {
  user = userService.getUserInfoById(uid);
  request.getSession().setAttribute(WebConst.LOGIN_SESSION_KEY, user);
  }
  }
  // 设置GET请求的token
  if (request.getMethod().equals("GET")) {
  String csrf_token = UUID.UU64();
  // 默认存储30分钟
  cache.hset(Types.CSRF_TOKEN.getType(), csrf_token, uri, 30 * 60);
  request.setAttribute("_csrf_token", csrf_token);
  }
  return true; // 返回true才会执行postHandle
  对于用户的每一次访问,系统都会检查cookie信息,若cookie信息已经失效,系统会转向登录页面,提示用户重新登录,才能获取对应的权限。此外,用户登录的有效时间设置为30 min。当用户登录系统超出30 min后,用户登录系统的账户信息会失效,系统会提示用户重新登录,这样可以避免用户操作过程可能存在的一些安全性和保密性问题。
  3 结语
  本文提出的系统设计方案已经实现,经各方验证完全可行,运行稳定,安全性好,使用方便。整个系统的开发过程中,有学生的参与,因此,有很强的针对性、实用性,也大大激发了参与学生在开发系统过程中的开发兴趣和热情。
  作者简介:张振球(1980— ),男,江苏徐州人,讲师,学士;研究方向:软件开发。
  图2 系统实体对象
  [参考文献]
  [1]SCHOMAKER M,HEUMANN C.Bootstrap inference when using multiple imputation[J].Statistics in Medicine,2018(2):434.
  [2]GUTIERREZ F.Security with Spring Boot[M].California:Apress,2018.
  [3]赵璘,王红霞.基于Spring MVC+JDBCTemplate的Web系统的研究与应用[J].软件工程,2017(1):5-8.
  [4]李枭,任维政.基于SpringMVC的多平台J2EE开发方式研究[J].吉林大学学报(信息科学版),2017(5):99-105.
  [5]龙德应,唐嫦燕.运用Bootstrap优化响应式高校图书馆数字资源系统的研究[J].农业图书情报学刊,2018(4):43-47.
  Design and implementation of campus article publishing system based on SpringBoot
  Zhang Zhenqiu
  (Xuzhou Economic and Trade Branch, Jiangsu Union Technical Institute, Xuzhou 221000, China)
  Abstract:This paper analyzes the system is developed with the SSM mode and the SpringBoot framework, uses Maven as a tool for project management and construction. The system adopts a hierarchical design on the framework and reduces the coupling degree of the system. This design facilitates the post-maintenance of the system and enhances the scalability of the system. The use of SpringBoot and Maven technology makes the construction and management of the project more convenient. In addition, the front end uses the Bootstrap framework and the Thymelaef technology.
  Key words:campus article publishing platform; SpringBoot; Maven; layered design
其他文献
由中国品牌研究院评选的首届"中国科技名牌500强",近日正式揭晓。凭借雄厚的研发实力和技术积累,泰州市5家企业荣登榜单。
本文使用灰色系统理论,对德兴铜矿北山露天采场不同材料公路路基稳定性进行了多因素关联分析研究,不但考虑构成路基介质的力学性质,而且考虑边坡结构和地下水的影响,为诸多因素对
喜剧小品是广大群众喜闻乐见的一种艺术形式,其言语幽默给观众留下深刻的印象,引起人们的研究兴趣。目前喜剧小品言语幽默的研究文献,多是分析总结其在语音、词汇、修辞格等方
本文从定量角度研究多级供应链利益分配问题。本研究以多个供应商、一个制造商、一个分销商和一个零售商构成的供应链为研究对象。主要采用模型分析与算例分析相结合的研究方
<正> 上海第一印染厂有漂染、雕刻、印花、整装和机动等五个车间,有两千多职工,是上海印染行业中的一个大厂。这个厂在文化大革命中,是受林彪、“四人帮”之害的“重灾户”。近三年经过整顿,狠抓管理,企业面貌发生了很大变化。特别是去年第四季度以来,他们在厂内试行了经济合同制以后,企业的生产和管理工作又向前大大跨进了一步。今年一至八月与去年同期相比,产量增长8.55%,总产值增长19%,利润增长13.28%,产品质量出现了“四超”(即超计划、超去年同期、超历史最好水平、超部颁标准)。现就在厂内实行经济
闽东电机厂是个生产小型电动机、发电机的工厂。论物质技术条件,这个厂也不见得比同行业的其他兄弟厂好。为什么二十多年来,这个厂所生产的电机的质量一直较好?为什么他们生产的 ST 系列单相交流发电机获得了国家金质奖章?这是很多同志想了解的问题。从某个角度上讲,这个厂在今年五月才开展全面质量管理的试点。但是,在此之前,他们的一套想法、作法,不正是从实际出发的、具有自己特点的全面质量管理吗?本文,主要介绍的是该厂如何从本厂的实际出发,学习与推广国外企业全面质量管理的经验。我们相信,这个厂的同志们,在自己已有的基础
11月26日,根据国家科技型中小企业技术创新基金要求,泰州市科技局组织四市两区27名专家对2008年国家科技型中小企业技术创新基金项目进行地方评审。
用醋酸—醋酸铵溶液处理方铅矿可以脱除方铅矿表面上的氧化物,同时产生0.89个单分子层的元素硫(S~o)。浮选试验表明方铅矿表面上元素硫量的多少与方铅矿的无捕收剂浮选行为有
航空发动机工作的稳定性和可靠性一直是研究的热点,也是关系航空事业发展堵塞的关键因素。文章系统介绍了航空发动机滑油系统的构成及特点,详细介绍了飞机维修时航空发动机滑
目的探讨同步实施家属健康教育对老年抑郁症患者生活质量的影响。方法选择56例老午抑郁症患者.分为对照组(28例)和观察组(28例),两组患者在常规治疗的同时接受健康教育,观察组在此基
会议