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
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 |
|