2501_92507886 2025-06-18 21:03 采纳率: 0%
浏览 43

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

jdk版本11,idea版本2023.2,tomcat版本9.x

  • 写回答

8条回答 默认 最新

  • 阿里嘎多学长 2025-06-18 21:03
    关注

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

    使用 Tomcat、Idea 和 MySQL 实现学生信息管理系统

    1. 创建 MySQL 数据库

    首先,创建一个名为 student 的数据库,并创建一个名为 student_info 的表:

    CREATE DATABASE student;
    USE student;
    
    CREATE TABLE student_info (
      id INT PRIMARY KEY AUTO_INCREMENT,
      name VARCHAR(50),
      age INT,
      sex VARCHAR(10)
    );
    

    2. 创建 Tomcat 项目

    在 Idea 中,创建一个新的 Maven 项目,选择 Tomcat 9.x 作为服务器:

    • 项目名称:Student Management System
    • 项目结构:Web
    • 服务器:Tomcat 9.x
    • 项目依赖:mysql-connector-java

    3. 创建 Java 代码

    src/main/java 目录下创建一个名为 StudentInfoManager 的类,用于管理学生信息:

    package com.example.studentmanagement;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class StudentInfoManager {
        private static final String URL = "jdbc:mysql://localhost:3306/student";
        private static final String USERNAME = "root";
        private static final String PASSWORD = "password";
    
        public static void main(String[] args) {
            // 连接数据库
            Connection conn = null;
            try {
                conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
                // 创建 Statement 对象
                PreparedStatement stmt = conn.prepareStatement("SELECT * FROM student_info");
                // 执行查询
                ResultSet rs = stmt.executeQuery();
                while (rs.next()) {
                    System.out.println("ID: " + rs.getInt("id") + ", Name: " + rs.getString("name") + ", Age: " + rs.getInt("age") + ", Sex: " + rs.getString("sex"));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

    4. 配置 Tomcat 服务器

    src/main/webapp/WEB-INF 目录下创建一个名为 web.xml 的文件,用于配置 Tomcat 服务器:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
        <servlet>
            <servlet-name>StudentInfoServlet</servlet-name>
            <servlet-class>com.example.studentmanagement.StudentInfoServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>StudentInfoServlet</servlet-name>
            <url-pattern>/studentinfo</url-pattern>
        </servlet-mapping>
    </web-app>
    

    5. 创建 Servlet

    src/main/java 目录下创建一个名为 StudentInfoServlet 的类,用于处理学生信息管理的请求:

    package com.example.studentmanagement;
    
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class StudentInfoServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            // 处理查询请求
            String action = request.getParameter("action");
            if ("query".equals(action)) {
                queryStudentInfo(request, response);
            } else if ("add".equals(action)) {
                addStudentInfo(request, response);
            } else if ("delete".equals(action)) {
                deleteStudentInfo(request, response);
            } else if ("update".equals(action)) {
                updateStudentInfo(request, response);
            }
        }
    
        private void queryStudentInfo(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            // 连接数据库
            Connection conn = null;
            try {
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "password");
                // 创建 Statement 对象
                PreparedStatement stmt = conn.prepareStatement("SELECT * FROM student_info");
                // 执行查询
                ResultSet rs = stmt.executeQuery();
                // 将查询结果转换为 JSON
                StringBuilder json = new StringBuilder();
                json.append("[");
                while (rs.next()) {
                    json.append("{\"id\":\"").append(rs.getInt("id")).append("\",\"name\":\"").append(rs.getString("name")).append("\",\"age\":\"").append(rs.getInt("age")).append("\",\"sex\":\"").append(rs.getString("sex")).append("\"},");
                }
                json.setCharAt(json.length() - 1, ']');
                response.getWriter().write(json.toString());
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        private void addStudentInfo(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            // 获取请求参数
            String name = request.getParameter("name");
            int age = Integer.parseInt(request.getParameter("age"));
            String sex = request.getParameter("sex");
            // 连接数据库
            Connection conn = null;
            try {
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "password");
                // 创建 Statement 对象
                PreparedStatement stmt = conn.prepareStatement("INSERT INTO student_info (name, age, sex) VALUES (?, ?, ?)");
                // 设置参数
                stmt.setString(1, name);
                stmt.setInt(2, age);
                stmt.setString(3, sex);
                // 执行插入
                stmt.executeUpdate();
                response.getWriter().write("添加成功!");
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        private void deleteStudentInfo(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            // 获取请求参数
            int id = Integer.parseInt(request.getParameter("id"));
            // 连接数据库
            Connection conn = null;
            try {
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "password");
                // 创建 Statement 对象
                PreparedStatement stmt = conn.prepareStatement("DELETE FROM student_info WHERE id = ?");
                // 设置参数
                stmt.setInt(1, id);
                // 执行删除
                stmt.executeUpdate();
                response.getWriter().write("删除成功!");
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        private void updateStudentInfo(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            // 获取请求参数
            int id = Integer.parseInt(request.getParameter("id"));
            String name = request.getParameter("name");
            int age = Integer.parseInt(request.getParameter("age"));
            String sex = request.getParameter("sex");
            // 连接数据库
            Connection conn = null;
            try {
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "password");
                // 创建 Statement 对象
                PreparedStatement stmt = conn.prepareStatement("UPDATE student_info SET name = ?, age = ?, sex = ? WHERE id = ?");
                // 设置参数
                stmt.setString(1, name);
                stmt.setInt(2, age);
                stmt.setString(3, sex);
                stmt.setInt(4, id);
                // 执行更新
                stmt.executeUpdate();
                response.getWriter().write("更新成功!");
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

    6. 部署 Tomcat 服务器

    将项目部署到 Tomcat 服务器中,启动服务器,并访问 http://localhost:8080/studentinfo 来测试学生信息管理系统。

    注意:以上代码只是一个简单的示例,实际项目中可能需要添加更多的功能和错误处理。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月18日