当然可以帮你写一个学生信息管理系统。以下是一个简单的示例,你可以根据自己的需要进行修改和扩展。

首先,你需要创建一个数据库表来存储学生信息。以下是一个简单的学生表的示例:

CREATE TABLE students (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  age INT,
  grade INT
);

接下来,你可以创建一个Java类来表示学生对象:

public class Student {
  private int id;
  private String name;
  private int age;
  private int grade;

  // 构造方法
  public Student(int id, String name, int age, int grade) {
    this.id = id;
    this.name = name;
    this.age = age;
    this.grade = grade;
  }

  // getter和setter方法
  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public int getGrade() {
    return grade;
  }

  public void setGrade(int grade) {
    this.grade = grade;
  }
}

然后,你可以创建一个Dao类来处理学生信息的增删改查操作:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class StudentDao {
  private Connection connection;

  // 连接数据库
  public StudentDao() {
    try {
      Class.forName('com.mysql.jdbc.Driver');
      String url = 'jdbc:mysql://localhost:3306/test';
      String username = 'root';
      String password = 'password';
      connection = DriverManager.getConnection(url, username, password);
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }

  // 查询所有学生信息
  public List<Student> getAllStudents() {
    List<Student> students = new ArrayList<>();
    try {
      Statement statement = connection.createStatement();
      ResultSet resultSet = statement.executeQuery('SELECT * FROM students');
      while (resultSet.next()) {
        int id = resultSet.getInt('id');
        String name = resultSet.getString('name');
        int age = resultSet.getInt('age');
        int grade = resultSet.getInt('grade');
        Student student = new Student(id, name, age, grade);
        students.add(student);
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return students;
  }

  // 添加学生信息
  public void addStudent(Student student) {
    try {
      PreparedStatement statement = connection.prepareStatement('INSERT INTO students (name, age, grade) VALUES (?, ?, ?)');
      statement.setString(1, student.getName());
      statement.setInt(2, student.getAge());
      statement.setInt(3, student.getGrade());
      statement.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }

  // 更新学生信息
  public void updateStudent(Student student) {
    try {
      PreparedStatement statement = connection.prepareStatement('UPDATE students SET name = ?, age = ?, grade = ? WHERE id = ?');
      statement.setString(1, student.getName());
      statement.setInt(2, student.getAge());
      statement.setInt(3, student.getGrade());
      statement.setInt(4, student.getId());
      statement.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }

  // 删除学生信息
  public void deleteStudent(int id) {
    try {
      PreparedStatement statement = connection.prepareStatement('DELETE FROM students WHERE id = ?');
      statement.setInt(1, id);
      statement.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }
}

最后,你可以创建一个Servlet类来处理学生信息管理的请求:

import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet('/student')
public class StudentServlet extends HttpServlet {
  private StudentDao studentDao;

  @Override
  public void init() throws ServletException {
    super.init();
    studentDao = new StudentDao();
  }

  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<Student> students = studentDao.getAllStudents();
    request.setAttribute('students', students);
    request.getRequestDispatcher('student.jsp').forward(request, response);
  }

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String action = request.getParameter('action');
    if (action.equals('add')) {
      String name = request.getParameter('name');
      int age = Integer.parseInt(request.getParameter('age'));
      int grade = Integer.parseInt(request.getParameter('grade'));
      Student student = new Student(0, name, age, grade);
      studentDao.addStudent(student);
    } else if (action.equals('update')) {
      int id = Integer.parseInt(request.getParameter('id'));
      String name = request.getParameter('name');
      int age = Integer.parseInt(request.getParameter('age'));
      int grade = Integer.parseInt(request.getParameter('grade'));
      Student student = new Student(id, name, age, grade);
      studentDao.updateStudent(student);
    } else if (action.equals('delete')) {
      int id = Integer.parseInt(request.getParameter('id'));
      studentDao.deleteStudent(id);
    }
    response.sendRedirect(request.getContextPath() + '/student');
  }
}

在上述代码中,我们使用了JSP作为视图层,所以你需要创建一个名为student.jsp的JSP页面来显示学生信息列表和处理学生信息的增删改操作。以下是一个简单的student.jsp的示例:

<%@ page language='java' contentType='text/html; charset=UTF-8' pageEncoding='UTF-8' %>
<!DOCTYPE html>
<html>
<head>
  <meta charset='UTF-8'>
  <title>学生信息管理系统</title>
</head>
<body>
  <h1>学生信息管理系统</h1>
  <form action='student' method='post'>
    <input type='hidden' name='action' value='add'>
    <label for='name'>姓名:</label>
    <input type='text' name='name' required>
    <label for='age'>年龄:</label>
    <input type='number' name='age' required>
    <label for='grade'>年级:</label>
    <input type='number' name='grade' required>
    <button type='submit'>添加</button>
  </form>
  <table>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
      <th>年级</th>
      <th>操作</th>
    </tr>
    <c:forEach var='student' items='${students}'>
      <tr>
        <td>${student.name}</td>
        <td>${student.age}</td>
        <td>${student.grade}</td>
        <td>
          <form action='student' method='post' style='display: inline;'>
            <input type='hidden' name='action' value='update'>
            <input type='hidden' name='id' value='${student.id}'>
            <input type='text' name='name' value='${student.name}' required>
            <input type='number' name='age' value='${student.age}' required>
            <input type='number' name='grade' value='${student.grade}' required>
            <button type='submit'>更新</button>
          </form>
          <form action='student' method='post' style='display: inline;'>
            <input type='hidden' name='action' value='delete'>
            <input type='hidden' name='id' value='${student.id}'>
            <button type='submit'>删除</button>
          </form>
        </td>
      </tr>
    </c:forEach>
  </table>
</body>
</html>

上述代码中使用了JSTL标签库来处理学生信息的显示,所以你需要在WEB-INF/lib目录下添加JSTL的相关jar包。

这只是一个简单的学生信息管理系统的示例,你可以根据自己的需求进行修改和扩展。希望对你有帮助!

JavaWeb 学生信息管理系统开发教程:入门指南

原文地址: https://www.cveoy.top/t/topic/mWAG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录