环境:开发工具:idea,数据库:MySQL5.7 jdk1.8
架构:SpringBoot,前端HTML
主要功能
管理员:发布文章、文章评论、搜索指定文章、删除文章、编辑文章、查看自己发布的文章、查看自己发布的评论、管理员置顶发帖、按最新查看文章、按访问最多查看文章、按评论最多查看文章
用户:发布文章、文章评论、搜索指定文章、删除文章、编辑文章、查看自己发布的文章、查看自己发布的评论、按最新查看文章、按访问最多查看文章、按评论最多查看文章

项目图片:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码:

 //登录
    @PostMapping("/login")
    @ResponseBody
    public CommonReturnType login(@RequestBody UserLoginVO userLoginVO, HttpSession session){

        if(userLoginVO.getMail() == null || userLoginVO.getPassword() == null)
            return CommonReturnType.fail(EmBusinessError.PARAMETER_VALIDATION_ERROR, "邮箱或密码不能为空");

        UserModel userModel = userService.login(userLoginVO);
        if(userModel == null){
            return CommonReturnType.fail(EmBusinessError.USER_LOGIN_FAIL_ERROR);
        }
        UserInfoVO userInfoVO = convertFromUserModel(userModel);
        session.setAttribute("user", userInfoVO);
        Cache.addLoginUser(userInfoVO);
        return CommonReturnType.success("登录成功");
    }

    //注册
    @PostMapping("/register")
    @ResponseBody
    public CommonReturnType register(@Validated @RequestBody UserLoginVO userLoginVO){
        //用户名查重
        UserModel result = userService.findUserByUserName(userLoginVO.getUserName());
        if(result != null){
            return CommonReturnType.fail(EmBusinessError.USER_NAME_EXIST_ERROR);
        }
        //用户邮箱查重
        result = userService.findUserByUserMail(userLoginVO.getMail());
        if(result != null){
            return CommonReturnType.fail(EmBusinessError.USER_MAIL_EXIST_ERROR);
        }

        UserModel user = userService.register(userLoginVO);
        if(user == null){
            return CommonReturnType.fail(EmBusinessError.DATABASE_OPTION_ERROR, "注册失败请重试");
        }
        return CommonReturnType.success("注册成功");
    }

    //退出登录
    @GetMapping("/logout")
    public String logout(HttpSession session){
        session.removeAttribute("user");
        return "redirect:/";
    }

    //用户主页
    @GetMapping("/user/home/{userId}")
    public String home(@PathVariable("userId") int userId, Model model, @RequestParam(value = "page", required =
            false, defaultValue = "1") int page){
        // 分页获取用户发表的所有文章
        PaginationVO<ArticleListItemVO> articleListPaginationVO = articleService.findListPaginationByUserId(userId,
                page);
        model.addAttribute("articleListPagination", articleListPaginationVO);

        UserModel userModel = userService.findUserById(userId);
        UserInfoVO userInfoVO = convertFromUserModel(userModel);
        model.addAttribute("userInfo", userInfoVO);
        return "user/home";
    }

    //文章管理
    @GetMapping("/user/articles")
    public String articles(){
        return "user/articles";
    }

B站视频链接:

课设-基于SpringBoot校园论坛系统

获取方式:联系下方名片获取

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