Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)

源码获取:博客首页 "资源" 里下载!
项目介绍
本系统分为管理员、游客两种角色;
管理员角色包含以下功能:
登录,用户增删改查,文章增删改查,链接增删改查,日志查看,查看近期数据,类别管理等功能。

游客角色包含以下功能:
首页,查看文章,注册账号,登录,管理自己写的文章,管理自己的文章,评论文章等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
1. 后端:SpringBoot
2. 前端:JSP+CSS+JavaScript+LayUI
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean; maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8090/ 登录
Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)
文章图片

Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)
文章图片

Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)
文章图片

Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)
文章图片

Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)
文章图片

Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)
文章图片

管理员博文控制层:
/** * @author yy */ @Controller @RequestMapping("/admin") public class BlogController {@Resource private BlogService blogService; @Resource private CategoryService categoryService; /** * 博客列表 * * @param params 参数 * @return com.hbu.myblog.util.Result */ @GetMapping("/blogs/list") @ResponseBody public Result list(@RequestParam Map params) { if (StringUtils.isEmpty(params.get("page")) || StringUtils.isEmpty(params.get("limit"))) { return ResultGenerator.genFailResult("参数异常!"); } PageQueryUtil pageUtil = new PageQueryUtil(params); return ResultGenerator.genSuccessResult(blogService.getBlogsPage(pageUtil)); }/** * @param request http请求 * @return java.lang.String */ @GetMapping("/blogs") public String list(HttpServletRequest request) { request.setAttribute("path", "blogs"); return "admin/blog"; }/** * @param request http请求 * @return java.lang.String */ @GetMapping("/blogs/edit") public String edit(HttpServletRequest request) { request.setAttribute("path", "edit"); request.setAttribute("categories", categoryService.getAllCategories()); return "admin/edit"; }/** * @param request http请求 * @param blogId博客id * @return java.lang.String */ @GetMapping("/blogs/edit/{blogId}") public String edit(HttpServletRequest request, @PathVariable("blogId") Long blogId) { request.setAttribute("path", "edit"); Blog blog = blogService.getBlogById(blogId); if (blog == null) { return "error/error_400"; } request.setAttribute("blog", blog); request.setAttribute("categories", categoryService.getAllCategories()); return "admin/edit"; }/** * 添加文章 * * @param blogTitle文章标题 * @param blogSummary摘要 * @param blogCategoryId 类别 * @param blogTags标签 * @param blogContent内容 * @param blogStatus草稿,发布 * @param enableComment可否评论 * @return com.hbu.myblog.util.Result */ @PostMapping("/blogs/save") @ResponseBody public Result save(@RequestParam("blogTitle") String blogTitle, @RequestParam(name = "blogSummary", required = false) String blogSummary, @RequestParam("blogCategoryId") Integer blogCategoryId, @RequestParam("blogTags") String blogTags, @RequestParam("blogContent") String blogContent, @RequestParam("blogStatus") Byte blogStatus, @RequestParam("enableComment") Byte enableComment) { if (StringUtils.isEmpty(blogTitle)) { return ResultGenerator.genFailResult("请输入文章标题"); } if (blogTitle.trim().length() > 150) { return ResultGenerator.genFailResult("标题过长"); } if (StringUtils.isEmpty(blogTags)) { return ResultGenerator.genFailResult("请输入文章标签"); } if (blogTags.trim().length() > 150) { return ResultGenerator.genFailResult("标签过长"); } if (blogSummary.trim().length() > 375) { return ResultGenerator.genFailResult("摘要过长"); } if (StringUtils.isEmpty(blogContent)) { return ResultGenerator.genFailResult("请输入文章内容"); } if (blogTags.trim().length() > 100000) { return ResultGenerator.genFailResult("文章内容过长"); } Blog blog = new Blog(); blog.setBlogTitle(blogTitle); blog.setBlogSummary(blogSummary); blog.setBlogCategoryId(blogCategoryId); blog.setBlogTags(blogTags); blog.setBlogContent(blogContent); blog.setBlogStatus(blogStatus); blog.setEnableComment(enableComment); String saveBlogResult = blogService.saveBlog(blog); if ("success".equals(saveBlogResult)) { return ResultGenerator.genSuccessResult("添加成功"); } else { return ResultGenerator.genFailResult(saveBlogResult); } }/** * 修改文章 * * @param blogId文章ID * @param blogTitle文章标题 * @param blogSummary摘要 * @param blogCategoryId 类别 * @param blogTags标签 * @param blogContent内容 * @param blogStatus草稿,发布 * @param enableComment可否评论 * @return com.hbu.myblog.util.Result */ @PostMapping("/blogs/update") @ResponseBody public Result update(@RequestParam("blogId") Long blogId, @RequestParam("blogTitle") String blogTitle, @RequestParam(name = "blogSummary", required = false) String blogSummary, @RequestParam("blogCategoryId") Integer blogCategoryId, @RequestParam("blogTags") String blogTags, @RequestParam("blogContent") String blogContent, @RequestParam("blogStatus") Byte blogStatus, @RequestParam("enableComment") Byte enableComment) { if (StringUtils.isEmpty(blogTitle)) { return ResultGenerator.genFailResult("请输入文章标题"); } if (blogTitle.trim().length() > 150) { return ResultGenerator.genFailResult("标题过长"); } if (StringUtils.isEmpty(blogTags)) { return ResultGenerator.genFailResult("请输入文章标签"); } if (blogTags.trim().length() > 150) { return ResultGenerator.genFailResult("标签过长"); } if (blogSummary.trim().length() > 375) { return ResultGenerator.genFailResult("摘要过长"); } if (StringUtils.isEmpty(blogContent)) { return ResultGenerator.genFailResult("请输入文章内容"); } if (blogTags.trim().length() > 100000) { return ResultGenerator.genFailResult("文章内容过长"); } Blog blog = new Blog(); blog.setBlogId(blogId); blog.setBlogTitle(blogTitle); blog.setBlogSummary(blogSummary); blog.setBlogCategoryId(blogCategoryId); blog.setBlogTags(blogTags); blog.setBlogContent(blogContent); blog.setBlogStatus(blogStatus); blog.setEnableComment(enableComment); String updateBlogResult = blogService.updateBlog(blog); if ("success".equals(updateBlogResult)) { return ResultGenerator.genSuccessResult("修改成功"); } else { return ResultGenerator.genFailResult(updateBlogResult); } }/** * 根据id的之删除文章 * * @param ids 要删除文章id列表 * @return com.hbu.myblog.util.Result */ @PostMapping("/blogs/delete") @ResponseBody public Result delete(@RequestBody Integer[] ids) { if (ids.length < 1) { return ResultGenerator.genFailResult("参数异常!"); } if (blogService.deleteBatch(ids)) { return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("删除失败"); } }}

