2501_92507886 2025-06-19 09:23 采纳率: 0%
浏览 20

怎么使用tomcat,idea,mysql实现学生信息管理系统,只要求实现简单的增删改查就行

《Web信息管理系统的实现》任务要求说明
1、任务要点
(1)实现学生(必要)的信息管理
(2)实现对管理对象的增加、删除、修改、查询功能
(4)代码结构合理,遵循MVC模式
(5)基于B/S模式开发
不能使用springboot,接受小偿,可以私

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-06-19 09:23
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解答

    实现学生信息管理系统,可以使用Tomcat、Idea和MySQL。下面是一个简单的实现步骤:

    1. 创建数据库:使用MySQL创建一个名为student的数据库,创建一个名为student_info的表,表结构如下:
    CREATE TABLE student_info (
      id INT PRIMARY KEY AUTO_INCREMENT,
      name VARCHAR(50),
      age INT,
      sex VARCHAR(10)
    );
    
    1. 创建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>
    
    1. 创建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);
            }
        }
    }
    
    1. 创建视图:创建一个名为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>
    
    1. 运行项目:在Idea中运行Tomcat项目,访问http://localhost:8080/students查看学生列表。

    这个示例只是一个简单的实现,实际项目中可能需要添加更多的功能和错误处理。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月19日