这是一个后台管理模块的Java类,包含了起始页、发表文章、文章列表、修改文章和删
文章等功能 :
-
index(HttpServletRequest request)
:该方法用于处理管理中心起始页的请求。它调用了siteServiceImpl
的方法获取最新的5篇博客和评论,以及统计数据,并将它们存储在Request域中。返回字符串"back/index"
表示返回到后台管理首页的视图。 -
newArticle()
:该方法用于跳转到文章发表页面的请求。它返回字符串"back/article_edit"
表示跳转到文章编辑页面的视图。 -
publishArticle(Article article)
:该方法用于处理发布文章的请求。它接收一个Article
对象作为参数,其中包含了要发布的文章的信息。如果文章的分类信息为空,则设置为默认分类。然后调用articleServiceImpl
的publish
方法来发布文章。如果发布成功,则返回一个成功状态的ArticleResponseData
对象,否则返回一个失败状态的对象。 -
index(int page, int count, HttpServletRequest request)
:该方法用于跳转到后台文章列表页面的请求。它接收两个参数,表示要显示的页数和每页显示的文章数量。使用这些参数调用articleServiceImpl
的selectArticleWithPage
方法来获取分页的文章列表。然后将这个列表存储在Request域中,并返回字符串"back/article_list"
表示跳转到文章列表页面的视图。 -
editArticle(String id, HttpServletRequest request)
:该方法用于跳转到文章修改页面的请求。它接收一个字符串类型的文章id作为参数,使用这个id调用articleServiceImpl
的selectArticleWithId
方法来获取要修改的文章的信息。然后将文章内容和分类信息存储在Request域中,并返回字符串"back/article_edit"
表示跳转到文章编辑页面的视图。 -
modifyArticle(Article article)
:该方法用于处理文章修改的请求。它接收一个Article
对象作为参数,其中包含了要修改的文章的信息。调用articleServiceImpl
的updateArticleWithId
方法来更新文章信息。如果更新成功,则返回一个成功状态的ArticleResponseData
对象,否则返回一个失败状态的对象。 -
delete(int id)
:该方法用于处理文章删除的请求,它接收一个整数类型的文章id作为参数,使用这个id调用articleServiceImpl
的deleteArticleWithId
方法来删除对应的文章。如果删除成功,返回一个成功状态的ArticleResponseData
对象,否则返回一个失败状态对象。
基于Spring框架的Java后端控制器类,主要实现了在文章下方发表评论的功能。
代码中通过@Controller和@RequestMapping注解对该类进行了标记,使其成为Spring MVC框架下的Controller。同时@Autowired注解是一个依赖注入注解,用来自动装配ICommentService接口的实现类commentServcieImpl。
其中,publishComment方法是一个处理HTTP POST请求的方法,使用了@PostMapping注解,并指定了请求路径为/comments/publish。该方法包含两个参数,第一个是HttpServletRequest对象,用来获取用户的IP地址;第二个是@RequestParam注解指定的文章id和评论内容text,用来封装评论信息。在该方法中,首先调用MyUtils类的cleanXSS方法,用于去除text中可能存在的XSS脚本攻击。接着使用EmojiParser类的parseToAliases方法将text中的表情符号解析为别名。然后通过SecurityContextHolder.getContext().getAuthentication().getPrincipal()方法获取当前登录的用户,使用其用户名作为评论作者。最后,根据aid、用户IP地址、当前时间和评论内容text构造一个Comment对象,并调用commentServcieImpl对象的pushComment方法将该评论保存到数据库中。在try-catch语句块中,当保存成功时,返回一个状态码为200的ArticleResponseData对象,否则返回一个状态码为500的ArticleResponseData对象。