文章目录

  • 0 项目说明
  • 1 关于项目
  • 2 效果预览
    • 2.1 前台效果图
    • 2.2 后台效果图
  • 3 使用注意
  • 4 使用步骤
  • 5 项目源码

0 项目说明

基于Spring MVC的博客系统设计与实现

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


1 关于项目

  • 该博客是基于SSM实现的个人博客系统,适合初学SSM和个人博客制作的同学学习。
  • 最新版本支持用户注册,包含用户和管理员两个角色 。
  • 主要涉及技术包括的包括 Maven、Spring、SpringMVC、MyBatis、JSP、MySQL等。

2 效果预览

因博主服务器数量有限,目前该SSM博客已下线,不提供实时预览,大家可以本地部署。

2.1 前台效果图

2.2 后台效果图


后台地址:/admin 或者 /login

3 使用注意

1.开发工具的选择
请使用 IntelliJ IDEA, 尽量不要用 Eclipse/MyEclipse,使用前者项目起不来我可以帮忙解决,后者直接忽视(理论上可以起)

2.确保你安装了 Maven
从官网下载 Maven,并配置阿里云镜像,IDEA 或 Eclipse 里需要设置 Maven 的 settings.xml 。

3.请安装 Lombok 插件
代码中多次使用 @Data 注解,请确保你的 IDE 安装了 Lombok 插件,否则找不到 getter/setter 方法。如果你的 lombok 无效,可能是 pom.xml 里的 lombok 版本和你安装的lombok 版本相差较大。
无论是 Eclipse 还是 IDEA 都需要安装 lombok。

4.项目首页没有文件夹名称
确保 tomcat 配置中 application context 是 /,而不是 /ForestBlog。这是导致你们首页css样式全无的原因,因为引用css路径都是 /xxx/xxx.css

4 使用步骤

1、克隆项目
克隆或者下载项目到本地,解压,主要分为三个部分:ForestBlog、uploads 和 forest_blog.sql
ForestBlog: 完整项目源码, 可以使用 IDEA 导入或者打开,记得要导入里面那个 ForestBlog项目,即 pom.xml所在的父目录。
uploads: 上传图片的目录,与源码分离开来,可以放到物理磁盘某一目录,如D盘某目录,后面会讲
forest_blog.sql: 数据库文件,请先创建数据库,然后以运行sql文件方式导入

2.使用 IDEA 导入Maven项目
确保你安装了 Maven,导入项目时,选择已存在的项目,类型是 Maven 项目。
等待Maven下载完依赖,或者手动点击刷新,如果无法下载请检查 Maven 配置和切换网络,多次尝试。
导入完成后,如果出现Java类里红色报错,多半是 Lombok 插件没有安装。

3、 导入数据库
新建数据库 forest_blog,导入数据库(即forest_blog.sql)。注意,数据库的编码和排序规则是utf-8和utf-8_general_ci

4、修改项目中的数据库连接信息
修改db.properties文件,该文件很容易找到,在 src/main/resources 中
里面有 MySQL, 请确保已安装和启动 MySQL
注意修改数据库地址、表名、用户名和密码。
否则项目无法启动

5、配置 tomcat 和 uploads 目录
该项目是 SSM 项目,没有启动类,需要通过 tomcat 来运行。无论是 Eclipse 还是 IDEA 都很容易。
这里主要说一下上传目录映射问题:
该项目中,文件上传是传到本地,且和项目文件夹不在一起,就是说是源码和上传目录是分离的。
比如我们把 uploads 目录放到 E盘根目录(建议直接把我的那个uploads文件夹拷贝到D盘根目录),比如有一张图片路径是 D:/uploads/2017/10/avatar.jpg, 我们想在项目中以 http://loclahost:8080/uploads/2017/10/avatar.jpg 方式访问,需要以下两步:

1、 修改 UploadFileController.java 中上传路径,需要修改 rootPath 为你指定的 uploads 目录,如 String rootPath ="D:/uploads/";
如果不修改,会出现无法上传失败;

2、为 tomcat 设置 uploads 映射。

  • IDEA 操作如下:
    在 tomcat 配置中 Deployment 里面添加,如图

  • Eclispe 操作如下:
    在 Server/server.xml 的 前面添加
<Context path="/" docBase="项目路径,不需要改" debug="0" reloadable="true" />
<Context path="/uploads" docBase="D:/uploads/" debug="0" reloadable="true" />
  • Linux 服务器环境部署
    在 tomcat/conf/server.xml 的 Host 标签内添加如下代码
<Context path="/" docBase="项目路径如 /www/server/tomcat/webapps/ForestBlog" debug="0" reloadable="true" />
<Context path="/uploads" docBase="/www/uploads" debug="0" reloadable="true" />

如果不修改,会出现uploads的图片无法加载,无法显示上传目录的图片

5 项目源码

