使用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/i4RK 著作权归作者所有。请勿转载和采集!