个人博客是一种基于互联网的个人创作、分享和交流的平台。它可以记录个人的思考、经验、感悟和学习成果等,也可以分享个人的作品、兴趣和爱好等。通过个人博客,人们可以与其他人交流,获取反馈和建议,不断提高自己的知识和能力。
个人博客系统开发简要分为五大模块
- 首页
- 登录功能
- 评论管理
- 文章管理
- 邮件管理
本期给大家介绍的是文章管理模块
一、文章发布
1.文章处理层实现
(1)编写service层接口方法
在文章业务接口IArticleService中新增一个发布文章的方法,示例代码如下:
// 发布文章
public void publish(Article article);
(2)编写service层接口实现类方法
在文章业务层接口实现类ArticleServiceImpl中实现publish()方法,示例代码如下:
// 发布文章
@Override
public void publish(Article article) {
// 去除表情
article.setContent(EmojiParser.parseToAliases(article.getContent()));
article.setCreated(new Date());
article.setHits(0);
article.setCommentsNum(0);
// 插入文章,同时插入文章统计数据
articleMapper.publishArticle(article);
statisticMapper.addStatistic(article);
}
在上述代码中,先对发布的内容进行表情过滤操作,然后调用接口文件ArticleMapper和StatisticMapper分别插入文章数据并统计文章数据。
2.请求处理层实现
(1)在后台admin控制类中添加页面跳转的方法
// 向文章发表页面跳转
@GetMapping(value = "/article/toEditPage")
public String newArticle( ) {
return "back/article_edit";
}
(2)包括跳转到文章发布页面的请求方法,发布文章页面的请求方法
// 发表文章
@PostMapping(value = "/article/publish")
@ResponseBody
public ArticleResponseData publishArticle(Article article) {
if (StringUtils.isBlank(article.getCategories())) {
article.setCategories("默认分类");
}
try {
articleServiceImpl.publish(article);
logger.info("文章发布成功");
return ArticleResponseData.ok();
} catch (Exception e) {
logger.error("文章发布失败,错误信息: "+e.getMessage());
return ArticleResponseData.fail();
}
}
发布文章请求的方法以及成功发布文章后跳转到文章管理列表的请求方法,示例代码如下:
// 跳转到后台文章列表页面
@GetMapping(value = "/article")
public String index(@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "count", defaultValue = "10") int count,
HttpServletRequest request) {
PageInfo<Article> pageInfo = articleServiceImpl.selectArticleWithPage(page, count);
request.setAttribute("articles", pageInfo);
return "back/article_list";
}
上述代码中的方法都用于处理请求,其中, newArticle()方法用于处理路径为“admin/article/toEditPage”的请求,并跳转到文章发布