首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jsp学生信息管理系统代码

JSP(Java Server Pages)是一种基于Java技术的服务器端编程技术,用于创建动态网页。下面是一个简单的JSP学生信息管理系统的代码示例,包括学生的增删改查功能。

1. 数据库设计

假设我们有一个简单的学生表 students,包含以下字段:

  • id (主键)
  • name
  • age
  • gender
  • class

2. JSP页面

2.1 学生列表页面 (listStudents.jsp)

代码语言:txt
复制
<%@ page import="java.util.List" %>
<%@ page import="com.example.Student" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>学生信息管理系统</title>
</head>
<body>
<h1>学生列表</h1>
<a href="addStudent.jsp">添加学生</a>
<table border="1">
    <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
        <th>班级</th>
        <th>操作</th>
    </tr>
    <% List<Student> students = (List<Student>) request.getAttribute("students");
       if (students != null) {
           for (Student student : students) { %>
    <tr>
        <td><%= student.getId() %></td>
        <td><%= student.getName() %></td>
        <td><%= student.getAge() %></td>
        <td><%= student.getGender() %></td>
        <td><%= student.getClassName() %></td>
        <td>
            <a href="editStudent.jsp?id=<%= student.getId() %>">编辑</a>
            <a href="deleteStudent?id=<%= student.getId() %>">删除</a>
        </td>
    </tr>
    <% }
       } %>
</table>
</body>
</html>

2.2 添加学生页面 (addStudent.jsp)

代码语言:txt
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加学生</title>
</head>
<body>
<h1>添加学生</h1>
<form action="addStudent" method="post">
    姓名: <input type="text" name="name"><br>
    年龄: <input type="text" name="age"><br>
    性别: <input type="text" name="gender"><br>
    班级: <input type="text" name="className"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

2.3 编辑学生页面 (editStudent.jsp)

代码语言:txt
复制
<%@ page import="com.example.Student" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>编辑学生</title>
</head>
<body>
<h1>编辑学生</h1>
<%
    int id = Integer.parseInt(request.getParameter("id"));
    Student student = (Student) request.getAttribute("student");
%>
<form action="editStudent" method="post">
    <input type="hidden" name="id" value="<%= student.getId() %>">
    姓名: <input type="text" name="name" value="<%= student.getName() %>"><br>
    年龄: <input type="text" name="age" value="<%= student.getAge() %>"><br>
    性别: <input type="text" name="gender" value="<%= student.getGender() %>"><br>
    班级: <input type="text" name="className" value="<%= student.getClassName() %>"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

3. Servlet处理

3.1 列出所有学生 (ListStudentsServlet.java)

代码语言:txt
复制
package com.example;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet("/listStudents")
public class ListStudentsServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        StudentDAO studentDAO = new StudentDAO();
        List<Student> students = studentDAO.getAllStudents();
        request.setAttribute("students", students);
        request.getRequestDispatcher("listStudents.jsp").forward(request, response);
    }
}

3.2 添加学生 (AddStudentServlet.java)

代码语言:txt
复制
package com.example;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/addStudent")
public class AddStudentServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        int age = Integer.parseInt(request.getParameter("age"));
        String gender = request.getParameter("gender");
        String className = request.getParameter("className");

        Student student = new Student(name, age, gender, className);
        StudentDAO studentDAO = new StudentDAO();
        studentDAO.addStudent(student);

        response.sendRedirect("listStudents");
    }
}

3.3 编辑学生 (EditStudentServlet.java)

代码语言:txt
复制
package com.example;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/editStudent")
public class EditStudentServlet extends HttpServlet {
    protected void doPost(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 gender = request.getParameter("gender");
        String className = request.getParameter("className");

        Student student = new Student(id, name, age, gender, className);
        StudentDAO studentDAO = new StudentDAO();
        studentDAO.updateStudent(student);

        response.sendRedirect("listStudents");
    }
}

3.4 删除学生 (DeleteStudentServlet.java)

代码语言:txt
复制
package com.example;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/deleteStudent")
public class DeleteStudentServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        int id = Integer.parseInt(request.getParameter("id"));
        StudentDAO studentDAO = new StudentDAO();
        studentDAO.deleteStudent(id);

        response.sendRedirect("listStudents");
    }
}

4. DAO层

4.1 学生数据访问对象 (StudentDAO.java)

