1. 项目背景与需求分析
走读生管理一直是学校日常工作中的痛点。相比住校生,走读生每天往返家校之间,涉及考勤、请假、安全通知等多个管理环节。传统的手工登记方式效率低下,数据难以统计,家校沟通也不够及时。我在某中学信息化部门工作时,就经常遇到班主任抱怨走读生管理耗时耗力的问题。
基于Java Web的走读生管理系统正是为解决这些痛点而设计。系统需要实现三大核心功能:
- 走读生基础信息管理(包括学生档案、家长联系方式等)
- 日常考勤与请假审批流程
- 家校互动消息推送
关键设计考量:系统需要同时满足PC端管理员操作和手机端家长查询的需求,这就要求后端API设计必须充分考虑移动端适配。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 技术栈选择
经过对比当前主流Java Web技术方案,最终确定以下技术组合:
- 前端:Bootstrap + jQuery(考虑学校IT人员技术储备)
- 后端:Spring Boot 2.7 + MyBatis Plus
- 数据库:MySQL 8.0(社区版足够满足需求)
- 安全框架:Spring Security + JWT
- 消息推送:WebSocket + 短信网关接口
选择这套方案主要基于三点考虑:
- 学校现有服务器配置较低(4核8G),需要轻量级方案
- 后期维护可能由学校IT人员接手,技术门槛不能太高
- 需要与现有校园门户系统(PHP开发)对接
2.2 系统架构设计
采用经典的三层架构,但针对走读生管理特点做了优化:
code复制表现层(Web) → 业务逻辑层 → 数据访问层
↑ ↑
(API网关) (消息中间件)
特别设计了双通道消息机制:
- 实时通知:WebSocket推送考勤异常
- 异步通知:短信网关发送日常提醒
数据库设计中,最核心的是走读生考勤流水表:
sql复制CREATE TABLE `day_student_attendance` (
`id` bigint NOT NULL AUTO_INCREMENT,
`student_id` varchar(20) NOT NULL COMMENT '学号',
`check_t
