首先,我们需要创建一个学生类的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/i4RK 著作权归作者所有。请勿转载和采集!

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