IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot博客论坛管理系统 -> 正文阅读

[Java知识库]SpringBoot博客论坛管理系统

作者主页:夜未央5788

?简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本系统分为管理员、游客两种角色;
管理员角色包含以下功能:
登录,用户增删改查,文章增删改查,链接增删改查,日志查看,查看近期数据,类别管理等功能。

游客角色包含以下功能:

首页,查看文章,注册账号,登录,管理自己写的文章,管理自己的文章,评论文章等功能。

环境需要

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:18090/ 登录

运行截图

用户角色

?

?

?

?

管理员角色?

?

?

?

相关代码

后台管理员控制器

/**
 * 后台控制管理
 */
@Controller
@RequestMapping("/admin")
public class AdminController {

    @Autowired
    private MenuService menuService;

    /**
     *  跳转到后台页
     */
    @RequiresPermissions("base:admin:views")
    @GetMapping("/index")
    public String index(){
        return Views.ADMIN;
    }

    /**
     * 后台主页
     */
    @RequiresPermissions("base:admin:views")
    @GetMapping("/main")
    public String main(){
        return Views.ADMIN_MAIN;
    }

    /**
     * 根据权限获取菜单
     * @return
     */
    @RequiresPermissions("base:admin:views")
    @PostMapping("/getMenu")
    @ResponseBody
    public List<Menu> getMenu(){
        return UserUtils.getMenuinfoList();
    }
}

登录控制器?

/**
 * 登录管理页
 */
@Controller
public class LoginController {

    @Autowired
    private UserService userService;

    /**
     * 跳转到登录页
     */
    @GetMapping("/login")
    public String login() {
        User user = UserUtils.getPrincipal();
        if (user != null) {
            return Views.REDIRECT_ADMIN;
        }
        return Views.LOGIN;
    }

    /**
     * 登录验证
     *
     * @param user
     * @param map
     * @return
     */
    @PostMapping("/login")
    public String login(User user, ModelMap map) {
        if (user != null) {
            if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword())) {
                return Views.LOGIN;
            }
            AuthenticationToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword(), true);
            if (token == null) {
                map.put("message", "用户名或密码错误");
                return Views.LOGIN;
            }
            //记住我
            ((UsernamePasswordToken) token).setRememberMe(true);
            try {
                SecurityUtils.getSubject().login(token);
                return Views.REDIRECT_ADMIN;
            } catch (AuthenticationException e) {
                if (e instanceof UnknownAccountException) {
                    map.put("message", "用户不存在");
                } else if (e instanceof LockedAccountException) {
                    map.put("message", "账户未激活");
                    map.put("status", 2);
                    map.put("user", user);
                } else if (e instanceof DisabledAccountException) {
                    map.put("message", "账户未启用");
                }
                e.printStackTrace();
                map.put("message", "用户认证失败");
            }
            return Views.LOGIN;
        } else {
            map.put("message", "未知异常");
            return Views.LOGIN;
        }
    }

    /**
     * 安卓端登录
     *
     * @param user
     * @return
     */
    @PostMapping("/loginAndroid")
    @ResponseBody
    public User loginAndroid( User user) {

        System.out.println("安卓端登录登录进到方法");

        AuthenticationToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword(), true);
        //记住我
        ((UsernamePasswordToken) token).setRememberMe(true);

        SecurityUtils.getSubject().login(token);

        //根据传进来的用户名查询用户信息
        String username = user.getUsername();

        User user1 = userService.findByAccount(username);

        System.out.println("测试安卓登录用户名信息:"+user1.getEmail()+",user1:"+user1);

        return user;
    }




}

如果也想学习本系统,下面领取。回复:063springboot??

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:36:15  更:2022-07-03 10:37:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 19:41:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码