用java写一个学生信息管理系统并连接数据库页面显示
时间: 2023-12-17 16:05:37 浏览: 40
好的,下面是一个简单的 Java 学生信息管理系统示例,它能够连接数据库并显示学生信息:
Student.java:
```java
public class Student {
private int id;
private String name;
private int age;
private String gender;
private double score;
public Student() {}
public Student(int id, String name, int age, String gender, double score) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.score = score;
}
// getters and setters
// ...
}
```
StudentDAO.java:
```java
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class StudentDAO {
private String url = "jdbc:mysql://localhost:3306/student_db";
private String username = "root";
private String password = "password";
public List<Student> findAllStudents() {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载数据库驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
conn = DriverManager.getConnection(url, username, password);
// 创建 Statement 对象执行 SQL 语句
String sql = "SELECT * FROM student";
stmt = conn.createStatement();
// 处理执行结果
rs = stmt.executeQuery(sql);
List<Student> students = new ArrayList<>();
while (rs.next()) {
Student student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
student.setAge(rs.getInt("age"));
student.setGender(rs.getString("gender"));
student.setScore(rs.getDouble("score"));
students.add(student);
}
return students;
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
// 关闭连接
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
```
StudentServlet.java:
```java
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class StudentServlet extends HttpServlet {
private StudentDAO studentDAO = new StudentDAO();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Student> students = studentDAO.findAllStudents();
request.setAttribute("students", students);
request.getRequestDispatcher("student.jsp").forward(request, response);
}
}
```
student.jsp:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>学生信息管理系统</title>
</head>
<body>
<h1>学生信息列表</h1>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>分数</th>
</tr>
</thead>
<tbody>
<% for (Student student : (List<Student>)request.getAttribute("students")) { %>
<tr>
<td><%= student.getId() %></td>
<td><%= student.getName() %></td>
<td><%= student.getAge() %></td>
<td><%= student.getGender() %></td>
<td><%= student.getScore() %></td>
</tr>
<% } %>
</tbody>
</table>
</body>
</html>
```
这个示例程序中,我们创建了一个 Student 类来表示学生信息,使用 StudentDAO 类来连接数据库并查询学生信息。在 Servlet 类中,我们使用 studentDAO.findAllStudents() 方法查询所有学生信息,并将结果存储到 request 中,然后转发到 student.jsp 页面进行显示。在 student.jsp 页面中,我们使用表格来显示学生信息。