后台类别控制层:
@Controller @RequestMapping("/admin") public class CategoryController {@Resource private CategoryService categoryService; /** * @param request * @return java.lang.String */ @GetMapping("/categories") public String categoryPage(HttpServletRequest request) { request.setAttribute("path", "categories"); return "admin/category"; }/** * @param params * @return com.hbu.myblog.util.Result */ @RequestMapping(value = "https://www.it610.com/categories/list", method = RequestMethod.GET) @ResponseBody public Result list(@RequestParam Map params) { if (StringUtils.isEmpty(params.get("page")) || StringUtils.isEmpty(params.get("limit"))) { return ResultGenerator.genFailResult("参数异常!"); } PageQueryUtil pageUtil = new PageQueryUtil(params); return ResultGenerator.genSuccessResult(categoryService.getBlogCategoryPage(pageUtil)); }/** * @param categoryName * @param categoryIcon * @return com.hbu.myblog.util.Result */ @RequestMapping(value = "https://www.it610.com/categories/save", method = RequestMethod.POST) @ResponseBody public Result save(@RequestParam("categoryName") String categoryName, @RequestParam("categoryIcon") String categoryIcon) { if (StringUtils.isEmpty(categoryName)) { return ResultGenerator.genFailResult("请输入分类名称!"); } if (StringUtils.isEmpty(categoryIcon)) { return ResultGenerator.genFailResult("请选择分类图标!"); } if (categoryService.saveCategory(categoryName, categoryIcon)) { return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("分类名称重复"); } }/** * @param categoryId * @param categoryName * @param categoryIcon * @return com.hbu.myblog.util.Result */ @RequestMapping(value = "https://www.it610.com/categories/update", method = RequestMethod.POST) @ResponseBody public Result update(@RequestParam("categoryId") Integer categoryId, @RequestParam("categoryName") String categoryName, @RequestParam("categoryIcon") String categoryIcon) { if (StringUtils.isEmpty(categoryName)) { return ResultGenerator.genFailResult("请输入分类名称!"); } if (StringUtils.isEmpty(categoryIcon)) { return ResultGenerator.genFailResult("请选择分类图标!"); } if (categoryService.updateCategory(categoryId, categoryName, categoryIcon)) { return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("分类名称重复"); } }/** * @param ids * @return com.hbu.myblog.util.Result */ @RequestMapping(value = "https://www.it610.com/categories/delete", method = RequestMethod.POST) @ResponseBody public Result delete(@RequestBody Integer[] ids) { if (ids.length < 1) { return ResultGenerator.genFailResult("参数异常!"); } if (categoryService.deleteBatch(ids)) { return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("删除失败"); } }}

博文标签控制层:
@Controller @RequestMapping("/admin") public class TagController {@Resource private TagService tagService; /** * @param request * @return java.lang.String */ @GetMapping("/tags") public String tagPage(HttpServletRequest request) { request.setAttribute("path", "tags"); return "admin/tag"; }/** * @param params * @return com.hbu.myblog.util.Result */ @GetMapping("/tags/list") @ResponseBody public Result list(@RequestParam Map params) { if (StringUtils.isEmpty(params.get("page")) || StringUtils.isEmpty(params.get("limit"))) { return ResultGenerator.genFailResult("参数异常!"); } PageQueryUtil pageUtil = new PageQueryUtil(params); return ResultGenerator.genSuccessResult(tagService.getBlogTagPage(pageUtil)); }/** * @param tagName * @return com.hbu.myblog.util.Result */ @PostMapping("/tags/save") @ResponseBody public Result save(@RequestParam("tagName") String tagName) { if (StringUtils.isEmpty(tagName)) { return ResultGenerator.genFailResult("参数异常!"); } if (tagService.saveTag(tagName)) { return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("标签名称重复"); } }@PostMapping("/tags/delete") @ResponseBody public Result delete(@RequestBody Integer[] ids) { if (ids.length < 1) { return ResultGenerator.genFailResult("参数异常!"); } if (tagService.deleteBatch(ids)) { return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("有关联数据请勿强行删除"); } }}

【Java毕业设计项目实战篇|Java项目:博客论坛管理系统(java+SpringBoot+JSP+LayUI+maven+mysql)】
源码获取:博客首页 "资源" 里下载!

    推荐阅读