【毕业设计_课程设计】基于Spring MVC的博客系统设计与实现相关推荐

  1. 基于python的个人博客系统的设计开题报告_基于SSM的个人博客系统设计开题报告...

    本 科 毕 业 设 计(论文)开 题 报 告 题  目:基于SSM的个人博客系统设计与实现 专题题目(若无专题则不填): 本课题来源及研究现状: 关于博客的未来:在创办了博客中国(blogchina) ...

  2. 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十一)

    第11课:博客书写页面--KindEditor 富文本编辑器 富文本编辑器 KindEditor KindEditor 是一套开源的 HTML 可视化编辑器,可支持文字编辑.emoji 表情和图片上传 ...

  3. 单片机课程设计数字心率计_课程设计-基于单片机的数字人体心率计设计.doc

    课程设计-基于单片机的数字人体心率计设计 中北大学 基于单片机的心率计设计 课 程 设 计 说 明 书 2017年 6月30日 课 程 设 计 任 务 书 1.设计目的:通过本课程设计的学习,学生将复 ...

  4. 【毕业设计_课程设计】基于SSM框架的仓库管理系统

    文章目录 0 项目说明 1 项目功能 2 使用到的框架和库 3 数据库关系图 4 界面展示 5 项目工程 0 项目说明 基于SSM框架的仓库管理系统 提示:适合用于课程设计或毕业设计,工作量达标,源码 ...

  5. 【毕业设计_课程设计】基于微信小程序端的视频社交软件+后台管理系统(源码+论文)

    文章目录 0 项目说明 1 项目说明 2 开发环境 3 系统功能 3.1 微信小程序端 3.2 后台管理系统 4 界面展示 5 论文概览 6 项目工程 0 项目说明 基于微信小程序端的视频社交软件 + ...

  6. 【毕业设计_课程设计】基于SSM的图书馆管理系统

    文章目录 0 项目说明 1 概述 2 环境配置 3 概念设计 4 逻辑设计 5 功能展示 6 项目源码 0 项目说明 基于SSM的图书馆管理系统 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 ...

  7. 【毕业设计_课程设计】基于网络爬虫的新闻采集和订阅系统的设计与实现(源码+论文)

    文章目录 0 项目说明 1 项目说明 2 系统需求 3 系统架构 4 效果展示 5 论文目录 6 项目工程 0 项目说明 基于网络爬虫的新闻采集和订阅系统的设计与实现 提示:适合用于课程设计或毕业设计 ...

  8. 【毕业设计_课程设计】基于python的微信公众平台机器人的设计与实现

    文章目录 0 项目说明 项目介绍 项目工程 0 项目说明 基于python的微信公众平台机器人的设计与实现 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 项目介绍 1.NGINX做负载均衡, ...

  9. 【毕业设计_课程设计】基于移动设备的眼球追踪技术及其应用(源码+论文)

    文章目录 0 项目说明 1 研究目的 2 研究方法 3 系统实现 3.1 实现视频播放 4 研究结论 5 论文目录 6 项目源码 0 项目说明 基于移动设备的眼球追踪技术及其应用 提示:适合用于课程设 ...

最新文章

  1. wp配置后台自动更新
  2. boost::initialized<T>相关的测试程序
  3. linux下Intellij Idea 14的安装
  4. 白领夫妇白手起家 6年赚得两房两车
  5. 使用命令将logcat中的内容输出到文本文件中
  6. 拓端tecdat|R语言使用自组织映射神经网络(SOM)进行客户细分
  7. 在计算机上配置超级终端,电脑中如何添加超级终端?添加超级终端的方法
  8. 金九银十,23届秋招信息超全汇总表!各大名企优质岗位持续更新中···
  9. (Django开发)免费HTML模板资源集合
  10. Latex希腊字母对照表
  11. iphone5s已停用连接itunes怎么办?苹果5s已停用连接itunes解决方法
  12. Flink SQL Size of the state is larger than the maximum permitted memory-backed state
  13. 什么浏览器最好用,五款浏览器对比那个最好?
  14. 题解 - [POI2008]KUP-Plot purchase
  15. android图片编辑加文字,图片编辑加字安卓版
  16. 面板行业从“渐冻”中复苏,TCL科技大尺寸面板龙头站上C位
  17. 应用软件安全编程资源使用安全
  18. 线性代数-MIT 18.06-7(a)
  19. mybatis的switch标签
  20. IOTOS通采盒为BIM运维、GIS、CIM、数字孪生及IBMS高效率、低成本打通数据,接入楼宇园区子系统设备

热门文章

  1. BlackBerry NFC 手机支付方面的新闻
  2. 计算机启动后需重启才能正常显示,电脑开机时屏幕显示无信号,需要重启后才能正常使用,是什么问题?...
  3. automake 的使用(一)
  4. python 学习第一课
  5. Elasticsearch无法登陆Web页面
  6. 路由侠启动后是灰色的,然后切换用户后重新登录显示 -/- 的解决方法
  7. TurtleBot基于已知地图的自主导航
  8. A003-算法-遗传算法-绘图-(ques=1)
  9. Anaconda prompt中创建虚拟环境,安装包,配置requirements.txt
  10. table 设置 td 标签宽高