帮我写一个基于java web的学生信息管理系统
时间: 2023-07-06 12:07:54 浏览: 51
好的,下面是一个简单的学生信息管理系统的Java Web实现。这个系统包含了学生信息的增删改查功能。
首先,我们需要定义学生实体类,包含学生的基本信息:
```java
public class Student {
private int id; // 学号
private String name; // 姓名
private int age; // 年龄
private String gender; // 性别
// 构造函数
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;
}
}
```
接下来,我们需要创建一个学生信息管理类,包含增删改查等方法:
```java
public class StudentManager {
private static Map<Integer, Student> students = new HashMap<>(); // 用Map存储学生信息
// 添加学生信息
public static void addStudent(Student student) {
students.put(student.getId(), student);
}
// 删除学生信息
public static void deleteStudent(int id) {
students.remove(id);
}
// 修改学生信息
public static void updateStudent(Student student) {
students.put(student.getId(), student);
}
// 查询学生信息
public static List<Student> queryStudent(String name) {
List<Student> list = new ArrayList<>();
for (Student student : students.values()) {
if (student.getName().equals(name)) {
list.add(student);
}
}
return list;
}
// 获取所有学生信息
public static List<Student> getAllStudents() {
return new ArrayList<>(students.values());
}
}
```
接下来,我们需要创建一个Servlet来处理学生信息的增删改查请求:
```java
public class StudentServlet extends HttpServlet {
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if (action == null) {
action = "list";
}
// 查询学生信息
if (action.equals("query")) {
String name = request.getParameter("name");
List<Student> list = StudentManager.queryStudent(name);
request.setAttribute("students", list);
request.getRequestDispatcher("/query.jsp").forward(request, response);
}
// 显示所有学生信息
else if (action.equals("list")) {
List<Student> list = StudentManager.getAllStudents();
request.setAttribute("students", list);
request.getRequestDispatcher("/list.jsp").forward(request, response);
}
// 显示添加学生信息的页面
else if (action.equals("add")) {
request.getRequestDispatcher("/add.jsp").forward(request, response);
}
// 处理添加学生信息的请求
else if (action.equals("doAdd")) {
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);
StudentManager.addStudent(student);
response.sendRedirect("student?action=list");
}
// 显示修改学生信息的页面
else if (action.equals("edit")) {
int id = Integer.parseInt(request.getParameter("id"));
Student student = StudentManager.getAllStudents().stream()
.filter(s -> s.getId() == id)
.findFirst()
.orElse(null);
request.setAttribute("student", student);
request.getRequestDispatcher("/edit.jsp").forward(request, response);
}
// 处理修改学生信息的请求
else if (action.equals("doEdit")) {
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);
StudentManager.updateStudent(student);
response.sendRedirect("student?action=list");
}
// 处理删除学生信息的请求
else if (action.equals("delete")) {
int id = Integer.parseInt(request.getParameter("id"));
StudentManager.deleteStudent(id);
response.sendRedirect("student?action=list");
}
}
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
```
最后,我们需要创建一些JSP页面来显示学生信息、添加学生信息、修改学生信息等:
list.jsp:
```html
<%@ 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>
<p><a href="student?action=add">添加学生信息</a></p>
<table border="1">
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>操作</th>
</tr>
<c:forEach items="${students}" var="student">
<tr>
<td>${student.id}</td>
<td>${student.name}</td>
<td>${student.age}</td>
<td>${student.gender}</td>
<td>
<a href="student?action=edit&id=${student.id}">修改</a>
<a href="student?action=delete&id=${student.id}">删除</a>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
```
add.jsp:
```html
<%@ 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="hidden" name="action" value="doAdd" />
<p>学号:<input type="text" name="id" /></p>
<p>姓名:<input type="text" name="name" /></p>
<p>年龄:<input type="text" name="age" /></p>
<p>性别:<input type="text" name="gender" /></p>
<p><input type="submit" value="添加" /></p>
</form>
</body>
</html>
```
edit.jsp:
```html
<%@ 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="hidden" name="action" value="doEdit" />
<input type="hidden" name="id" value="${student.id}" />
<p>学号:<input type="text" name="id" value="${student.id}" /></p>
<p>姓名:<input type="text" name="name" value="${student.name}" /></p>
<p>年龄:<input type="text" name="age" value="${student.age}" /></p>
<p>性别:<input type="text" name="gender" value="${student.gender}" /></p>
<p><input type="submit" value="保存" /></p>
</form>
</body>
</html>
```
query.jsp:
```html
<%@ 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="get">
<input type="hidden" name="action" value="query" />
<p>姓名:<input type="text" name="name" /></p>
<p><input type="submit" value="查询" /></p>
</form>
<table border="1">
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
<c:forEach items="${students}" var="student">
<tr>
<td>${student.id}</td>
<td>${student.name}</td>
<td>${student.age}</td>
<td>${student.gender}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
```
以上就是一个简单的学生信息管理系统的Java Web实现,你可以根据自己的需求对其进行修改和完善。