# 忒科技-实验室管理系统 **Repository Path**: luote996_admin/schoolclassword ## Basic Information - **Project Name**: 忒科技-实验室管理系统 - **Description**: 基于SpringBoot的实验室管理系统(前后一体化的JSP大作业项目) - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2025-11-08 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: JavaEE期末作业, SpringBoot, MyBatis, jsp ## README # jsptest 实验室教学管理系统 ## 项目概述 jsptest 是基于 Spring Boot + MyBatis + JSP 技术栈构建的实验室教学管理平台,提供管理员端与学生端两套界面,覆盖通知发布、成员与课程管理、教室调度、图片轮播展示、学生账号管理等核心场景。 ## 系统特性 - **管理员端** - 信息预览:首页展示近期通知、成员与未加入账号概览。 - 成员管理:统一列表筛选(年级、关键词),支持从学生账号库一键添加成员。 - 课程 / 教室 / 教学人员管理:统一采用弹窗表单进行新增与编辑操作。 - 通知管理:支持发布、查询及回执统计,列表按钮布局优化。 - 用户总览:合并成员与学生账号,通过筛选区分已加入 / 未加入状态。 - 轮播图管理:上传、预览、删除轮播图资源,文件统一保存在 `src/main/resources/static/images`(@images)目录。 - **学生端** - 主页:左侧轮播图动态展示实验室风采,右侧为实验室简介与最新通知,可点击图片查看大图。 - 成员信息 / 课程目录:支持关键词与分类筛选,隐藏敏感字段,展示结构化信息。 - 顶部导航:主页、成员信息、课程目录位于导航栏左侧,保持一致的交互体验。 - **登录与注册页面** - 底部跳转按钮样式统一。 - 背景使用 ECharts 文本描边动画,播放一次后停止,与卡片分层展示。 ## 技术栈 - **后端**:Spring Boot 3.4.x、MyBatis、Jakarta Servlet/JSP、Lombok - **前端**:JSP、JSTL、原生 JavaScript、ECharts 5.5.0(WebJar) - **数据库**:MySQL 8.x(示例脚本包含初始化数据) - **构建工具**:Maven(随仓库提供 `mvnw` / `mvnw.cmd`) ## 目录结构 ``` jsptest/ ├─ pom.xml # Maven 配置,定义项目依赖 ├─ src/main/java/org/qt/jsptest/ │ ├─ controller # Spring MVC 控制器(管理端、学生端入口) │ ├─ domain # 实体对象(成员、课程、通知、轮播图等) │ ├─ mapper # MyBatis Mapper 接口 │ ├─ service / impl # 业务服务接口及实现 │ └─ JsptestApplication.java # Spring Boot 启动类 ├─ src/main/resources/ │ ├─ application.yml # 数据源、MyBatis、静态资源等配置(如存在请按需调整) │ ├─ mapper/*.xml # MyBatis SQL 映射文件 │ └─ sql/lab_management_schema.sql # 数据库建表与示例数据脚本 └─ src/main/webapp/WEB-INF/jsp/ # JSP 视图(管理员端、学生端、登录注册页面) ``` ## 环境要求 - JDK 17 - Maven 3.9+(已提供 `mvnw` 可直接使用) - MySQL 8.0 及以上 ## 快速开始 1. **克隆代码** ```bash git clone cd jsptest ``` 2. **初始化数据库** - 创建数据库并执行脚本:`src/main/resources/sql/lab_management_schema.sql` - 根据实际情况调整 `application.yml` 中的数据库连接、账号密码。 3. **安装依赖并启动** ```bash ./mvnw clean package ./mvnw spring-boot:run ``` Windows 用户可使用 `mvnw.cmd`。 4. **访问系统** - 管理员端入口:`http://localhost:8080/lab/dashboard` - 学生端入口:`http://localhost:8080/student/home` - 登录默认账号(示例)可参考初始化脚本: - 管理员示例:`用户名 chen / 密码 123456` - 学生示例:`用户名 stu_zhangxiao / 密码 123456` ## 静态资源说明 - ECharts 静态资源通过 WebJar 自动引入,若需自定义版本可在 `pom.xml` 中调整。 - 轮播图图片默认放置在 `src/main/resources/static/images` 目录,管理员上传的新图片将保存于此路径(开发时用,当然也可以自己改)。 - 图片文件路径当前保存在数据库中,二次开发若需接入 COS / OSS 等对象存储,可直接改为记录云端访问地址。 ## 常见问题 - **JSP 访问 404 / 403**:确认 `application.yml` 中 `spring.mvc.view.prefix`、`suffix` 配置与 `WEB-INF/jsp` 路径一致。 - **静态资源无法预览**:检查 `spring.web.resources.static-locations` 配置,确保包含 `classpath:/static/`。 - **数据库连接失败**:确认 MySQL 服务运行正常,用户名密码、端口与数据库名称与脚本一致。 ## 许可证 本项目代码仅供学习交流使用,如需商用请先与作者沟通。