JavaBean 和 Servlet 实现学生数据增删改查
首先,我们需要创建一个学生类的 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 著作权归作者所有。请勿转载和采集!