java开发 学生管理系统(源代码在评论区)

1、引言

        学生管理系统Java Web开发旨在提升学校管理效率,优化教学,满足现代教育需求,增强学校竞争力。同时,为开发者提供编程与系统设计实践机会,改善校内运作,服务教育社会,促进教育事业适应科技与管理新趋势。

2、技术基础

        本系统采用先进的集成开发环境(IDE)IntelliJ IDEA 2023.3.4进行开发;采用MySQL 8.0.34作为数据库管理系统;采用Tomcat 8.5.99作为Web服务器;jdk为1.8.0。

2.1B/S(Browser/Server)架构

        B/S(Browser/Server)架构是一种新型网络结构模式,这种模式是基于浏览器和服务器的。它统一了客户端都使用浏览器模式,将系统功能实现的核心部分都集中到服务器上,因此简化了系统的开发、使用和维护。

2.2前端技术栈

        jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互的编程。在本学生管理系统中,jQuery 被用于简化 DOM 操作、实现动态效果以及发送 Ajax 请求与后端进行数据交互。

        Bootstrap 是一个包含 HTML、CSS 和 JavaScript 的开源框架,用于开发响应式网站和 Web 应用程序。在本系统中,Bootstrap 被用于快速构建美观且功能完善的用户界面,并提供一致的跨浏览器和跨设备的用户体验。

2.3后端技术栈

        JSP 是一种基于 Java 技术的服务器端编程技术,用于创建动态 Web 页面。JSP 允许开发人员在 HTML 页面中直接嵌入 Java 代码片段,这些代码片段在服务器端执行,并生成动态内容。在本系统中,JSP 用于构建用户界面和展示数据。

        Servlet 是 Java EE 规范的一部分,用于处理客户端发送的请求并生成响应。Servlet 运行在服务器端,是 Web 应用程序的控制器组件。在本系统中,Servlet 负责处理前端请求,与数据库交互,并控制业务逻辑的执行。

        Tomcat 是一个开源的 Web 应用服务器,基于 Java Servlet/JSP 规范开发。它提供了 Web 服务器所需的功能,包括 HTTP 服务器、Servlet 容器和 JSP 引擎。在本系统中,Tomcat 用于部署和运行 Web 应用程序。

        MySQL 是一个流行的开源关系型数据库管理系统。它使用结构化查询语言(SQL)进行数据管理。在本系统中,MySQL 用于存储学生管理系统的数据,如学生信息、课程信息、成绩等。

3、需求分析

        学生管理系统的用户分为学生、教师。

        学生:学生可以通过学号(用户名即为学号)密码(默认为0,可以修改)进行登录。学生登陆后可以在个人信息页面上传头像,修改密码。在成绩信息页面可以查询成绩,查看学号、姓名以及专业等相关信息。

        教师:教师可以通过邮箱注册账号(有验证码功能)并登录。教师登录成功后,可以在个人信息页面上传头像,修改姓名,性别邮箱密码等个人信息。在学生管理界面,查询学生信息,可以添加,修改,删除学生信息,可以查询修改学生成绩(可以下载学生的成绩信息通过Excel导出)。

4、系统设计

4.1功能模块设计

用户登录流程图

系统结构图

4.2数据库设计

创建学生表

CREATE TABLE student (

    id VARCHAR(50) PRIMARY KEY,

    name VARCHAR(50) NOT NULL,

    password VARCHAR(50) NOT NULL,

    sex VARCHAR(50),

    School_date VARCHAR(50),

    major VARCHAR(50),

    email VARCHAR(50)

);

创建教师表

CREATE TABLE teacher (
    id VARCHAR(50) PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL,
    sex VARCHAR(50),
    email VARCHAR(50)
);

创建成绩表

CREATE TABLE score (
    id VARCHAR(50) PRIMARY KEY,
    dat VARCHAR(50),
    android VARCHAR(50),
    jsp VARCHAR(50)
);

5、系统实现

登录模块

