# 学生信息管理系统 基于 **JSP + Servlet + JavaBean + JDBC + DAO** 架构设计,使用 **jQuery、EL、JSTL、Ajax** 技术实现。 ## 技术栈 | 层级 | 技术 | | ------ | --------------------------------------- | | 视图层 | JSP、JSTL、EL、jQuery、Ajax、HTML5/CSS3 | | 控制层 | Servlet(注解配置) | | 模型层 | JavaBean | | 数据层 | DAO接口 + DAO实现 + JDBC | | 数据库 | MySQL 8.0+ | | 服务器 | Apache Tomcat 9+ | ## 项目结构 ``` student-management/ ├── sql/ │ └── init.sql # 数据库初始化脚本 ├── src/ │ └── main/ │ ├── java/ │ │ └── com/student/ │ │ ├── bean/ │ │ │ └── Student.java # 学生实体类 │ │ ├── dao/ │ │ │ ├── StudentDAO.java # DAO接口 │ │ │ └── StudentDAOImpl.java # DAO实现(JDBC) │ │ ├── servlet/ │ │ │ ├── StudentServlet.java # 列表/搜索/删除 │ │ │ ├── AddStudentServlet.java # 添加学生 │ │ │ ├── UpdateStudentServlet.java # 更新学生 │ │ │ ├── GetStudentServlet.java # Ajax获取学生JSON │ │ │ └── CheckStudentNoServlet.java # Ajax校验学号 │ │ └── util/ │ │ └── DBUtil.java # 数据库连接工具 │ ├── resources/ │ │ └── db.properties # 数据库配置 │ └── webapp/ │ ├── WEB-INF/ │ │ └── web.xml # Web部署描述符 │ ├── index.jsp # 欢迎页 │ ├── studentList.jsp # 学生列表(分页/搜索) │ ├── addStudent.jsp # 添加学生(Ajax校验学号) │ ├── editStudent.jsp # 编辑学生(Ajax加载数据) │ ├── error.jsp # 错误页面 │ └── css/ │ └── style.css # 样式表 ``` ## 数据库配置 ### 1. 创建数据库 执行 `sql/init.sql` 脚本初始化数据库和表结构: ```sql mysql -u root -p < sql/init.sql ``` ### 2. 修改数据库连接配置 编辑 `src/main/resources/db.properties`,修改为你的数据库连接信息: ```properties jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/student_management?useUnicode=true&characterEncoding=utf8mb4&useSSL=false&serverTimezone=Asia/Shanghai jdbc.username=root jdbc.password=your_password ``` ## 部署步骤 ### 方式一:IDE部署(推荐) 1. **导入项目**:在 IDE(Eclipse/IntelliJ IDEA)中导入为 Web 项目 2. **添加依赖**:将以下 JAR 包添加到 `WEB-INF/lib/`: - `servlet-api.jar`(Tomcat自带,无需添加) - `jstl-1.2.jar`(JSTL标签库) - `mysql-connector-java-x.x.xx.jar`(MySQL驱动,推荐8.0+) 3. **配置Tomcat**:添加 Tomcat 服务器,部署项目 4. **启动服务**:启动 Tomcat,访问 `http://localhost:8080/student-management/` ### 方式二:手动部署 1. 编译所有 Java 文件到 `WEB-INF/classes/` 2. 将完整项目打包为 WAR 文件 3. 将 WAR 文件放入 Tomcat 的 `webapps/` 目录 4. 启动 Tomcat 自动解压部署 ## 所需依赖(JAR包) | JAR包 | 说明 | 下载位置 | | --------------------------------- | -------------- | --------------- | | `jstl-1.2.jar` | JSTL标准标签库 | Maven中央仓库 | | `mysql-connector-java-x.x.xx.jar` | MySQL JDBC驱动 | MySQL官网/Maven | ## 功能说明 | 功能 | 描述 | 涉及技术 | | -------- | ------------------------------------------- | ------------------------- | | 学生列表 | 分页展示所有学生信息 | Servlet + JSP + EL + JSTL | | 添加学生 | 添加新学生,Ajax实时校验学号唯一性 | Ajax + jQuery | | 编辑学生 | 修改学生信息,Ajax填充表单数据 | Ajax + jQuery | | 删除学生 | 删除学生记录(带确认提示) | jQuery | | 搜索学生 | 按学号/姓名/班级/专业模糊查询,支持状态筛选 | Servlet + DAO | | 分页导航 | 首页/上页/下页/末页,页码跳转 | JSTL + EL |