用户输入学生成绩信息(id、姓名、C语言分数、html分数、css分数),通过JDBC连接数据库,点击提交能够将输入的信息保存到数据库中,插入成功之后跳转到另外一个页面显示出所有学生成绩信息
时间: 2024-09-27 09:13:24 浏览: 40
在Java中,你可以使用Swing或Spring Boot等框架结合JDBC来实现这个功能。首先,你需要做以下几个步骤:
1. **数据模型**:
创建一个Student实体类,包含id、姓名和三个分数属性,如`public class Student { private int id; private String name; private int cLanguageScore; private int htmlScore; private int cssScore; ...}`
2. **数据库操作**:
使用JDBC库编写SQL查询(比如PreparedStatement),准备插入语句和查询所有学生信息的语句。
```java
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
try (PreparedStatement insertStmt = conn.prepareStatement("INSERT INTO students (id, name, c_language_score, html_score, css_score) VALUES (?, ?, ?, ?, ?)")) {
// 设置参数并执行插入
insertStmt.setInt(1, student.getId());
insertStmt.setString(2, student.getName());
insertStmt.setInt(3, student.getCLanguageScore());
insertStmt.setInt(4, student.getHtmlScore());
insertStmt.setInt(5, student.getCssScore());
if (insertStmt.executeUpdate() > 0) {
// 插入成功,跳转
response.sendRedirect("显示成绩页面.jsp"); // 跳转到显示成绩的页面
} else {
System.out.println("Insertion failed!");
}
} catch (SQLException e) {
e.printStackTrace();
}
```
3. **前端界面**:
使用HTML和Servlets构建前端表单,让用户输入学生成绩。表单提交后,通过Controller发送请求到服务端处理。
4. **查询所有数据**:
为了在另一个页面显示所有学生信息,需要一个用于获取所有学生数据的方法,并在跳转前展示结果。
```java
ResultSet rs = null;
try (Statement stmt = conn.createStatement()) {
rs = stmt.executeQuery("SELECT * FROM students");
while (rs.next()) {
Student student = new Student(rs.getInt("id"), rs.getString("name"), rs.getInt("c_language_score"), rs.getInt("html_score"), rs.getInt("css_score"));
// 将学生对象添加到List中,供展示
}
} finally {
if (rs != null) {
rs.close();
}
}
// 跳转时传入列表参数,在接收页面渲染
response.sendRedirect("显示成绩页面.jsp?students=" + JSON.stringify(studentList));
```
5. **显示页面**:
显示成绩页面(`显示成绩页面.jsp`)从查询结果或者前端传递的数据中获取所有学生信息,并展示出来。
完成以上步骤后,用户输入的成绩就会存储在数据库中,并跳转到显示所有成绩的页面。
阅读全文