public class check_login extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.doGet(request, response);
    }

    protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");

        PrintWriter out = response.getWriter();
        HttpSession session = request.getSession();

        String user = request.getParameter("user");
        String password = request.getParameter("password");
        String remember = request.getParameter("remember");

        TeacherD teacherD = new TeacherD();
        StudentD studentD = new StudentD();
        AdminD adminD = new AdminD();
        Teacher teacher = null;
        Student student = null;
        Admin admin = null;

        try {
            // 判断用户身份
            teacher = teacherD.checkAccount(user, password);
            student = studentD.checkAccount(user, password);
            admin = adminD.checkAccount(user, password);
        }
        catch (Exception e) {
            out.print(e);
        }

        if (teacher != null) {
            //向session中添加用户信息
            session.setAttribute("info", teacher);

            //检查用户是否需要保持登录状态
            if (remember != null) {
                //发送cookie到客户端
                Cookie userCookie = new Cookie("name", user);
                userCookie.setMaxAge(10);
                response.addCookie(userCookie);
            }
            response.sendRedirect("one_page_student");

        }
        else if (student != null){
            //向session中添加用户信息
            session.setAttribute("info", student);

            //检查用户是否需要保持登录状态
            if (remember != null) {
                //发送cookie到客户端
                Cookie userCookie = new Cookie("name", user);
                userCookie.setMaxAge(10);
                response.addCookie(userCookie);
            }
            response.sendRedirect("student/main.jsp");
        }
        else if (admin != null) {
            //向session中添加用户信息
            session.setAttribute("info", admin);

            //检查用户是否需要保持登录状态
            if (remember != null) {
                //发送cookie到客户端
                Cookie userCookie = new Cookie("name", user);
                userCookie.setMaxAge(10);
                response.addCookie(userCookie);
            }
            response.sendRedirect("admin/main.jsp");
        }
        else {
            out.print("<script>alert(\"用户名或密码错误!\");");
        }
    }
}

注册模块

public class check_register extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");

        String email = request.getParameter("email");
        String user = request.getParameter("user");
        String password = request.getParameter("password1");
        String code = request.getParameter("code");
        PrintWriter out = response.getWriter();
        HttpSession session = request.getSession();

        String randStr = (String) session.getAttribute("randStr");

        if (!code.equals(randStr)) {
            out.print("<script>alert(\"验证码错误!\");location.href = \"register.jsp\";</script>");
        } else {

            TeacherD teacherD = new TeacherD();
            Teacher teacher = null;

            try {
                teacher = teacherD.insertTeacher(user, password, email);
            } catch (Exception e) {
                out.print(e);
            }
            if (teacher != null) {
                //向session中添加用户信息
                session.setAttribute("info", teacher);
                response.sendRedirect("one_page_student");
            } else {
                out.print("<script>alert(\"此用户已经注册!\");location.href = \"register.jsp\";</script>");
            }
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

增删改查模块

public class add_student extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");

        PrintWriter out = response.getWriter();

        StudentD studentD = new StudentD();
        ScoreD scoreD = new ScoreD();

        String id = request.getParameter("id");
        String name = request.getParameter("name");
        String sex = request.getParameter("sex");
        String major = request.getParameter("major");
        String school_date = request.getParameter("school_date");

        try {
            studentD.insertStudent(id, name, sex, school_date, major);
            scoreD.insertScore(id);
        }
        catch (Exception e){
            out.print(e);
        }
        response.sendRedirect("one_page_student");
    }
}

public class delete_student extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");

        PrintWriter out = response.getWriter();
        StudentD studentD = new StudentD();
        ScoreD scoreD = new ScoreD();

        String id = request.getParameter("id");
        try {
            studentD.deleteStudent(id);
            scoreD.deleteScore(id);
            response.sendRedirect("one_page_student");
        }
        catch (Exception e){
            out.print(e);
        }
    }
}

public class update_student extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");

        PrintWriter out = response.getWriter();
        StudentD studentD = new StudentD();

        String stuno = request.getParameter("stuno");
        String stuname = request.getParameter("stuname");
        String stusex = request.getParameter("stusex");
        String stumajor = request.getParameter("stumajor");

        try {
            studentD.updateStudentInfo(stuno, stuname, stusex, stumajor);
        }
        catch (Exception e){
            out.print(e);
        }
        response.sendRedirect("one_page_student");
    }
}

6、总结

        本系统是一个关于学生管理的系统,学生可以通过学号、密码(进行登录。学生登陆后可以在个人信息页面上传头像,修改密码。在成绩信息页面可以查询成绩,查看学号、姓名以及专业等相关信息。教师可以通过邮箱注册账号并登录。教师登录成功后,可以在个人信息页面上传头像,修改姓名,性别邮箱密码等个人信息。在学生管理界面,查询学生信息,可以添加,修改,删除学生信息,可以查询修改学生成绩(可以下载学生的成绩信息通过Excel导出)。

源代码:https://github.com/wameln/-.git

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值