(1)新建一个学生类Student,属性包括:学号number、姓名userName、性别sex(注这个属性要设置成枚举类型:enum Gender)、班级className、所属院系department (2)新建一个学生信息展示页面list.jsp,主要用来显示已存在的学生信息列表,并在此页面中添加一个链接用来请求add.jsp页面 (3)新建一个Servlet,名为ListServlet,用来读取已添加的学生信息到list.jsp页面 (4)新建一个学生信息添加页面add.jsp,学生信息如同学生类封装的属性 (5)新建一个Servlet,名为AddServlet,用来将页面add.jsp提交的学生信息存储到一个List<Student>类型的list集合中 注: 存储学生信息用一个list的泛型集合来完成,可考虑用封装了一个静态成员List<Student> students类来完成,或者将list集合存储到session域,然后各个servlet去共享这个信息
时间: 2024-03-14 10:45:41 浏览: 63
设计学生类Student,属性:编号(整型);姓名(字符串),成绩(整型)。
5星 · 资源好评率100%
好的,您的问题是如何实现一个简单的学生信息管理系统,包括学生类的定义、信息展示页面、学生信息的添加和存储等操作。以下是一个简单的示例代码,供您参考:
1. 学生类的定义:
```java
public class Student {
private String number; // 学号
private String userName; // 姓名
private Gender sex; // 性别
private String className; // 班级
private String department; // 所属院系
// 构造函数
public Student(String number, String userName, Gender sex, String className, String department) {
this.number = number;
this.userName = userName;
this.sex = sex;
this.className = className;
this.department = department;
}
// getter 和 setter 方法
// ...
// 枚举类型 Gender
public enum Gender {
MALE, FEMALE
}
}
```
2. 学生信息展示页面 list.jsp:
```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 border="1">
<tr>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>班级</td>
<td>院系</td>
</tr>
<% for (Student s : students) { %>
<tr>
<td><%= s.getNumber() %></td>
<td><%= s.getUserName() %></td>
<td><%= s.getSex() %></td>
<td><%= s.getClassName() %></td>
<td><%= s.getDepartment() %></td>
</tr>
<% } %>
</table>
<br>
<a href="add.jsp">添加学生信息</a>
</body>
</html>
```
3. Servlet ListServlet,用来读取已添加的学生信息到 list.jsp 页面:
```java
@WebServlet("/list")
public class ListServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// 静态成员 students,用来存储学生信息
private static List<Student> students = new ArrayList<>();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 将学生信息存储到 request 域中
request.setAttribute("students", students);
// 转发到 list.jsp 页面
request.getRequestDispatcher("/list.jsp").forward(request, response);
}
}
```
4. 学生信息添加页面 add.jsp:
```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="add" method="post">
<label>学号:</label>
<input type="text" name="number"><br>
<label>姓名:</label>
<input type="text" name="userName"><br>
<label>性别:</label>
<select name="sex">
<option value="MALE">男</option>
<option value="FEMALE">女</option>
</select><br>
<label>班级:</label>
<input type="text" name="className"><br>
<label>院系:</label>
<input type="text" name="department"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
5. Servlet AddServlet,用来将页面 add.jsp 提交的学生信息存储到一个 List<Student> 类型的 students 集合中:
```java
@WebServlet("/add")
public class AddServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取页面提交的学生信息
String number = request.getParameter("number");
String userName = request.getParameter("userName");
String sexStr = request.getParameter("sex");
Gender sex = Gender.valueOf(sexStr);
String className = request.getParameter("className");
String department = request.getParameter("department");
// 创建学生对象
Student student = new Student(number, userName, sex, className, department);
// 将学生对象添加到 students 集合中
students.add(student);
// 重定向到 list 页面
response.sendRedirect(request.getContextPath() + "/list");
}
}
```
以上就是一个简单的学生信息管理系统的实现示例。其中,学生信息存储使用了静态成员或 session 域的方式,具体实现可以根据自己的需求来选择。同时,为了简化示例代码,没有考虑数据的持久化和安全性等问题,实际开发中需要根据具体情况进行处理。
阅读全文