# tree-hole-forum **Repository Path**: yuezi2048/tree-hole-forum ## Basic Information - **Project Name**: tree-hole-forum - **Description**: 这是由javaBean组开发的第二个项目——树洞论坛,目前正在完成基础的登录注册与文章的增删改查 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: v1.1 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-11-23 - **Last Updated**: 2025-07-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, HTML, Maven, javaWEB ## README # 树洞论坛 ## 项目简介 Hello,这里是树洞论坛,旨在为用户提供一个发帖子的平台,并提供身份认证等基础功能。 ## 目录结构说明 - documents -- 项目开发相关文档(如:项目需求文档、设计文档等等) - server -- 后端服务器项目源码 - client -- 前端客户页面源码 ## 软件架构 ### 后端技术 | 技术 | 说明 | 版本 | 备注 | | --------------- | -------------------------- | ------- | ------------------------------------------ | | JavaWeb | 基于原生Servlet搭建web工程 | | | | Jackson | JSON解析工具 | 2.13.4 | https://github.com/FasterXML/jackson | | Lombok | 简化对象封装工具 | 1.18.30 | https://projectlombok.org/ | | MySQL Connector | 数据库驱动 | 8.3.0 | https://dev.mysql.com/downloads/connector/ | | Tomcat | JSP/Servlet 容器 | 10.1.33 | https://tomcat.apache.org/ | | Druid | 数据库连接池 | 1.1.21 | https://github.com/alibaba/druid | | JUnit | 测试框架 | 5.10.2 | https://junit.org/junit5/ | | JWT | Token认证工具 | 4.4.0 | https://github.com/auth0/java-jwt | | Hutool | Java工具包 | 5.8.25 | https://hutool.cn/ | ### 前端技术 | 技术 | 说明 | 版本 | 备注 | | ---------- | -------------- | ---- | ---- | | HTML | 搭建页面 | | | | JavaScript | 响应式数据交互 | | | | CSS | 页面样式 | | | | Ajax | 异步请求 | 待定 | | ## 环境搭建 ### 开发工具 | 工具 | 说明 | 版本 | 备注 | | ------ | ------- | ------------- | --------------------------------------- | | IDEA | 开发IDE | 2023-2024版本 | https://www.jetbrains.com/idea/download | | VSCode | 前端IDE | 不限 | https://code.visualstudio.com/ | ### 开发环境 | 工具 | 版本 | 备注 | | ------- | ------- | ------------------------------------------------- | | Windows | 10或11 | 操作系统 | | JDK | 17 | https://www.quanxiaoha.com/idea/idea-set-jdk.html | | MySQL | 8.0.x | https://www.mysql.com/cn/ | | Tomcat | 10.1.33 | https://tomcat.apache.org/download-10.cgi | | Maven | 3.9.9 | https://maven.apache.org/download.cgi | ### 用户使用手册 **登录界面** 首先来到树洞论坛**登录页面**,已注册的用户可以输入账号和密码,点击***立即登录***即可进入**论坛首页**;没有账号的用户可以点击***去注册***或者右上方的***注册***前往**注册页面**。 ![image-20241201190820717](./imgs/login.png) **注册界面** 用户在**注册页面**根据提示填写信息,点击***创建账号***即可完成注册并返回**登录页面**。 用户如果此时想起账号,也可以通过***马上登录***或者右上角的***登录***跳转到**登录页面**。 ![image-20241201191039802](./imgs/register.png) **论坛首页** 用户登录后来到该页面。首页会展示推荐文章列表。 用户可以点击感兴趣的文章去到相应的**文章详情页**,也可以通过右上角的**+**选择进入**个人中心页**、**个人文章管理页面**或**退出登录(注销)**。 ![image-20241201191349672](./imgs/home.png) **文章详情页** 用户查看文章详情,并可以***发表评论***。 用户可以通过右上角***返回首页***。 ![image-20241201191434100](./imgs/article.png) **个人中心页面** 用户通过 ***$+ \rightarrow 个人中心$*** 来到该页面,可以看到***个人信息***,并且可以***修改信息***。 ![image-20241201202631605](./imgs/userInfo.png) **我的文章管理界面** 用户通过 ***$+ \rightarrow 我的文章管理$*** 来到该页面,可以看到自己发表过的文章列表,并且可以针对某一篇文章选择跳转到**修改文章页面**或者选择***删除文章***。 ![image-20241201191558813](./imgs/articleManage.png) **发表文章页面** 用户可以通过**我的文章管理界面**右上方的***发布文章***按钮来到发表文章页面,根据提示填入文章和内容,点击***保存***即可发表文章,也可通过正下方按钮返回**文章管理页面** ![image-20241201191707675](./imgs/addArticle.png) **修改文章页面** 用户可以在该界面修改自己发表过的文章,如下图,首先自动填充用户内容弄个,输入内容之后***保存修改***,并可***返回文章管理页面*** ![image-20241201191752967](./imgs/updateArticle.png) ### 管理员使用手册 **1. 管理员登录** 管理员在**登录页面**输入自己的管理员账号密码后,点击***立即登录***,后台验证成功后会跳出弹窗,点击***确认***即进入树洞论坛管理员系统。 ![image-20241205195851376](./imgs/managerlogin.png) **2. 管理员文章管理页面** 管理员可在此页面对所有用户的文章进行管理,点击***查看详情***即可看到对应文章详情,如有违反树洞论坛守则,管理员有权点击***删除***对该文章进行删除。 同时管理员可以通过点击右上角***用户管理***跳转到**用户管理页面**,也可以点击**退出**退出登录。 ![image-20241205193743111](./imgs/adminArticle.png) **3.管理员用户管理页面** 管理员可在此页面进行用户管理(***查询***,***封号***,***解封***),可以通过***返回主页***回到文章管理页面,也可以***刷新用户列表***查看最新用户列表信息。 ![image-20241205194155593](./imgs/queryAllUsers.png) ### **树洞论坛本地部署教程** #### **1. 准备文件** - 下载以下文件: 1. `tree-hole-forum.war`(应用程序部署文件) 2. `tree_hole_forum.sql`(数据库脚本文件) 2. `jdk-17.0.10`(java运行依赖) 2. `apache-tomcat-10.1.33`(web运行容器) - 确认环境变量已经配置好Java17 ![image-20241205222106507](./imgs/path.jpg) 测试脚本 ```bash C:\Users\ljy>java -version java version "17.0.10" 2024-01-16 LTS Java(TM) SE Runtime Environment (build 17.0.10+11-LTS-240) Java HotSpot(TM) 64-Bit Server VM (build 17.0.10+11-LTS-240, mixed mode, sharing) C:\Users\ljy>javac -version javac 17.0.10 ``` --- #### **2. 配置数据库** 1. **启动 MySQL 服务**: 确保 MySQL 数据库服务正在运行。 2. **导入数据库脚本**: 将 `tree_hole_forum.sql` 脚本导入到刚刚创建的数据库中: ```bash mysql -u -p tree_hole_forum < /path/to/tree_hole_forum.sql ``` 或使用 MySQL Workbench 的导入功能加载脚本。 3. **检查数据库结构和数据**: 确保脚本正确导入后,表结构和数据完整: ```sql USE tree_hole_forum; SHOW TABLES; ``` --- #### **3. 部署 WAR 文件** 1. **重命名 WAR 文件**: 将 `tree-hole-forum.war` 文件重命名为 `ROOT.war`。 2. **移动到 Tomcat 的 `webapps` 目录**: - 将 `ROOT.war` 文件复制或移动到 Tomcat 的 `webapps` 目录下: ``` /webapps/ ``` 3. **启动 Tomcat 服务**: - Linux/MacOS: ```bash .//bin/startup.sh ``` - Windows: 双击 `\bin\startup.bat`。 - 注意:这会覆盖 Tomcat 的默认初始页面! 4. **确认部署是否成功**: - 打开浏览器,访问 `http://localhost:8080/`。 - 如果看到登录页面,则部署成功。 --- #### **4. 配置连接数据库** 1. **编辑配置文件**: 打开 `ROOT/WEB-INF/classes/application.properties` 文件,配置数据库连接: ```properties driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/tree_hole_forum username=<您的数据库用户名> password=<您的数据库密码> initialSize=5 maxActive=10 maxWait=1000 ``` 2. **重启 Tomcat**: 保存配置后,重新启动 Tomcat 服务: ```bash .//bin/shutdown.sh .//bin/startup.sh ``` --- #### **5. 测试系统** 1. **管理员登录**: - 默认管理员账号: ``` 用户名:admin 密码:123456 ``` 2. **用户注册与登录**: - 通过注册页面创建新用户。 - 登录后可查看、发布文章。 3. **管理员功能**: - 登录管理员账号后,可在后台管理用户和文章。 --- 至此,树洞论坛已成功安装并运行。欢迎使用并提供反馈! ![](./imgs/result.png) ## 开发进度 目前dev-1.1版本完成。