Java Web课设——个人博客(双端系统)

这篇具有很好参考价值的文章主要介绍了Java Web课设——个人博客(双端系统)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目演示

先看看演示视频吧

Java Web课设——个人博客(双端系统),java,spring boot,mysql,mybatis,课程设计
演示图

简单介绍

        个人博客管理系统采用Springboot2.4.5框架开发,是标准的MVC模式,将这个系统划分为View层、Controller层、Service层、DAO层和持久层五层。其中,Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,MyBatis-Plus作为数据对象的持久化引擎。系统结构图如图所示。

Java Web课设——个人博客(双端系统),java,spring boot,mysql,mybatis,课程设计
系统架构图

该系统主要分为前台用户界面和后台管理界面两个核心部分,以适应不同用户群体的功能需求。

  1. 前端功能模块:
    1. 文章浏览:系统应具备简洁明了的博客列表页面,展示最新、最热或按分类筛选的文章供访客阅读。
    2. 文章详情页:提供详细的博客内容显示,包括正文、作者信息、发布时间、分类标签以及评论区。
    3. 互动功能:访客可以对文章进行点赞、收藏,并通过评论系统与博主和其他访客展开讨论,促进社区交流与知识共享。
  2. 后端管理功能模块:
    1. 用户账号管理:管理员能够实现账户注册、登录
    2. 内容管理:提供MarkDown编辑器,支持富文本格式,允许管理员轻松创建、编辑、删除博客文章,并具有草稿保存和发布预览功能。
    3. 分类与标签管理:系统应包含灵活的分类体系和标签系统,便于管理员组织和检索博客内容,方便用户根据主题快速定位感兴趣的文章。
    4. 评论管理:管理员可以查看、删除评论。
    5. 安全性与稳定性要求:访客只能对博客信息进行浏览,管理博客的信息,需要登录到后台管理系统,在登录时进行MD5的密码的加密
    6. 配置拦截器对未登录的非法的越权请求进行拦截。同时,在云服务中对安全组进行配置,防止不明地址的请求和攻击。

项目整体功能需求如图 1-1所示:

Java Web课设——个人博客(双端系统),java,spring boot,mysql,mybatis,课程设计
功能模块图

个人博客管理系统功能模块图如所示:

Java Web课设——个人博客(双端系统),java,spring boot,mysql,mybatis,课程设计
个人博客管理系统的功能模块图
  1. Spring Boot 2.4.5:作为项目的基础框架,Spring Boot极大地简化了新Spring应用的搭建与开发流程。通过预置的默认配置和自动配置功能,显著减少了手动编写冗余配置代码的工作量,提高了开发者的工作效率。
  2. Developer Tools:
    1. Spring Boot DevTools:提供实时刷新功能,使得开发过程中对源代码的修改能立即反映到应用上,大大提升了开发迭代速度。
    2. Lombok:作为一种代码生成工具,它能够减少Java类中的样板式getter、setter等方法以及构造函数的编写,从而提升代码的简洁性和可读性。
  3. Web层:采用Spring Web框架构建,用于处理HTTP请求和响应,实现了前后端交互逻辑。
  4. 模板引擎:选用Thymeleaf,用以渲染前端页面,实现动态内容生成。
  5. 持久层框架:采用MyBatis进行数据库交互。MyBatis支持灵活的SQL定制、存储过程调用以及高级映射机制,可以高效地执行数据访问操作并自动处理JDBC相关的参数设置及结果集获取,减轻了开发者在数据库操作方面的负担。
  6. 数据库连接:使用MySQL Driver建立与MySQL数据库的连接。MySQL作为一个广泛应用于WEB领域的强大关系型数据库管理系统,以其稳定性、高效性和易用性成为个人博客系统存储和检索数据的理想选择。
  7. 项目管理和构建工具:Maven负责项目的构建管理和依赖协调,通过标准化的项目结构和构建生命周期,帮助开发者自动化完成编译、测试、打包和部署工作,确保了开发流程的一致性和高效性。

使用介绍

