# jsp-xsgl_xt **Repository Path**: yk-ddm/jsp-xsgl_xt ## Basic Information - **Project Name**: jsp-xsgl_xt - **Description**: jsp+servlet+jdbc+dao+ajax实现学生管理系统 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 17 - **Forks**: 2 - **Created**: 2020-12-14 - **Last Updated**: 2025-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 学生信息管理系统(使用idea开发的学生信息管理系统) 开发人员:yk-ddm(单独完成) 完成时间:2020-12-01 所用时间:一周 一、系统简介 本学生信息管理系统,是采用JSP+JDBC+JavaBean+Servlet+EL+Ajax+DAO+Service模式开发的Web应用系统。 1.系统功能 1)用户管理 用户管理功能包括用户的查询、增加、修改与删除。每一个用户的信息包括用户类型、用户名与密码。其中,用户的用户名是唯一的。 2)学生管理 学生管理功能包括学生的查询、增加、修改与删除。每一个学生的信息包括学生的学号、姓名、性别、出生日期、专业、班级、家庭住址、联系电话与备注。其中,学生的学号是唯一的。 3)班级管理 班级管理功能包括班级的查询、增加、修改与删除。每一个班级的信息包括班级的班级名称、所属专业、班级人数、入学年份与辅导员。其中,班级的名称是唯一的。 4)课程管理 课程管理功能包括课程的查询、增加、修改与删除。每一门课程的信息包括课程号、课程名、学时与学分。其中,课程的课程号是唯一的。 5)课程表管理 课程表管理功能包括课程表的查询、增加、修改与删除。每一张课程表的信息包括授课ID、课程号、班级号、授课教师、授课时间与授课地点。其中,课程表的授课ID是唯一的。 6)成绩管理 成绩管理功能包括成绩的查询、增加、修改与删除。每一份成绩的信息包括学号、课程号与成绩。其中,学号和课程号是唯一的。 2.系统用户 本系统的用户分为两种类型,即管理员与学生。各个用户需要先进行登录操作方可使用有关的功能,还可以使用退出功能退出系统。各个用户登录成功后可以进行自己的密码修改操作,以提高安全性。 用户存在一定的操作权限。在本系统中,管理员可以执行系统的所有功能,而学生只能进行自己的信息查询、安全退出和自己的密码修改操作。 本系统规定,默认的管理员的用户名为“admin”,其初始密码为“12345”。管理员登录系统后就可以进行用户管理功能,添加管理员与学生操作。 二、开发方案 本系统的开发遵循Java Web 应用系统的分层模型与面向接口编程的基本思想,并采用由表示层、业务层与持久层构成的典型开发模式,使用分层模型构建系统,使系统的架构更加清晰、合理,运行更加稳定、可靠,后期维护更加方便、快捷。 1.表示层 也就是Web层,前端界面,使用业务层所提供的一系列服务来满足用户的各种需求。 2.业务层 也称为业务逻辑层,有多个相互独立的Service构成,可以调用DAO层的方法,完成特定的功能。 3.持久层 也称为数据持久层,由数据库表对应的实体类、DAO接口以及它的实现类构成,为业务层Service提供了简洁、统一和面向对象的数据访问接口。 三、数据库结构 本学生信息管理系统所使用的数据库为在MySQL中创建的学生信息管理数据库xs_information_glxt,其中有6个表,即用户表users、学生表student、成绩表grade、课程表coursetable、课程信息表course与班级表class。 四、项目总体架构 学生信息管理系统: 1)Web项目名xs_xx_gl 2)添加数据库驱动JDBC,把它放到WebRoot\WEB-INF\lib文件夹中。 3)WebRoot文件夹中的images文件夹用于存放项目所需的有关图片 4)WebRoot文件夹中的admin文件夹用于存放项目的管理员访问的页面 5)WebRoot文件夹中的ordin文件夹用于存放项目的学生访问的页面 6)项目的src文件夹中的yk.xsgl.jdbc包用于存放封装了访问数据库有关操作的JavaBean 7)项目的src文件夹中的yk.xsgl.vo用于存放与数据库表相对应的实体类(数据库表对应的JavaBean) 8)项目的src文件夹中的yk.xsgl.servlet用于存放有关的Servlet控制器 9)项目的src文件夹中的yk.xsgl.dao用于存放有关的DAO接口。DAO接口中的方法由接口的实现类来具体实现,并用于与数据库进行交互。 10)项目的src文件夹中的yk.xsgl.dao.impl用于存放DAO接口的实现类。 11)项目的src文件夹中的yk.xsgl.service用于存放有关的业务逻辑接口。业务逻辑接口中的方法由接口的实现类来具体实现,并用于处理用户的请求。 12)项目的src文件夹中的yk.xsgl.service.impl用于存放业务逻辑接口的实现类。 13)项目的src文件夹中的yk.xsgl.factory用于存放DAO组件与Service组件的工厂类。 14)项目的src文件夹中的yk.xsgl.tool用于存放公用的工具类,如图片上传组件等等。 以上就是系统的总体架构。 五、持久层及其实现 持久层的开发主要包括实体类的创建、DAO组件及其工厂类的设计与实现。其中,DAO组件用于实现与数据库的交互,即进行相应的CRUD(增加、查询、修改、删除)操作,从而完成对底层数据库的持久化访问。 1.6个实体类的创建 2.6个DAO组件的创建:DAO接口及其实现类 3.DAO组件工厂的实现:DAOFactory类 六、业务层及其实现 Service组件及其工厂类,即逻辑接口的实现,主要是为Servlet提供相应的服务,它依赖DAO组件,是对DAO的封装。6个Service组件及其实现;Service组件工厂ServiceFactory及其实现,用于创建各Service实现类的实例 七、表示层及其实现 Java Web应用系统的最上层,实现系统的各项具体功能,包括页面的设计,servlet控制器编写,合理实现面向特定应用的各项系统功能即可。 1.素材文件的准备:图片文件、样式文件、js文件 2.登录功能的实现 用户选择用户类别后,输入用户名,系统就会向数据库mysql发送异步请求,检查数据库`xs_information_glxt`中users表中是否存在该用户,如果不存在,提示用户“该用户还未注册呢!” 3.6个Servlet控制器类的创建;系统的主页面homePage.jsp 的实现;学生和管理员的个人信息更新页面的实现;用户管理页面、学生信息页面、班级信息页面、课程信息页面、课程表信息页面与成绩信息页面的jsp页面实现。 4.学生管理系统实现效果图: 1)用户类型或密码错误提示(ajax的应用) 2)当用户没有进行输入就提示不能为空! 3)登录成功,跳转到主页面(js实现) 4)系统主页面:各项功能(个人信息、用户管理、学生管理、班级管理、课程管理、课程表管理、成绩管理、当前时间展示、头像展示、退出系统)