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来测试学生信息管理系统。注意:以上代码只是一个简单的示例,实际项目中可能需要添加更多的功能和错误处理。
解决 无用评论 打赏 举报