工具版本

  1. 数据库:MySQL 5.0及8.0版本
  2. 操作系统:Linux、windows10 32位、64位、Android
  3. 运行环境:JDK 1.8
  4. Spring Boot 2.4.5
  5. Idea:旗舰版(Ultimate)社区版本应该会不能跑,还是建议用旗舰版本吧。

maven依赖

        maven依赖用idea自动导一下就行,应该没什么大问题

数据库配置

        下面将一下怎么使用吧,首先我们要创建一个名为blog的数据库,再导入下面的sql语句。

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for t_blog
-- ----------------------------
DROP TABLE IF EXISTS `t_blog`;
CREATE TABLE `t_blog`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题',
  `content` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '内容',
  `first_picture` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '首图',
  `flag` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标记',
  `views` int(11) NULL DEFAULT NULL COMMENT '浏览次数',
  `appreciation` tinyint(1) NOT NULL DEFAULT 0 COMMENT '赞赏',
  `share_statement` tinyint(1) NOT NULL DEFAULT 0 COMMENT '转载声明',
  `commentabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT '评论',
  `published` tinyint(1) NOT NULL DEFAULT 0 COMMENT '发布',
  `recommend` tinyint(1) NOT NULL DEFAULT 0 COMMENT '推荐',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `type_id` bigint(20) NULL DEFAULT NULL COMMENT '分类id',
  `user_id` bigint(20) NULL DEFAULT NULL COMMENT '拥有者id',
  `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文章描述',
  `tag_ids` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标签id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

-- ----------------------------
-- Records of t_blog
-- ----------------------------
INSERT INTO `t_blog` VALUES (1, '3', '# 3', '11', '', 11, 0, 0, 0, 0, 0, '2023-12-25 09:48:24', '2023-12-25 09:48:24', 1, 0, '111', '1');
INSERT INTO `t_blog` VALUES (2, '答辩演示', '# Markdown文档样例\r\n\r\n## 目录\r\n\r\n- [标题](#标题)\r\n- [文本格式化](#文本格式化)\r\n- [链接](#链接)\r\n- [列表](#列表)\r\n- [引用](#引用)\r\n- [代码块](#代码块)\r\n- [插入图像](#插入图像)\r\n\r\n## 标题\r\n\r\nMarkdown中使用`#`符号来表示标题,`#`的数量表示标题的级别。\r\n\r\n# 一级标题\r\n## 二级标题\r\n### 三级标题\r\n[链接文本]()\r\n\r\n列表\r\n- 无序列表项 1\r\n- 无序列表项 2\r\n  - 嵌套的无序列表项\r\n\r\n\r\n![壁纸](https://inews.gtimg.com/newsapp_bt/0/13956121885/641)\r\n\r\n代码块\r\n```python\r\ndef hello_world():\r\nprint(\"Hello, World!\")\r\n```\r\n\r\n行代码\r\n`print(\"Hello, World!\")`\r\n\r\n\r\n\r\n', 'https://img0.baidu.com/it/u=2789195095,3243697354&fm=253&fmt=auto&app=138&f=JPEG?w=400&h=300', '', 2, 0, 0, 0, 1, 0, '2023-12-26 16:43:57', '2023-12-26 16:51:00', 1, 0, '答辩文档', '1');

-- ----------------------------
-- Table structure for t_blog_tags
-- ----------------------------
DROP TABLE IF EXISTS `t_blog_tags`;
CREATE TABLE `t_blog_tags`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tag_id` bigint(20) NULL DEFAULT NULL,
  `blog_id` bigint(20) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `fk_tag_id`(`tag_id`) USING BTREE,
  INDEX `fk_blog_id`(`blog_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

-- ----------------------------
-- Records of t_blog_tags
-- ----------------------------
INSERT INTO `t_blog_tags` VALUES (1, 1, 1);
INSERT INTO `t_blog_tags` VALUES (2, 1, 2);
INSERT INTO `t_blog_tags` VALUES (4, 1, 3);
INSERT INTO `t_blog_tags` VALUES (8, 1, 4);

