作者主页:夜未央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版本;

技术栈

1. 后端:SpringBoot

2. 前端:HTML+CSS+JavaScript+jsp

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080/ 登录

运行截图

登录控制

@Controller
public class LoginIndexAction {@AutowiredLoginIndexManager loginIndexManager;@AutowiredIndexManager indexManager;public IndexManager getIndexManager() {return indexManager;}public void setIndexManager(IndexManager indexManager) {this.indexManager = indexManager;}public LoginIndexManager getLoginIndexManager() {return loginIndexManager;}public void setLoginIndexManager(LoginIndexManager loginIndexManager) {this.loginIndexManager = loginIndexManager;}/*** @Title: InSystem* @Description: 用户登录* @return String*/@RequestMapping(value="LoginInSystem.action",method=RequestMethod.POST)@ResponseBodypublic JSONData InSystem(User params,ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){JSONData jsonData = new JSONData();try {//用户登录查询User admin = loginIndexManager.getUser(params);if (admin!=null) {if (admin.getUser_flag()==2) {jsonData.setErrorReason("该账户已经被封禁");return jsonData;}httpSession.setAttribute("userFront", admin);}else{jsonData.setErrorReason("用户名或密码错误");return jsonData;}} catch (Exception e) {e.printStackTrace();jsonData.setErrorReason("登录异常,请稍后重试");return jsonData;}return jsonData;}/*** @Title: OutSystem* @Description: 退出登录* @return String*/@RequestMapping(value="LoginOutSystem.action")@ResponseBodypublic JSONData OutSystem(HttpSession httpSession){JSONData jsonData = new JSONData();try {//用户查询User user = (User)httpSession.getAttribute("userFront");if (user!=null) {//退出登录httpSession.removeAttribute("userFront");httpSession.invalidate();}} catch (Exception e) {jsonData.setErrorReason("退出异常,请稍后重试");return jsonData;}return jsonData;}/*** @Title: RegSystem* @Description: 用户注册* @return String*/@RequestMapping(value="LoginRegSystem.action",method=RequestMethod.POST)@ResponseBodypublic JSONData RegSystem(User params,ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){JSONData jsonData = new JSONData();try {//验证码验证
//          String random = (String)httpSession.getAttribute("random");
//          if (!random.equals(params.getRandom())) {
//              jsonData.setErrorReason("验证码错误");
//              return jsonData;
//          }//查询用户名是否被占用User user = new User();user.setUser_name(params.getUser_name());User user_temp = loginIndexManager.getUser(user);if (user_temp!=null) {jsonData.setErrorReason("注册失败,用户名已被注册:"+params.getUser_name());return jsonData;}//添加用户入库params.setUser_flag(1);params.setReg_date(DateUtil.getCurDateTime());loginIndexManager.addUser(params);} catch (Exception e) {jsonData.setErrorReason("注册异常,请稍后重试");return jsonData;}return jsonData;}}

上传文件管理控制器

@Controller
public class UploadImgAction {public static String path = "config.properties";  //保存数据库连接信息的属性文件的相对路径public static Properties props = new Properties();static{props = new Properties();try {props.load(UploadImgAction.class.getClassLoader().getResourceAsStream(path));} catch (Exception e) {props = new Properties();}}/*** @Title: UploadImg* @Description: 上传文件* @return String*/@RequestMapping(value="UploadImg.action",method=RequestMethod.POST)public String UploadImg(@RequestParam("upload") MultipartFile file,String num,ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){String returnPage = "uploadImg";try {//重命名该图片String old_name=file.getOriginalFilename();String file_name=DateUtil.dateToDateString(new Date(),"yyyyMMddHHmmssSSS")+old_name.substring(old_name.indexOf("."));//设置保存文件位置String savePath = props.getProperty("savePath");if ("1".equals(num)) {savePath = props.getProperty("savePath1");returnPage = returnPage+"1";}else if ("2".equals(num)) {savePath = props.getProperty("savePath2");returnPage = returnPage+"2";}else if ("3".equals(num)) {savePath = props.getProperty("savePath3");returnPage = returnPage+"3";}String saveFile=FindProjectPath.getRootPath(savePath+"\\"+file_name);//文件类型限制String allowedTypes = props.getProperty("allowedTypes");if ("1".equals(num)) {allowedTypes = props.getProperty("allowedTypes1");}else if ("2".equals(num)) {allowedTypes = props.getProperty("allowedTypes2");}else if ("3".equals(num)) {allowedTypes = props.getProperty("allowedTypes3");}//上传文件String errorString=UploadFile.upload(file, saveFile, file.getContentType(), file.getSize(), allowedTypes,Long.parseLong(props.getProperty("maximunSize")));//判断上传结果if(!"".equals(errorString)){System.out.println(errorString);model.addAttribute("tip", "no");model.addAttribute("errorString", errorString);return returnPage;}model.addAttribute("tip", "ok");model.addAttribute("filename",file_name);model.addAttribute("filenameGBK",old_name);model.addAttribute("filelength",Math.round(file.getSize()/1024.0));return returnPage;} catch (Exception e) {System.out.println(e.getMessage());model.addAttribute("tip", "no");model.addAttribute("errorString", "后台服务器异常");return returnPage;}}
}

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

Java项目:Springboot实现的一个简单博客管理系统相关推荐

