# thesis-topic **Repository Path**: haobinjun/thesis-topic ## Basic Information - **Project Name**: thesis-topic - **Description**: 课题管理系统,专门的课题管理模块 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-21 - **Last Updated**: 2026-01-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 毕业设计课题管理系统 ## 项目简介 基于 Servlet + MyBatis + MySQL + Axios 实现的毕业设计课题管理系统,包含用户登录和课题的增删改查功能。 ## 技术栈 - **后端**: Java Servlet + MyBatis - **前端**: HTML + CSS + JavaScript (Axios) - **数据库**: MySQL ## 项目结构 ``` 05毕业设计课题管理系统/ ├── sql/ # 数据库脚本 │ └── init.sql # 数据库初始化 ├── backend/ # 后端代码 │ ├── src/com/grad/ │ │ ├── entity/ # 实体类 │ │ ├── dao/ # Mapper接口 │ │ ├── service/ # 业务逻辑层 │ │ ├── servlet/ # 控制器 │ │ ├── filter/ # 过滤器 │ │ └── util/ # 工具类 │ ├── main/resources/ │ │ ├── mapper/ # MyBatis映射文件 │ │ └── mybatis-config.xml # MyBatis配置 │ └── lib/ # 依赖jar包 ├── frontend/ # 前端代码 │ ├── login.html # 登录页面 │ ├── index.html # 课题管理页面 │ ├── css/style.css # 样式文件 │ └── js/ # JavaScript文件 └── web/ # Web部署目录 └── WEB-INF/ └── web.xml # Web配置 ``` ## 数据库设计 ### 用户表 (grad_user) | 字段 | 类型 | 说明 | |------|------|------| | id | INT | 主键ID | | username | VARCHAR(50) | 用户名 | | password | VARCHAR(100) | 密码 | | real_name | VARCHAR(50) | 真实姓名 | | role | VARCHAR(20) | 角色 | ### 课题表 (grad_topic) | 字段 | 类型 | 说明 | |------|------|------| | id | INT | 主键ID | | title | VARCHAR(200) | 课题名称 | | description | TEXT | 课题描述 | | teacher | VARCHAR(50) | 指导教师 | | category | VARCHAR(50) | 课题分类 | | difficulty | VARCHAR(20) | 难度等级 | | max_students | INT | 最大人数 | | status | VARCHAR(20) | 状态 | ## API接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/login | 用户登录 | | POST | /api/logout | 用户登出 | | GET | /api/topics | 查询所有课题 | | GET | /api/topics?id=1 | 根据ID查询课题 | | POST | /api/topics | 新增课题 | | PUT | /api/topics | 更新课题 | | DELETE | /api/topics?id=1 | 删除课题 | ## 部署步骤 ### 1. 数据库配置 创建数据库并执行初始化脚本: ```sql source sql/init.sql ``` 默认测试账号: - 教师: teacher / 123456 - 学生: student / 123456 ### 2. 后端配置 修改 `mybatis-config.xml` 中的数据库连接信息(需要在MyBatis配置中添加数据库连接): ```xml ... ``` ### 3. 依赖jar包 将以下jar包放入 `backend/lib/` 和 `web/WEB-INF/lib/` 目录: - mybatis-x.x.x.jar - mysql-connector-java-x.x.x.jar - gson-x.x.x.jar - servlet-api.jar (Tomcat自带) ### 4. 编译部署 1. 编译Java源文件到 `backend/build/` 目录 2. 将编译后的class文件、配置文件、前端文件复制到Tomcat的webapps目录 3. 启动Tomcat服务器 4. 访问 http://localhost:8080/项目名称/login.html ## 测试账号 - 教师账号: teacher / 123456 - 学生账号: student / 123456 ## 功能说明 ### 登录功能 - 用户名和密码验证 - Session管理 - 登录拦截 ### 课题管理 - 查看课题列表 - 新增课题 - 编辑课题 - 删除课题 - 按ID查询课题