-- ----------------------------
-- Table structure for t_comment
-- ----------------------------
DROP TABLE IF EXISTS `t_comment`;
CREATE TABLE `t_comment`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `nickname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称',
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '内容',
  `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `blog_id` bigint(20) NULL DEFAULT NULL COMMENT '所属博客id',
  `parent_comment_id` bigint(20) NULL DEFAULT NULL COMMENT '父评论id',
  `admin_comment` tinyint(1) NULL DEFAULT NULL COMMENT '管理员评论',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

-- ----------------------------
-- Records of t_comment
-- ----------------------------
INSERT INTO `t_comment` VALUES (1, '111', '111', '悟解', '/images/avatar.jpg', '2023-12-26 00:44:52', 3, -1, 0);
INSERT INTO `t_comment` VALUES (2, 'lyk', 'liyankang@aliyun.com', '悟解', '/images/avatar.jpg', '2023-12-26 14:10:16', 3, -1, 0);
INSERT INTO `t_comment` VALUES (3, 'lyk', 'liyankang@aliyun.com', '呜呜呜', '/images/avatar.jpg', '2023-12-26 14:16:35', 3, -1, 0);
INSERT INTO `t_comment` VALUES (4, 'lyk', 'liyankang@aliyun.com', '我是来测试评论的', '/images/avatar.jpg', '2023-12-26 16:56:27', 2, -1, 0);

-- ----------------------------
-- Table structure for t_tag
-- ----------------------------
DROP TABLE IF EXISTS `t_tag`;
CREATE TABLE `t_tag`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标签名',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

-- ----------------------------
-- Records of t_tag
-- ----------------------------
INSERT INTO `t_tag` VALUES (1, 'python');

-- ----------------------------
-- Table structure for t_type
-- ----------------------------
DROP TABLE IF EXISTS `t_type`;
CREATE TABLE `t_type`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类名',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

-- ----------------------------
-- Records of t_type
-- ----------------------------
INSERT INTO `t_type` VALUES (1, '我的');

