给我写一个Javaweb的学生信息管理系统
时间: 2023-07-06 19:06:24 浏览: 109
基于Javaweb得学生信息管理系统
5星 · 资源好评率100%
好的,我可以为您提供一个基本的学生信息管理系统的代码框架,但是由于时间和代码量限制,无法提供完整的代码实现。以下是一个简单的Javaweb学生信息管理系统的框架:
1. 创建数据库表
首先创建一个名为“student”的数据库,然后在其中创建一个名为“student_info”的表,该表包含以下列:
- id:学生ID,自动递增
- name:学生姓名,varchar类型
- gender:学生性别,varchar类型
- age:学生年龄,int类型
- grade:学生年级,int类型
2. 定义JavaBean类
创建一个名为“Student”的JavaBean类,用于表示学生信息,该类具有以下属性:
```java
public class Student {
private int id;
private String name;
private String gender;
private int age;
private int grade;
// getter and setter methods
}
```
3. 编写DAO类
创建一个名为“StudentDAO”的DAO类,用于处理与数据库相关的操作,包括添加、删除、更新、查询等。在该类中,我们需要使用JDBC连接数据库,执行SQL语句来实现操作。
```java
public class StudentDAO {
// JDBC连接参数
private static final String URL = "jdbc:mysql://localhost:3306/student";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
// SQL语句
private static final String ADD_SQL = "INSERT INTO student_info(name, gender, age, grade) VALUES(?, ?, ?, ?)";
private static final String DELETE_SQL = "DELETE FROM student_info WHERE id=?";
private static final String UPDATE_SQL = "UPDATE student_info SET name=?, gender=?, age=?, grade=? WHERE id=?";
private static final String QUERY_ALL_SQL = "SELECT * FROM student_info";
private static final String QUERY_BY_ID_SQL = "SELECT * FROM student_info WHERE id=?";
// 添加学生信息
public void addStudent(Student student) {
// TODO: 实现添加学生信息的方法
}
// 删除学生信息
public void deleteStudent(int id) {
// TODO: 实现删除学生信息的方法
}
// 更新学生信息
public void updateStudent(Student student) {
// TODO: 实现更新学生信息的方法
}
// 查询所有学生信息
public List<Student> queryAllStudents() {
// TODO: 实现查询所有学生信息的方法
return null;
}
// 根据ID查询学生信息
public Student queryStudentById(int id) {
// TODO: 实现根据ID查询学生信息的方法
return null;
}
}
```
4. 创建Servlet类
创建一个名为“StudentServlet”的Servlet类,用于处理用户请求和响应。在该类中,我们需要在doGet()和doPost()方法中获取用户请求参数,然后调用DAO类中的相应方法来执行操作,并将结果返回给用户。
```java
public class StudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private StudentDAO studentDAO;
@Override
public void init() throws ServletException {
super.init();
// 初始化DAO类
studentDAO = new StudentDAO();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO: 处理用户GET请求
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO: 处理用户POST请求
}
}
```
5. 创建JSP页面
在Web应用程序的根目录下创建一个名为“index.jsp”的JSP页面,用于显示学生信息和提供添加、删除、更新和查询学生信息的界面。在该页面中,我们需要使用JSTL和EL来显示学生信息和处理用户请求。
```jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生信息管理系统</title>
</head>
<body>
<h1>学生信息管理系统</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>年级</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${students}" var="student">
<tr>
<td>${student.id}</td>
<td>${student.name}</td>
<td>${student.gender}</td>
<td>${student.age}</td>
<td>${student.grade}</td>
<td>
<a href="edit.jsp?id=${student.id}">编辑</a>
<a href="delete.jsp?id=${student.id}">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<form action="add.do" method="POST">
<fieldset>
<legend>添加学生信息</legend>
<label>姓名:<input type="text" name="name"></label><br>
<label>性别:
<select name="gender">
<option value="男">男</option>
<option value="女">女</option>
</select>
</label><br>
<label>年龄:<input type="text" name="age"></label><br>
<label>年级:<input type="text" name="grade"></label><br>
<input type="submit" value="添加">
</fieldset>
</form>
<form action="query.do" method="POST">
<fieldset>
<legend>查询学生信息</legend>
<label>ID:<input type="text" name="id"></label><br>
<input type="submit" value="查询">
</fieldset>
</form>
</body>
</html>
```
6. 创建编辑和删除JSP页面
在Web应用程序的根目录下创建一个名为“edit.jsp”的JSP页面,用于编辑学生信息。在该页面中,我们需要使用JSTL和EL来显示学生信息,并将表单数据提交到“update.do”Servlet中处理。
```jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>编辑学生信息</title>
</head>
<body>
<h1>编辑学生信息</h1>
<form action="update.do" method="POST">
<fieldset>
<legend>学生信息</legend>
<input type="hidden" name="id" value="${student.id}">
<label>姓名:<input type="text" name="name" value="${student.name}"></label><br>
<label>性别:
<select name="gender">
<option value="男" ${student.gender == '男' ? 'selected' : ''}>男</option>
<option value="女" ${student.gender == '女' ? 'selected' : ''}>女</option>
</select>
</label><br>
<label>年龄:<input type="text" name="age" value="${student.age}"></label><br>
<label>年级:<input type="text" name="grade" value="${student.grade}"></label><br>
<input type="submit" value="保存">
</fieldset>
</form>
</body>
</html>
```
在Web应用程序的根目录下创建一个名为“delete.jsp”的JSP页面,用于删除学生信息。在该页面中,我们需要使用JSTL和EL来显示学生信息,并将表单数据提交到“delete.do”Servlet中处理。
```jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>删除学生信息</title>
</head>
<body>
<h1>删除学生信息</h1>
<form action="delete.do" method="POST">
<fieldset>
<legend>学生信息</legend>
<input type="hidden" name="id" value="${student.id}">
<label>姓名:${student.name}</label><br>
<label>性别:${student.gender}</label><br>
<label>年龄:${student.age}</label><br>
<label>年级:${student.grade}</label><br>
<input type="submit" value="删除">
</fieldset>
</form>
</body>
</html>
```
7. 实现Servlet类中的方法
在“StudentServlet”类中,实现doGet()和doPost()方法,以处理用户请求和响应。在doGet()方法中,我们需要查询所有学生信息并将其存储在“students”属性中,然后将其转发到“index.jsp”页面。在doPost()方法中,我们需要根据用户请求参数的不同,调用DAO类中的相应方法来执行操作,并将结果返回给用户。
```java
public class StudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private StudentDAO studentDAO;
@Override
public void init() throws ServletException {
super.init();
// 初始化DAO类
studentDAO = new StudentDAO();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 查询所有学生信息并将其存储在“students”属性中
List<Student> students = studentDAO.queryAllStudents();
request.setAttribute("students", students);
// 转发到“index.jsp”页面
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 根据用户请求参数的不同,调用DAO类中的相应方法来执行操作,并将结果返回给用户
String action = request.getServletPath();
switch(action) {
case "/add.do":
addStudent(request, response);
break;
case "/delete.do":
deleteStudent(request, response);
break;
case "/update.do":
updateStudent(request, response);
break;
case "/query.do":
queryStudentById(request, response);
break;
default:
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}
}
// 添加学生信息
private void addStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户提交的表单数据
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
int grade = Integer.parseInt(request.getParameter("grade"));
// 创建学生对象并添加到数据库
Student student = new Student();
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setGrade(grade);
studentDAO.addStudent(student);
// 重定向到“index.jsp”页面
response.sendRedirect(request.getContextPath() + "/");
}
// 删除学生信息
private void deleteStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户提交的表单数据
int id = Integer.parseInt(request.getParameter("id"));
// 根据ID删除学生信息
studentDAO.deleteStudent(id);
// 重定向到“index.jsp”页面
response.sendRedirect(request.getContextPath() + "/");
}
// 更新学生信息
private void updateStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户提交的表单数据
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
int grade = Integer.parseInt(request.getParameter("grade"));
// 创建学生对象并更新到数据库
Student student = new Student();
student.setId(id);
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setGrade(grade);
studentDAO.updateStudent(student);
// 重定向到“index.jsp”页面
response.sendRedirect(request.getContextPath() + "/");
}
// 根据ID查询学生信息
private void queryStudentById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户提交的表单数据
int id = Integer.parseInt(request.getParameter("id"));
// 根据ID查询学生信息并将其存储在“student”属性中
Student student = studentDAO.queryStudentById(id);
request.setAttribute("student", student);
// 转发到“delete.jsp”页面
request.getRequestDispatcher("/delete.jsp").forward(request, response);
}
}
```
以上就是一个简单的Javaweb学生信息管理系统的代码框架。请注意,该框架仅提供了基本的结构和思路,具体实现还需要根据实际情况进行修改和完善。
阅读全文