《Web信息管理系统的实现》任务要求说明
1、任务要点
(1)实现学生(必要)的信息管理
(2)实现对管理对象的增加、删除、修改、查询功能
(4)代码结构合理,遵循MVC模式
(5)基于B/S模式开发
不能使用springboot,接受小偿,可以私
怎么使用tomcat,idea,mysql实现学生信息管理系统,只要求实现简单的增删改查就行
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
阿里嘎多学长 2025-06-19 09:23关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
解答
实现学生信息管理系统,可以使用Tomcat、Idea和MySQL。下面是一个简单的实现步骤:
- 创建数据库:使用MySQL创建一个名为
student的数据库,创建一个名为student_info的表,表结构如下:
CREATE TABLE student_info ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT, sex VARCHAR(10) );- 创建Tomcat项目:在Idea中创建一个新的Tomcat项目,添加以下依赖项:
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> </dependencies>- 创建MVC结构:创建一个名为
StudentController的控制器,负责处理用户请求。创建一个名为StudentService的服务类,负责业务逻辑。创建一个名为StudentDAO的数据访问对象,负责与数据库交互。
// StudentController.java public class StudentController { private StudentService studentService; public StudentController(StudentService studentService) { this.studentService = studentService; } @GetMapping("/students") public String listStudents(Model model) { List<Student> students = studentService.getStudents(); model.addAttribute("students", students); return "students"; } @GetMapping("/students/{id}") public String getStudent(@PathVariable int id, Model model) { Student student = studentService.getStudent(id); model.addAttribute("student", student); return "student"; } @PostMapping("/students") public String addStudent(@RequestParam String name, @RequestParam int age, @RequestParam String sex) { studentService.addStudent(name, age, sex); return "redirect:/students"; } @PostMapping("/students/{id}") public String updateStudent(@PathVariable int id, @RequestParam String name, @RequestParam int age, @RequestParam String sex) { studentService.updateStudent(id, name, age, sex); return "redirect:/students"; } @GetMapping("/students/{id}/delete") public String deleteStudent(@PathVariable int id) { studentService.deleteStudent(id); return "redirect:/students"; } } // StudentService.java public class StudentService { private StudentDAO studentDAO; public StudentService(StudentDAO studentDAO) { this.studentDAO = studentDAO; } public List<Student> getStudents() { return studentDAO.getStudents(); } public Student getStudent(int id) { return studentDAO.getStudent(id); } public void addStudent(String name, int age, String sex) { studentDAO.addStudent(name, age, sex); } public void updateStudent(int id, String name, int age, String sex) { studentDAO.updateStudent(id, name, age, sex); } public void deleteStudent(int id) { studentDAO.deleteStudent(id); } } // StudentDAO.java public class StudentDAO { private Connection conn; public StudentDAO(Connection conn) { this.conn = conn; } public List<Student> getStudents() { List<Student> students = new ArrayList<>(); try (Statement stmt = conn.createStatement()) { ResultSet rs = stmt.executeQuery("SELECT * FROM student_info"); while (rs.next()) { Student student = new Student(); student.setId(rs.getInt("id")); student.setName(rs.getString("name")); student.setAge(rs.getInt("age")); student.setSex(rs.getString("sex")); students.add(student); } } catch (SQLException e) { throw new RuntimeException(e); } return students; } public Student getStudent(int id) { Student student = null; try (Statement stmt = conn.createStatement()) { ResultSet rs = stmt.executeQuery("SELECT * FROM student_info WHERE id = " + id); if (rs.next()) { student = new Student(); student.setId(rs.getInt("id")); student.setName(rs.getString("name")); student.setAge(rs.getInt("age")); student.setSex(rs.getString("sex")); } } catch (SQLException e) { throw new RuntimeException(e); } return student; } public void addStudent(String name, int age, String sex) { try (PreparedStatement pstmt = conn.prepareStatement("INSERT INTO student_info (name, age, sex) VALUES (?, ?, ?)")) { pstmt.setString(1, name); pstmt.setInt(2, age); pstmt.setString(3, sex); pstmt.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } } public void updateStudent(int id, String name, int age, String sex) { try (PreparedStatement pstmt = conn.prepareStatement("UPDATE student_info SET name = ?, age = ?, sex = ? WHERE id = " + id)) { pstmt.setString(1, name); pstmt.setInt(2, age); pstmt.setString(3, sex); pstmt.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } } public void deleteStudent(int id) { try (PreparedStatement pstmt = conn.prepareStatement("DELETE FROM student_info WHERE id = " + id)) { pstmt.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } } }- 创建视图:创建一个名为
students.jsp的JSP文件,用于显示学生列表。创建一个名为student.jsp的JSP文件,用于显示单个学生信息。
<!-- students.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>学生信息列表</title> </head> <body> <h1>学生信息列表</h1> <table border="1"> <tr> <th>名称</th> <th>年龄</th> <th>性别</th> <th>操作</th> </tr> <c:forEach items="${students}" var="student"> <tr> <td>${student.name}</td> <td>${student.age}</td> <td>${student.sex}</td> <td> <a href="students/${student.id}/delete">删除</a> <a href="students/${student.id}/update">更新</a> </td> </tr> </c:forEach> </table> </body> </html> <!-- student.jsp --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>学生信息</title> </head> <body> <h1>学生信息</h1> <form action="students/${student.id}/update" method="post"> <label>名称:</label> <input type="text" name="name" value="${student.name}"><br> <label>年龄:</label> <input type="number" name="age" value="${student.age}"><br> <label>性别:</label> <input type="text" name="sex" value="${student.sex}"><br> <input type="submit" value="更新"> </form> </body> </html>- 运行项目:在Idea中运行Tomcat项目,访问
http://localhost:8080/students查看学生列表。
这个示例只是一个简单的实现,实际项目中可能需要添加更多的功能和错误处理。
解决 无用评论 打赏 举报- 创建数据库:使用MySQL创建一个名为