Java基于Springboot+vue的个人博客系统 前后端分离

188 篇文章 6 订阅

文末获取资源,收藏关注不迷路

前言

随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多网站的之中,随之就产生了“博客网站”,这样就让博客网站更加方便简单。
对于本博客网站的设计来说,系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据博客网站的现状来进行开发的,具体根据现实的需求来实现博客网站网络化的管理,各类信息有序地进行存储,进入博客网站页面之后,方可开始操作主控界面,主要功能包括管理员:首页,个人中心,修改密码,个人信息,用户管理,文章分类管理,博客文章管理,论坛交流,留言板管理,系统管理。前台首页;首页, 博客文章,论坛交流,系统公告,留言反馈 ,个人中心 ,后台管理等功能。
本论文主要讲述了博客网站开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的博客网站状况,提高管理效率。

一、研究背景

博客网站是对文章信息发展的一种支持手段,传统的博客网站模式还处于线下管理阶段,管理效率极低。随着博客网站信息的不断增多,传统基于线下管理模式已经无法满足当前用户需求,随着信息化时代的到来。通过该系统的设计,管理员可以管理系统中信息同时为了能够有效的提高现在网络信息的处理和准确性,需要不断去发展和更新的博客网站信息,这样才能有效的提高博客网站的效率。
互联网作为社会发展当中的产物,带给大家无数的便利和高效。自从有了网络管理方式,互联网的发展就发生了很大的变化,从此互联网在我国各大网站当中也被广泛的应用。针对上述问题我们做了详细的介绍和分析,对于整个系统的管理和发展改变了传统博客网站模式。

随着现代网络技术发展,对于博客网站现在正处于网络发展的阶段,所以对它的要求也是比较严格的,要从这个系统的功能和用户实际需求来进行对系统制定开发的发展方式,依靠网络技术的的快速发展和现代通讯技术的结合为用户带来方便,可以方便管理员网上管理,博客网站信息,还可以通过这些技术实现发布博客网站等过程。当今社会互联网急速发展,电子商务系统也在国内爆炸式的发展起来。这种网络模式对长期使用互联网社会产生了深远的影响,在这种社会环境下开发一个适用于用户都可以操作的、简单的、便捷的博客网站的发展前景是非常好的。
博客网站是一个典型的管理系统,在整个系统的发展来看包括数据库的设计、分析、连接、功能实现和系统维护以及用户的正确操作方式,对于上述的问题我们根据用户的实际情况来设计出一个典型的博客网站,在一定的基础上保证了这个系统的完整性和安全性。在整个系统程序当中的功能我们要保证用户方便使用而且易于操作的特点。在当今社会当中随着现代科学技术网络的快速发展和用户对网络技术意识不断提高,网络给用户带来强大的功能早已经被用户所接受,就拿这个博客网站来说,在整个系统当中开发它的要求是越来越高,同时所用的软件环境也是要不断提高。对于这个博客网站来说它已经满足现代化的信息化、潮流化的管理。能够有效的提高博客网站人员的工作效率和工作信心。

二、研究意义

为了解决好这个博客网站,也更好的能够维护博客网站中出现的问题,同时也能够让用户能够正确的了解本博客网站。所以设计本系统。
本系统主要根据用户的需求做出分析,让用户更好的在线查看博客网站信息等,管理员后台管理系统数据等功能。从这个系统的操作来说,能够有效的进行信息的添加、修改、查询、删除一些博客网站信息,在一定的程序上能够实现了自动化。设计该系统的主要目的是为实现通过网络来减少人力和财力的投入,不断提高工作效率。最终我们希望通过博客网站可以达到以下目的:
提高博客网站的管理效率,实现管理上的井井有条。
实现用户通过计算机平台及时更新网站博客网站信息,实现博客网站等。
解决传统博客网站存在的弊端。

三、主要使用技术

环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

四、研究内容

对于一个新的网站来说开发新网站我们就要做出这个系统的任务需求分析,因为对系统分析的质量好坏它可以决定这个网站开发的意义,俗话说得好一个好的开头是成功的一半,对于开发这个博客网站来说前期的分析是比较重要的,所以任务分析它可以决定这系统的开展和设计,这样就可以保证用户满意性。
任务的需求它能决定这个系统开发过程当中一个重要环节,所以我们在系统开发过程所用质量是比较重要的,因为我们在系统应用过程当中不一定那会出现问题,所以我们在进行对系统分析是比较重要的,因为它可以决定这个系统功能和需求。

在这里插入图片描述本课题要求实现一套博客网站的开发与实现,主要功能包括管理员:首页,个人中心,修改密码,个人信息,用户管理,文章分类管理,博客文章管理,论坛交流,留言板管理,系统管理。前台首页;首页, 博客文章,论坛交流,系统公告,留言反馈 ,个人中心 ,后台管理等功能。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、核心代码


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

六、文章目录

摘 要 1
前 言 3
第1章 概述 4
1.1 研究背景 4
1.2 研究目的 4
1.3 研究内容 5
第二章开发技术介绍 6
2.1相关技术 6
2.2 JAVA技术 6
2.3 MySQL数据库 6
2.4 SpringBoot框架 7
第三章 系统分析 8
3.1 可行性分析 8
3.1.1 技术可行性 8
3.1.2 经济可行性 8
3.1.3 操作可行性 9
3.2 系统性能分析 9
3.3 系统功能需求分析 9
3.4 业务流程分析 10
3.4.1登录流程 10
第四章 系统设计 11
4.1 系统的功能结构图 11
4.2 系统数据库设计 12
第五章 系统功能实现 16
5.1管理员登录 16
5.1.1 用户管理 17
5.1.2 文章分类管理 17
5.1.3轮播图管理 17
5.1.4 系统公告 18
5.1.5 文章信息管理 18
5.2前台首页功能实现 19
5.2.1 博客网站 19
5.2.2用户注册 20
5.2.3用户登录 21
5.2.4个人中心 21
5.2.5文章信息 22
第六章 系统测试 24
6.1 测试方法 24
6.2 测试分析 24
6.3 测试结论 25
结 论 27
致 谢 28
参考文献 29

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wqq6310855

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值