首先,我们需要创建一个学生类的 JavaBean,该类包含学生的属性和对应的 getter 和 setter 方法。

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

    // 构造方法
    public Student() {}

    public Student(int id, String name, int age, String gender) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    // 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 String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }
}

接下来,我们需要创建一个 Servlet 来处理学生数据的增删改查操作。在这个 Servlet 中,我们可以使用一个 ArrayList 来保存学生数据。

import java.io.IOException;
import java.util.ArrayList;
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 List<Student> students = new ArrayList<>();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String action = request.getParameter('action');
        if (action == null) {
            action = 'list';
        }

        switch (action) {
            case 'list':
                listStudents(request, response);
                break;
            case 'add':
                addStudent(request, response);
                break;
            case 'delete':
                deleteStudent(request, response);
                break;
            case 'edit':
                editStudent(request, response);
                break;
            default:
                listStudents(request, response);
        }
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

    private void listStudents(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setAttribute('students', students);
        request.getRequestDispatcher('list.jsp').forward(request, response);
    }

    private void addStudent(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        int id = Integer.parseInt(request.getParameter('id'));
        String name = request.getParameter('name');
        int age = Integer.parseInt(request.getParameter('age'));
        String gender = request.getParameter('gender');

        Student student = new Student(id, name, age, gender);
        students.add(student);

        response.sendRedirect('StudentServlet');
    }

    private void deleteStudent(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        int id = Integer.parseInt(request.getParameter('id'));

        for (Student student : students) {
            if (student.getId() == id) {
                students.remove(student);
                break;
            }
        }

        response.sendRedirect('StudentServlet');
    }

    private void editStudent(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        int id = Integer.parseInt(request.getParameter('id'));
        String name = request.getParameter('name');
        int age = Integer.parseInt(request.getParameter('age'));
        String gender = request.getParameter('gender');

        for (Student student : students) {
            if (student.getId() == id) {
                student.setName(name);
                student.setAge(age);
                student.setGender(gender);
                break;
            }
        }

        response.sendRedirect('StudentServlet');
    }
}

在上述代码中,我们使用 doGet 和 doPost 方法来处理 GET 和 POST 请求。根据请求参数 action 的值,我们执行不同的操作。listStudents 方法用于显示学生列表,addStudent 方法用于添加学生,deleteStudent 方法用于删除学生,editStudent 方法用于编辑学生。

最后,我们需要创建一个 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>
    <table>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>性别</th>
            <th>操作</th>
        </tr>
        <c:forEach var='student' items='${students}'>
            <tr>
                <td>${student.id}</td>
                <td>${student.name}</td>
                <td>${student.age}</td>
                <td>${student.gender}</td>
                <td>
                    <a href='StudentServlet?action=delete&id=${student.id}'>删除</a>
                    <a href='edit.jsp?id=${student.id}'>编辑</a>
                </td>
            </tr>
        </c:forEach>
    </table>
    <h2>添加学生</h2>
    <form action='StudentServlet?action=add' method='post'>
        ID: <input type='text' name='id'><br>
        姓名: <input type='text' name='name'><br>
        年龄: <input type='text' name='age'><br>
        性别: <input type='text' name='gender'><br>
        <input type='submit' value='添加'>
    </form>
</body>
</html>

在上述 JSP 页面中,我们使用 JSTL 的 forEach 标签来遍历学生列表,并将学生的信息显示在表格中。每一行中,我们为每个学生提供删除和编辑的链接。

以上就是使用 JavaBean 和 Servlet 实现学生数据的增删改查的示例代码。你可以根据自己的需求进行修改和扩展。


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

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