利用Java web建立一个表有姓名性别学号班级根据学号能查询信息实现增改操作的jsp
首先,我们需要创建一个Java类来表示学生信息。
public class Student {
private String name;
private String gender;
private String studentId;
private String className;
public Student(String name, String gender, String studentId, String className) {
this.name = name;
this.gender = gender;
this.studentId = studentId;
this.className = className;
}
// Getters and setters
// ...
}
接下来,我们需要创建一个Servlet来处理增改操作和查询信息的逻辑。
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
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 Map<String, Student> studentMap;
public StudentServlet() {
studentMap = new HashMap<>();
// 添加一些示例学生数据
studentMap.put("1001", new Student("张三", "男", "1001", "一班"));
studentMap.put("1002", new Student("李四", "女", "1002", "二班"));
studentMap.put("1003", new Student("王五", "男", "1003", "一班"));
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String studentId = request.getParameter("studentId");
Student student = studentMap.get(studentId);
if (student != null) {
request.setAttribute("student", student);
}
request.getRequestDispatcher("student.jsp").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String studentId = request.getParameter("studentId");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String className = request.getParameter("className");
Student student = new Student(name, gender, studentId, className);
studentMap.put(studentId, student);
request.setAttribute("student", student);
request.getRequestDispatcher("student.jsp").forward(request, response);
}
}
在这个Servlet中,我们使用一个Map来存储学生信息,其中key是学号,value是对应的学生对象。在构造方法中,我们添加了一些示例学生数据。
在doGet方法中,我们通过request.getParameter("studentId")获取查询参数中的学号,并根据学号从studentMap中获取对应的学生对象。如果找到了学生对象,我们将其设置到请求属性中,然后将请求转发给student.jsp进行展示。
在doPost方法中,我们首先从请求参数中获取学生信息,然后创建一个新的Student对象,并将其添加到studentMap中。最后,我们将新的学生对象设置到请求属性中,然后将请求转发给student.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="text" name="studentId" value="${student.studentId}" readonly><br>
姓名:<input type="text" name="name" value="${student.name}"><br>
性别:<input type="text" name="gender" value="${student.gender}"><br>
班级:<input type="text" name="className" value="${student.className}"><br>
<input type="submit" value="保存">
</form>
</body>
</html>
在这个student.jsp文件中,我们展示了学生信息的表单,其中学号是只读的,因为它是用于查询的关键信息。用户可以在表单中输入学生的姓名、性别和班级,并点击“保存”按钮进行提交。
这样,通过访问http://localhost:8080/student?studentId=1001,我们可以根据学号查询学生信息;通过提交表单可以进行增改操作。
原文地址: https://www.cveoy.top/t/topic/i4Vb 著作权归作者所有。请勿转载和采集!