  1. java项目-第120期儿童成长博客记录系统-java毕业设计

    java项目-第120期儿童成长博客记录系统-java毕业设计 [源码请到资源专栏下载] Hi,大家好,今天分享的源码是<基于SpringBoot的儿童成长记录博客系统>. BabyLog ...

  2. Java项目:基于ssm框架个人博客系统多用户(计算机毕业设计)

    本系统实现个人博客的主要基本功能有主界面,用户注册,用户登录,发表文章,浏览文章,发表评论等.这里主要是区分了个人博客的注册用户和游客.注册用户,可以在任何时候写下自己的主张,记录下自己的点点滴滴.而 ...

  3. java入门-springboot+mybatis+vue实现简单的后台管理系统

    源码地址:https://codechina.csdn.net/wwwzhouzy/vueadmin 注意:前后端在一个地址,vueClient是vue前端,zhouzyServer是后端 一.效果图 ...

  4. 简单个人博客系统java web_JavaWeb个人博客项目:手把手教你实现博客后台系统之登录与注册...

    JavaWeb个人博客项目:手把手教你实现博客后台系统之登录与注册 发布时间:2020-07-17 17:10阅读:( )字号: 大 中 小 后台系统的所有界面图以及之前的准备工作欢迎看我之前的博文& ...

  5. 简单开源java ssm_[VIP源码]【S006】SSM(Spring+Spring MVC+Mybatis) java开源博客管理系统项目源码...

    java源码项目名称:SSM(Spring+Spring MVC+Mybatis) java开源博客管理系统项目源码  java项目源码 1 ?, R, _* q  n8 v) S$ R7 ?百度网盘 ...

  6. SpringBoot+vue前后端分离博客项目

    SpringBoot+vue前后端分离博客项目 Java后端接口开发 1.前言 2.新建Springboot项目 3.整合mybatis plus 第一步:导入jar包 第二步:然后去写配置文件: 第 ...

  7. java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 本源码技 ...

  8. java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署 本源 ...

  9. Java项目中高并发问题的简单解决方案

    Java项目中高并发问题的简单解决方案 1.尽量使用缓存技术来做.用户缓存,页面缓存等一切缓存,使用特定的机制进行刷新.利用消耗内存空间来换取用户的效率,同时减少数据库的访问次数. 2.把数据库的查询 ...

最新文章

  1. SQL case when
  2. sql的使用详解(针对oeacle)之select(上)
  3. curl 忽略证书访问 https
  4. 常用社交网络(SNS、人人网、新浪微博)动态新闻(feed、新鲜事、好友动态)系统浅析
  5. 报错:Navicat for MySQL 连接MySQL 8.0 出现1130错误
  6. UVa 1583 Digit Generator(枚举+打表)
  7. Javascript在aspx应用技巧[教程]
  8. Node.js 模块化开发
  9. Pandas+Pyecharts:2021中国大学综合排名分析+可视化,来围观看看你的大学上榜没
  10. Oracle学习 第20天 PL/SQL导入
  11. 【OpenCV学习笔记】【异常处理】一(The Matrix is not continuous, thus its number of rows can not be changed)
  12. pyraformer: low-complexity pyramidal attention for long-range time series modeling and forecasting
  13. 湖南科技大学c语言上机题库,2018年湖南科技大学计算机科学与工程院824C语言程序设计与数据结构综合之C程序设计考研核心题库...
  14. Web前端设计与开发课程设计:简易淘宝网页设计
  15. 数仓理论知识之什么是度量,什么是粒度,什么是事实,什么是维度
  16. 她力量系列七丨兰艳艳:理想温暖10年科研路,女性可以柔和,更要自信、专业 | 妇女节特辑
  17. vga转html电脑打不开,如何解决HDMI到VGA转换的常见故障_四种解决方法
  18. ubuntu相关命令速记
  19. 教你快速随意重命名多个文件夹名称
  20. 智能体适能训练评估系统-体姿体态评估系统软件

热门文章

  1. java代码质量 圈复杂度,代码圈复杂度(Cyclomatic Complexity,CC)和Oclint工具 介绍...
  2. Stata:异质性空间自回归模型(HSAR)-hetsar
  3. 吐血!解决vmware中虚拟机开机黑屏的最终方法
  4. Coursera 学习记录:细菌分组(通过冒泡排序实现两组有差异的分类)
  5. 【自然语言处理】文本相似度算法:TF-IDF与BM25
  6. HoloCubic-稚晖君开源项目制作心得
  7. Three.js加载外部模型骨骼动画
  8. LabVIEW入门第六天(布尔控件及布尔量)
  9. NopCommerce 关于Customer的会员类别及会员价处理 的尝试途径
  10. 微信公众号之海量资料