个人博客系统
这是一个基于JavaWeb技术栈开发的个人博客系统。
技术栈
- Java Servlet
- JSP
- JDBC
- MySQL 8
- HTML/CSS/JavaScript
功能特点
1. 用户管理
- 用户注册
- 用户登录
- 登录验证码(防止暴力破解,支持点击刷新)
- 权限控制(普通用户/管理员)
2. 博客管理
- 博客发布
- 博客编辑
- 博客删除
- 博客浏览
- 博客搜索(按标题或内容搜索)
- 博客置顶(置顶博客会显示在列表顶部)
- 博客转发(可以转发其他用户的博客)
3. 分类管理
- 分类添加
- 分类编辑
- 分类删除
安装说明
1. 创建数据库
- 使用MySQL 8
- 创建名为
personal_blog的数据库 - 导入
doc/blog.sql文件 - 执行
doc/blog_update.sql文件以添加新功能所需的字段
2. 配置数据库连接
- 修改
src/com/bk/util/DBUtil.java中的数据库连接信息private static final String URL = "jdbc:mysql://localhost:3306/personal_blog?useSSL=false&serverTimezone=UTC&characterEncoding=utf8"; private static final String USERNAME = "root"; private static final String PASSWORD = "your_password";
3. 配置开发环境
- 使用Eclipse IDE
- 导入项目
- 配置Tomcat服务器(建议使用Tomcat 8.5或更高版本)
- 确保以下jar包已添加到
WEB-INF/lib目录:mysql-connector-java-8.0.15.jar(MySQL驱动)servlet-api.jar(Servlet API)jsp-api.jar(JSP API)jstl-1.2.jar(JSTL标签库)
4. 运行项目
- 启动Tomcat服务器
- 访问
http://localhost:8080/gerenboke/ - 首次使用需要先注册账号
默认账号
- 管理员账号:
admin - 管理员密码:
admin123
安全特性
验证码功能
- 位置:登录页面
- 功能:
- 生成4位随机验证码(数字+字母)
- 验证码图片包含干扰线和干扰点,提高安全性
- 支持点击图片或链接刷新验证码
- 验证码验证成功后立即清除(一次性使用)
- 防止暴力破解和自动化攻击
使用说明
- 在登录页面输入用户名和密码
- 输入验证码(不区分大小写)
- 如果验证码看不清,可以点击验证码图片或"看不清?点击刷新"链接
- 验证码错误时会显示错误提示,需要重新输入
注意事项
- 所有用户都需要先注册后登录才能使用系统
- 普通用户只能查看和管理自己的数据
- 管理员可以查看和管理所有用户的数据
- 博客支持按分类管理
- 评论功能仅支持已登录用户使用
- 验证码存储在Session中,验证后会自动清除,确保安全性
项目结构
blogs/
├── src/ # Java源代码
│ └── com/bk/
│ ├── dao/ # 数据访问层
│ ├── entity/ # 实体类
│ ├── servlet/ # Servlet控制器
│ │ ├── CaptchaServlet.java # 验证码生成Servlet
│ │ ├── UserServlet.java # 用户管理Servlet
│ │ └── ...
│ └── util/ # 工具类
├── WebContent/ # Web资源
│ ├── css/ # 样式文件
│ ├── *.jsp # JSP页面
│ └── WEB-INF/ # 配置文件
├── doc/ # 文档和SQL脚本
│ ├── blog.sql # 数据库初始化脚本
│ └── blog_update.sql # 数据库更新脚本
└── README.md # 项目说明文档