代码语言:txt
复制
package com.example;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class StudentDAO {
    private Connection getConnection() throws SQLException {
        // 这里应该使用连接池获取数据库连接
        return DriverManager.getConnection("jdbc:mysql://localhost:3306/studentdb", "root", "password");
    }

    public List<Student> getAllStudents() {
        List<Student> students = new ArrayList<>();
        try (Connection conn = getConnection();
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM students")) {
            while (rs.next()) {
                students.add(new Student(rs.getInt("id"), rs.getString("name"), rs.getInt("age"),
                        rs.getString("gender"), rs.getString("class")));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return students;
    }

    public void addStudent(Student student) {
        try (Connection conn = getConnection();
             PreparedStatement pstmt = conn.prepareStatement("INSERT INTO students(name, age, gender, class) VALUES (?, ?, ?, ?)")) {
            pstmt.setString(1, student.getName());
            pstmt.setInt(2, student.getAge());
            pstmt.setString(3, student.getGender());
            pstmt.setString(4, student.getClassName());
            pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void updateStudent(Student student) {
        try (Connection conn = getConnection();
             PreparedStatement pstmt = conn.prepareStatement("UPDATE students SET name=?, age=?, gender=?, class=? WHERE id=?")) {
            pstmt.setString(1, student.getName());
            pstmt.setInt(2, student.getAge());
            pstmt.setString(3, student.getGender());
            pstmt.setString(4, student.getClassName());
            pstmt.setInt(5, student.getId());
            pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void deleteStudent(int id) {
        try (Connection conn = getConnection();
             PreparedStatement pstmt = conn.prepareStatement("DELETE FROM students WHERE id=?")) {
            pstmt.setInt(1, id);
            pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

5. 学生实体类 (Student.java)

代码语言:txt
复制
package com.example;

public class Student {
    private int id;
    private String name;
    private int age;
    private String gender;
    private String className;

    // 构造函数、getter和setter方法
    public Student() {
    }

    public Student(int id, String name, int age, String gender, String className) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.className = className;
    }

    // 省略getter和setter方法
}

6. 部署和运行

确保你的服务器(如Tomcat)已经配置好,并且数据库连接信息正确。将上述代码部署到服务器上,访问 listStudents.jsp 页面即可看到学生信息管理系统的基本功能。

注意事项

  • 数据库连接信息需要根据实际情况进行修改。
  • 生产环境中应使用连接池管理数据库连接。
  • 需要处理SQL注入等安全问题。

这个示例展示了如何使用JSP和Servlet构建一个简单的学生信息管理系统。你可以根据需求进一步扩展和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

jsp+学生信息管理系统

1.项目名称 学生信息管理系统 2.项目开发者 成员:白胡杨同学 博客地址:白胡杨同学 项目演示:项目演示 项目源码:github 仅供学习使用 3.项目开发环境 myeclipse+tomcat...+navicat 4.系统功能简介 整个系统分为两大模块: 4.1、管理员 4.1.1、对整个系统的账号进行管理以及对学生信息的管理。...5.项目开发技术 jsp+javascript+bootstrap+mysql+servlet 6.设计思路 通过相关技术,一一实现对管理员、学生的账号和信息进行实用的操作 7.主要模块讲解 7.1登陆注册模块...首次进入该系统,用户需要根据身份注册账号,并填写个人信息。...可以输入学生学号查询指定的学生信息 可以修改学生信息和删除学生信息 使用分页技术给管理员提供更好的操作性能7.2.3 增加学生用户 注册学生账号,填写学生个人信息。

7.3K20
  • python写学生信息管理系统代码_学生管理系统源码

    一、前言 相信很多小伙伴在学校期间都会被要求实现一个学生管理系统,很多是让用C语言实现,有的是要求Python。 这里通过python实现了一个学生管理系统,考试/交作业必备!...网上很多的学生管理系统版本是用列表来存储学生的,实际上这样并不是最好的实现方案。 既然学生的学号是唯一的,那我们可以直接使用字典来做,这样在查询学生是否存在的速度上会更快一些。而且更方便排序等。...学生 ---- 文章目录 一、前言 二、实现效果 三、代码特点 四、总结 ---- 二、实现效果 包含的功能(学号为唯一标识): 添加学生 修改学生信息 删除学生信息...学生 ---- 三、代码特点 ---- 上图菜单页的功能映射传递的实现方案往往更多的是下面这样: key = int(input("请选择功能(序号):...+space) ---- 这样哪怕增加的方法越来越多,也不会增加更多的代码。

    1.8K20

    PythonGUItkinter学生信息管理系统源码

    requirements.txt中的第三方库 二、部署步骤 安装Python3.8 安装Pycharm 根据requirements.txt在Preferences中Project InterPreter安装第三方库 根据系统修改...ManageSystem/src/ui/Login.py第208行 运行==ManagerSystem/src/ui/main.py== 三、目录结构描述 ├── src // 代码包 │ ├── lib...Excel表格 │ ├── ui // 存放页面代码的包 │ │ ├── init.py // 控制包的导入行为 │ │ ├── HomeRoot.py // Root用户首页 │ │ ├── HomeStu.py...// Stu用户首页 │ │ ├── Login.py // 登录页面 │ │ ├── main.py // 主函数运行 │ │ ├── ModifyRoot.py // Root用户添加学生信息 │...五、版本内容介绍 V1.0.0 支持功能: 登录页支持验证码验证,支持输入完回车确定登录 支持根据不同的Stu用户查看相应用户的信息 Stu用户可以查看自己的基本信息和成绩 Root用户可以查看所有学生信息和添加学生成绩

    2K10

    学生信息管理系统验收总结

    https://blog.csdn.net/huyuyang6688/article/details/9831407        学生信息管理系统(VB版)开工已有半个多月,如今已经验收完毕。...后来反思了很久,自己的确在这方面吃了大亏,刚做系统的时候没有计划,闷头瞎做,期间不知碰破了多少次头,费的功夫和力气倒不少。       ...真正验收时,错误百出: 比较低级的错误:        (1)、粗心导致代码中一些字符的错误,比如中英文字符混淆、某个不起眼符号的遗漏等语句错误,甚至还有一些语句遗漏、颠倒等语法错误。...因为整个系统中几乎所有的窗体都调用了viewData()函数(显示数据库中的数据),而数据库为空时报错就是因为在写这个函数时不够严谨,因此应该在这个函数中添加一个判断数据库为空时的处理机制。       ...(4)、没有设置MDI子窗体,使整个系统的结构非常杂乱。

    1.6K30

    【程序源代码】毕业论文-学生信息管理系统

    “ 关键字:  “毕业论文、学生信息管理、springboot" 01 ———— 【总体介绍】 介绍    学生信息管理系统,后台是用java语言开发。...06 ———— 【公众号介绍】 程序源代码每天分享不同快乐有趣的实用软件和网赚教程,源码技术,各种资料等,如果这边的资源大家觉得很实用的话,请给文章底部点个赞和再看,这也是对程序源代码的一种支持,如果想进群和朋友们一起讨论学习资源的话...,请扫下方的二维码,加程序源代码好友,备注进群,感谢各位支持。...文章发布源代码和文章均来源于各类开源网站社区或者是小编在项目中、学习中整理的一些实例项目。主要目的是将开源代码分享给喜欢编程、有梦想的程序员,希望能帮助到你们与他们共同成长。

    42420

    学生信息管理系统(静态版)

    系统的主界面 系统的操作指令 结构体的创建 1、学生信息的输入2、学生信息的添加3、学生信息的删除 4、学生信息的查找 5、学生信息的修改6、显示学生的信息7、学生成绩的排序 0、退出系统 结构体学生的信息和信息系统结构体...case 7://7、学生成绩的排序 SortSy(&con); break; case 0: printf("退出学生信息管理系统\n"); break; default...,并打印(代码中有快排和冒泡都行) //7、学生成绩的排序,并打印 void SortSy(Sy* pc) { printf(" \n");..., pc->data[i].num, pc->data[i].score[0], pc->data[i].score[1], pc->data[i].score[2], k); } } } 综合代码...case 7://7、学生成绩的排序 SortSy(&con); break; case 0: printf("退出学生信息管理系统\n"); break; default

    12010

    python的学生信息管理系统_学员信息管理系统设计

    系统需求 使用面向对象编程思想完成学员管理系统的开发,具体如下: 系统要求:学员数据存储在文件中 系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能...程序文件如下: 程序入口文件:main.py 学员文件:student.py 管理系统⽂文件:managerSystem.py main.py #1....启动学员管理系统 if __name__ == '__main__': student_manager = StudentManager() student_manager.run()...显示所有学员信息 self.show_student() elif menu_num == 6: # 保存学员信息 self.save_student() elif menu_num == 7: # 退出系统...print('2:删除学员') print('3:修改学员信息') print('4:查询学员信息') print('5:显示所有学员信息') print('6:保存学员信息') print('7:退出系统

    1.3K30

    【实战】javaweb学生信息管理系统

    javaweb学生信息管理系统 总的来说整个项目通过Maven来管理jar包,实现了学生信息管理系统的登录,增删改查等基本操作,然后不喜写css样式,页面有点丑,但是代码中的逻辑基本正确。....student表 三、登录界面(动态生成验证码、提示账号or密码or验证码输入有误) 四、登录的主界面 五、查询界面(查询数据库表中的数据,并且右上角有登录的账号) 六、增加界面 七、修改学生界面...(会填入修改学生的信息) 八、删除界面 九、退出登录(会返回登录界面) 十、过滤器(如果没有登录,直接访问后台界面会被重定向到登录界面) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    1.2K30
    领券