编写JSP程序,基于JavaBean和Servlet实现一个简单的成绩记录的录入、显示与统计的应用。
时间: 2023-06-16 19:02:57 浏览: 124
基于Servlet+Jsp实现的学生成绩管理系统
好的,我可以为您提供一个简单的JSP程序,实现成绩记录的录入、显示与统计的应用。
首先,我们需要创建一个JavaBean类,用于存储学生的成绩记录。以下是一个简单的示例:
```
public class GradeRecord {
private String name;
private double grade;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getGrade() {
return grade;
}
public void setGrade(double grade) {
this.grade = grade;
}
}
```
接下来,我们需要创建一个Servlet,用于处理用户输入的成绩记录,并将其存储在JavaBean中。以下是一个简单的示例:
```
@WebServlet("/grade")
public class GradeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
double grade = Double.parseDouble(request.getParameter("grade"));
GradeRecord record = new GradeRecord();
record.setName(name);
record.setGrade(grade);
HttpSession session = request.getSession();
List<GradeRecord> records = (List<GradeRecord>) session.getAttribute("records");
if (records == null) {
records = new ArrayList<GradeRecord>();
}
records.add(record);
session.setAttribute("records", records);
response.sendRedirect("grade.jsp");
}
}
```
在这个示例中,我们从用户提交的表单中获取学生的姓名和成绩,并存储在JavaBean中。然后,我们将JavaBean存储在Session中,以便在后续的请求中可以访问它。
最后,我们需要创建一个JSP页面,用于显示所有学生的成绩记录,并计算平均成绩。以下是一个简单的示例:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.List" %>
<%@ page import="javax.servlet.http.HttpSession" %>
<%@ page import="com.example.GradeRecord" %>
<%
HttpSession session = request.getSession();
List<GradeRecord> records = (List<GradeRecord>) session.getAttribute("records");
double total = 0;
int count = 0;
for (GradeRecord record : records) {
total += record.getGrade();
count++;
}
double average = count > 0 ? total / count : 0;
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>成绩统计</title>
</head>
<body>
<h1>成绩统计</h1>
<form action="grade" method="post">
<label for="name">姓名:</label><input type="text" name="name"><br>
<label for="grade">成绩:</label><input type="text" name="grade"><br>
<input type="submit" value="提交">
</form>
<hr>
<h2>成绩列表</h2>
<table>
<tr>
<th>姓名</th>
<th>成绩</th>
</tr>
<% for (GradeRecord record : records) { %>
<tr>
<td><%= record.getName() %></td>
<td><%= record.getGrade() %></td>
</tr>
<% } %>
</table>
<hr>
<h2>成绩统计</h2>
<p>总成绩:<%= total %></p>
<p>平均成绩:<%= average %></p>
</body>
</html>
```
在这个示例中,我们首先从Session中获取所有的成绩记录,并计算总成绩和平均成绩。然后,我们通过一个简单的HTML表单允许用户提交新的成绩记录,并通过一个HTML表格显示所有的成绩记录。最后,我们在页面底部显示总成绩和平均成绩。
这就是一个简单的JSP程序,实现成绩记录的录入、显示与统计的应用。
阅读全文