You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
4.8 KiB

5 days ago
# 学生信息管理系统
基于 **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 |