JavaWeb 学生信息管理系统开发教程:入门指南
当然可以帮你写一个学生信息管理系统。以下是一个简单的示例,你可以根据自己的需要进行修改和扩展。
首先,你需要创建一个数据库表来存储学生信息。以下是一个简单的学生表的示例:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT,
grade INT
);
接下来,你可以创建一个Java类来表示学生对象:
public class Student {
private int id;
private String name;
private int age;
private int grade;
// 构造方法
public Student(int id, String name, int age, int grade) {
this.id = id;
this.name = name;
this.age = age;
this.grade = grade;
}
// 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 int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
然后,你可以创建一个Dao类来处理学生信息的增删改查操作:
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class StudentDao {
private Connection connection;
// 连接数据库
public StudentDao() {
try {
Class.forName('com.mysql.jdbc.Driver');
String url = 'jdbc:mysql://localhost:3306/test';
String username = 'root';
String password = 'password';
connection = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 查询所有学生信息
public List<Student> getAllStudents() {
List<Student> students = new ArrayList<>();
try {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery('SELECT * FROM students');
while (resultSet.next()) {
int id = resultSet.getInt('id');
String name = resultSet.getString('name');
int age = resultSet.getInt('age');
int grade = resultSet.getInt('grade');
Student student = new Student(id, name, age, grade);
students.add(student);
}
} catch (SQLException e) {
e.printStackTrace();
}
return students;
}
// 添加学生信息
public void addStudent(Student student) {
try {
PreparedStatement statement = connection.prepareStatement('INSERT INTO students (name, age, grade) VALUES (?, ?, ?)');
statement.setString(1, student.getName());
statement.setInt(2, student.getAge());
statement.setInt(3, student.getGrade());
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 更新学生信息
public void updateStudent(Student student) {
try {
PreparedStatement statement = connection.prepareStatement('UPDATE students SET name = ?, age = ?, grade = ? WHERE id = ?');
statement.setString(1, student.getName());
statement.setInt(2, student.getAge());
statement.setInt(3, student.getGrade());
statement.setInt(4, student.getId());
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除学生信息
public void deleteStudent(int id) {
try {
PreparedStatement statement = connection.prepareStatement('DELETE FROM students WHERE id = ?');
statement.setInt(1, id);
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
最后,你可以创建一个Servlet类来处理学生信息管理的请求:
import java.io.IOException;
import java.util.List;
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 StudentDao studentDao;
@Override
public void init() throws ServletException {
super.init();
studentDao = new StudentDao();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Student> students = studentDao.getAllStudents();
request.setAttribute('students', students);
request.getRequestDispatcher('student.jsp').forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter('action');
if (action.equals('add')) {
String name = request.getParameter('name');
int age = Integer.parseInt(request.getParameter('age'));
int grade = Integer.parseInt(request.getParameter('grade'));
Student student = new Student(0, name, age, grade);
studentDao.addStudent(student);
} else if (action.equals('update')) {
int id = Integer.parseInt(request.getParameter('id'));
String name = request.getParameter('name');
int age = Integer.parseInt(request.getParameter('age'));
int grade = Integer.parseInt(request.getParameter('grade'));
Student student = new Student(id, name, age, grade);
studentDao.updateStudent(student);
} else if (action.equals('delete')) {
int id = Integer.parseInt(request.getParameter('id'));
studentDao.deleteStudent(id);
}
response.sendRedirect(request.getContextPath() + '/student');
}
}
在上述代码中,我们使用了JSP作为视图层,所以你需要创建一个名为student.jsp的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='hidden' name='action' value='add'>
<label for='name'>姓名:</label>
<input type='text' name='name' required>
<label for='age'>年龄:</label>
<input type='number' name='age' required>
<label for='grade'>年级:</label>
<input type='number' name='grade' required>
<button type='submit'>添加</button>
</form>
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>年级</th>
<th>操作</th>
</tr>
<c:forEach var='student' items='${students}'>
<tr>
<td>${student.name}</td>
<td>${student.age}</td>
<td>${student.grade}</td>
<td>
<form action='student' method='post' style='display: inline;'>
<input type='hidden' name='action' value='update'>
<input type='hidden' name='id' value='${student.id}'>
<input type='text' name='name' value='${student.name}' required>
<input type='number' name='age' value='${student.age}' required>
<input type='number' name='grade' value='${student.grade}' required>
<button type='submit'>更新</button>
</form>
<form action='student' method='post' style='display: inline;'>
<input type='hidden' name='action' value='delete'>
<input type='hidden' name='id' value='${student.id}'>
<button type='submit'>删除</button>
</form>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
上述代码中使用了JSTL标签库来处理学生信息的显示,所以你需要在WEB-INF/lib目录下添加JSTL的相关jar包。
这只是一个简单的学生信息管理系统的示例,你可以根据自己的需求进行修改和扩展。希望对你有帮助!
原文地址: https://www.cveoy.top/t/topic/mWAG 著作权归作者所有。请勿转载和采集!