-- ----------------------------
-- Table structure for t_user
-- ----------------------------
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `nickname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '新用户' COMMENT '昵称',
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户名',
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '密码',
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `avatar` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
  `type` int(11) NULL DEFAULT NULL COMMENT '权限',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

-- ----------------------------
-- Records of t_user
-- ----------------------------
INSERT INTO `t_user` VALUES (0, '悟解', 'LiYanKang', 'a448410bdcbb4d7cfb32830909f6aa08', 'lyk2zmy@163.com', 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201811%2F07%2F20181107103350_V8nTe.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1706173075&t=ff98d36f75f41fe74f413987a18b13eb', 1, '2023-12-26 21:55:53', '2023-12-27 21:56:01');
INSERT INTO `t_user` VALUES (1, '悟解', 'lyk', '123456', 'liyankang@aliyun.com', 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201811%2F07%2F20181107103350_V8nTe.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1706173075&t=ff98d36f75f41fe74f413987a18b13eb', NULL, NULL, NULL);

SET FOREIGN_KEY_CHECKS = 1;

导入完成后应该有以下的表结构如下:

Java Web课设——个人博客(双端系统),java,spring boot,mysql,mybatis,课程设计
数据库截图

修改数据库账号密码(一共要修改4处哦):

Java Web课设——个人博客(双端系统),java,spring boot,mysql,mybatis,课程设计


特别声明

关于代码

        我想了一下,还是私信吧,算了我这里也放一个链接:传送门

关于课设报告文档

        由于只是提供学习,不放置课设报告了哦,我的报告写了大概1w+字,要借鉴的也行,但是报告还是推荐自己写哦,由于是多人合作,我这里的报告分为admin端版本和web端版本,我本人的是admin端的版本,web端是我的室友在写。

关于人脸识别

        这里我只是调了一个华为云的接口,目前只可以识别我一个人,无法识别别人,感兴趣的同学可以了解一下,等你把接口配置好了,就只需要改一部分代码就好了。如果不会调接口的话,我看看评论吧,如果大家想要看,我也可以出一篇调接口的。文章来源地址https://www.toymoban.com/news/detail-787181.html

到了这里,关于Java Web课设——个人博客(双端系统)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 博客系统 Java Web 开发(Servlet)

    目录 一、准备工作 二、设计数据库 三、编写数据库代码 1、建表sql 2、封装数据库的连接操作 3、创建实体类 4、封装数据库的一些增删改查 (1)BlogDao 新增博客:  根据博客 id 来查询指定博客(用于博客详情页) 直接查询出数据库中所有的博客列表 删除博客 (2)UserDao

    2024年02月10日
    浏览(44)
  • 基于Java(SpringBoot框架)毕业设计作品成品(40)网络网上个人博客系统设计与实现

    博主介绍 :《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(63)
  • 基于JAVA个人博客管理系统的设计与实现(Springboot框架) 研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(50)
  • 【Web 三件套】个人简单博客系统页面搭建(附源码)

    以下为个人搭建的一个简单博客系统页面,以后会不断改进,并且与后端结合,形成一个完整的博客系统 该博客系统页面是由 HTML + CSS + JavaScript 搭建的,如果没有了解过这些知识的友友,可以通过本人之前写好的几篇相关文章入门 文章一: 《超多动图带你入门 HTML》 文章二

    2024年02月02日
    浏览(49)
  • 基于Java+MySQL+Tomcat+Servlet+Maven+JQuery+jackson+开源Markdown编辑器实现前后端分离个人博客系统

    目录 项目简介 模块实现 设计实现数据库相关代码 博客列表页 博客详情页 注册页 登录页 检测登录状态 显示用户信息 退出登录 发布博客 删除博客 统计博客数量 效果展示 部分代码展示 小结:     项目中使用了Java ,MySQL ,Tomcat ,Servlet ,Maven ,JQuery ,jackson,开源MarkDo

    2024年02月02日
    浏览(49)
  • Java课程设计个人博客

    目录 引言:在此说明在本次课设过程中所遇到的困难! 一、项目搭建的问题 Q1:Web项目应用啥么编译器编写? Q2:如何创建Web项目(MAVEN)? Q3:Tomcat服务器开头控制台显示乱码如何解决? Q4:Tomcat服务器怎么设置项目的开始界面,从而只要在输入项目名便可访问项目? Q5:Tomcat服务

    2024年01月20日
    浏览(42)
  • Java Web现代化开发:Spring Boot + Mybatis + Redis二级缓存

    Spring-Boot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一。Mybatis是一个十分轻量好用的ORM框架。Redis是当今十分主流的分布式key-value型数据库,在web开发中,我们常用它来缓存数据库的查询结果。 本篇博客将介绍如何使用Spring-Boot快速搭建一

    2024年01月17日
    浏览(56)
  • 手把手搭建 java spring boot 框架 maven 项目 web 网址访问

    第一步我们去  spring boot 官网创建项目并下载压缩包  创建项目网址: Spring Initializr https://start.spring.io/ 我们添加一个 srping web 的拓展包 接下来我们点击 generate 创建 并下载压缩包即可 接下来我们将压缩文件包解压到项目根目录使用编辑器打开即可,如果编辑器提示 点击构

    2024年04月23日
    浏览(46)
  • 基于 Spring Boot 博客系统开发(三)

    本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿 基于 Spring Boot 博客系统开发(二)👈👈 在Thymeleaf中,如果你想要抽取公共页面(例如,头部、底部、导航栏等),可以通过定义和使用片段(fragments)和包含(includes)来

    2024年04月28日
    浏览(37)
  • ssm368基于java web个人财务管理系统+jsp

    文章仅展示部分内容,详细的毕设论文和演示视频源代码可以私信我的扣扣 题目:基于java web个人财务管理系统 摘 要 随着软件信息技术的兴起,许多手工作业也升级为软件管理数据,本次针对个人财务数据的管理,开发一款个人财务管理系统,该系统可以解决许多信息管理

    2024年02月20日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包