基于java eclipse+jsp+mysql+servlet+Spring的学生信息管理系统基础版

🍅 作者主页:Java李杨勇 

🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌  简历模板、学习资料、面试题库、技术互助【关注我,都给你】

🍅 欢迎点赞 👍 收藏 ⭐留言 📝    文末获取源码联系方式

目录

项目背景

功能设计

角色设计

主要技术

具体功能实现

登录:

首页:

学生管理:

老师管理:

成绩管理:

个人中心:

部分代码实现:

登录前端:

登录后台servlet:

链接数据库:

部分表结构:

学生表:

成绩表:

班级表:

相关Java基础课设精彩推送

查看更多博主首页更多实战项目 >>>

项目背景

学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。

功能设计

主要功能:用户不同角色登录(老师、学生、管理员)

系统首页介绍

学生管理:添加学生、查看学生列表信息、查看学生资料

老师管理:添加老师、查看老师列表信息、查看老师资料

成绩管理:查看成绩信息、修改成绩

个人中心:修改个人资料、头像等、注销退出

角色设计

拥有管理员、老师、学生三种角色、每个角色对应不同菜单权限

主要技术

用的技术都是比较基础好学通俗易懂的Java jsp+mysql+servlet+jdbc+jquery+html+css等

具体功能实现

登录:

根据不同账号角色进行登录

首页:

首页主要是利用css等进行简单的布局、左侧是菜单栏、中间是系统介绍、右上角是个人中心和账户信息以及注销。

学生管理:

添加学生

学生列表:

管理员拥有编辑删除权限、老师拥有编辑权限。学生只能查看信息。

老师管理:

添加老师信息

查看老师列表信息:

成绩管理:

学生成绩信息查看

个人中心:

个人中心随意做了一个alert弹窗

部分代码实现:

登录前端:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>学生信息管理系统</title>
<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="js/login.js" type="text/javascript"></script>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body><center><div class="login"><div class="login_head"><h3>登录</h3></div><div class="login_window"><div><label>账号:</label> <br> <input type="text" name="ope_name"id="ope_name"></div><div><label>密码:</label> <br> <input type="password" name="ope_pwd"id="ope_pwd"></div><inputstyle="width:60px; float:right; margin-top:10px;margin-right:20px;"type="button" value="登录" onclick="login()"></div></div></center>
</body>
</html>

登录后台servlet:

package impl;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;import util.DB;
import dao.ILogin;
import entity.Operator;
import entity.Privilege;public class LoginImpl implements ILogin {private PrivilegeImpl1 privilegeImpl = new PrivilegeImpl1();private RoleImpl roleImpl = new RoleImpl();private List<Privilege> list_privilege;private PreparedStatement pst;private Operator log_operator;private HttpSession session;private String checkResult;private Connection conn;private ResultSet rs;// 登录验证public String login(HttpServletRequest request, Operator operator) {session = request.getSession();checkResult = "success";log_operator = new Operator();try {conn = DB.getConn();pst = conn.prepareStatement("SELECT * FROM operator WHERE ope_name = ?");pst.setString(1, operator.getName());rs = pst.executeQuery();if (!rs.next()) {checkResult = "账户不存在,请重新输入!";session.setAttribute("isLogin", "false");} else {if (!operator.getPwd().equals(rs.getString(3))) {checkResult = "您输入的密码不正确,请重新输入!";session.setAttribute("isLogin", "false");} else {// 登录成功session.setAttribute("isLogin", "true");// 获得该用户的完整信息log_operator.setId(rs.getInt(1));log_operator.setName(rs.getString(2));log_operator.setPwd(rs.getString(3));log_operator.setRole(roleImpl.query("rol_id",rs.getString(4)).get(0));session.setAttribute("log_operator", log_operator);// 根据用户,获取对应的角色对应的权限list_privilege = privilegeImpl.query("rol_id", log_operator.getRole().getId()+ "");List<Privilege> list = new ArrayList<Privilege>();list.add(list_privilege.get(0));for (int i = 1; i < list_privilege.size(); i++) {int y=0;for(int x=0;x<list.size();x++){if(!list.get(x).getMenu_name().equals(list_privilege.get(i).getMenu_name())){y++;}}if (y==list.size()) {list.add(list_privilege.get(i));}}session.setAttribute("list", list);session.setAttribute("list_privilege", list_privilege);}}} catch (Exception e) {e.printStackTrace();} finally {DB.close(conn, pst, rs);}return checkResult;}
}

链接数据库:

利用最基本的jdbc进行链接

package util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;public class DB {// 获取数据库连接public static Connection getConn() {Connection conn = null;String url = "jdbc:mysql://localhost:3306/jsp_studentmanager?characterEncoding=utf8";String name = "root";String pwd = "123456";try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection(url, name, pwd);} catch (Exception e) {e.printStackTrace();}return conn;}// 关闭对象 释放资源public static void close(Connection conn, PreparedStatement pst,ResultSet rs) {try {if (rs != null)rs.close();if (pst != null)pst.close();if (conn != null)conn.close();} catch (Exception e) {e.printStackTrace();}}
}

部分表结构:

学生表:

CREATE TABLE `NewTable` (
`stu_id`  int(11) NOT NULL AUTO_INCREMENT ,
`ope_id`  int(11) NULL DEFAULT NULL ,
`stu_no`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`stu_name`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`stu_sex`  enum('男','女') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '男' ,
`stu_birth`  date NULL DEFAULT NULL ,
`stu_pic`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`cla_id`  int(11) NULL DEFAULT NULL ,
PRIMARY KEY (`stu_id`),
FOREIGN KEY (`cla_id`) REFERENCES `classes` (`cla_id`) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (`ope_id`) REFERENCES `operator` (`ope_id`) ON DELETE CASCADE ON UPDATE CASCADE,
UNIQUE INDEX `uni_no` (`stu_no`) USING BTREE ,
UNIQUE INDEX `uni_ope` (`ope_id`) USING BTREE ,
INDEX `fk_stu_cla` (`cla_id`) USING BTREE ,
INDEX `fk_stu_ope` (`ope_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=13
ROW_FORMAT=COMPACT
;CREATE DEFINER=`root`@`localhost` TRIGGER `TG_3` AFTER DELETE ON `NewTable`
FOR EACH ROW BEGIN
DELETE FROM operator WHERE ope_id = old.ope_id;
END;

成绩表:

CREATE TABLE `NewTable` (
`sco_id`  int(11) NOT NULL AUTO_INCREMENT ,
`sco_daily`  float NULL DEFAULT 0 ,
`sco_exam`  float NULL DEFAULT 0 ,
`sco_count`  float NULL DEFAULT 0 ,
`stu_id`  int(11) NULL DEFAULT NULL ,
`sub_id`  int(11) NULL DEFAULT NULL ,
`cla2sub_id`  int(11) NOT NULL ,
`cla_id`  int(11) NOT NULL ,
PRIMARY KEY (`sco_id`),
FOREIGN KEY (`stu_id`) REFERENCES `student` (`stu_id`) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (`sub_id`) REFERENCES `subject` (`sub_id`) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (`cla2sub_id`) REFERENCES `cla2sub` (`cla2sub_id`) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (`cla_id`) REFERENCES `classes` (`cla_id`) ON DELETE CASCADE ON UPDATE CASCADE,
UNIQUE INDEX `uni_stu_sub` (`stu_id`, `sub_id`, `cla2sub_id`) USING BTREE ,
INDEX `fk_sco_sub` (`sub_id`) USING BTREE ,
INDEX `fk_sco_stu` (`stu_id`) USING BTREE ,
INDEX `fk_sco_cla` (`cla2sub_id`) USING BTREE ,
INDEX `cla_id` (`cla_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=33
ROW_FORMAT=COMPACT
;

班级表:

CREATE TABLE `NewTable` (
`cla_id`  int(11) NOT NULL AUTO_INCREMENT ,
`cla_name`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`maj_id`  int(11) NULL DEFAULT NULL ,
`cla_tec`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY (`cla_id`),
FOREIGN KEY (`maj_id`) REFERENCES `major` (`maj_id`) ON DELETE CASCADE ON UPDATE CASCADE,
UNIQUE INDEX `uni_name` (`cla_name`) USING BTREE ,
INDEX `fk_cla_maj` (`maj_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=8
ROW_FORMAT=COMPACT
;CREATE DEFINER=`root`@`localhost` TRIGGER `TG_7` BEFORE DELETE ON `NewTable`
FOR EACH ROW BEGIN
DELETE FROM operator WHERE ope_id IN (SELECT ope_id FROM student WHERE cla_id = old.cla_id);
END;

相关Java基础课设精彩推送

基于jsp+mysql的JSP在线水果销售商城系统设计实现

基于java jsp+mysql+Spring+mybatis的SSM二手交易网站设计和实现

基于Java jsp+servlet超市订单管理平台设计和实现

查看更多博主首页更多实战项目 >>>


 

 获取完整源码:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系👇🏻👇🏻👇🏻

打卡 文章 更新 70/  100天

 精彩专栏推荐:

Java毕设项目精品实战案例《100套》

HTML5大作业实战案例《100套》

web前端网页实战《100套》


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大学生一个暑假学会5个神仙赚钱技能 | 你学会了几个?记得收藏哟

非常建议我的大学生粉丝以及朋友在这个炎热的夏天暑假拿出一部分来学会或提升这5个神仙技能、尤其是当你对你的大学专业不满意的时候&#xff0c;但不仅能帮你的大学不知识更加优秀&#xff0c;还可以让你的毕业后都有赚钱的第二副业技能、记得必须选一个学会哟、目前我自己除了…

毕设/私活/必备,一个挣钱的标准开源前后端分离【springboot+vue+redis+Spring Security】脚手架--若依框架

前言&#xff1a; 今天和大家分享一个是一个开源接私活/毕设/兼职挣钱的java前后端分离的开源项目&#xff0c;用了一小时左右把源码下载跑了一下、感觉还不错&#xff0c;中间运行前端代码的时候遇到一些小问题、根据错误提示也很快解决了、这是个什么项目呢&#xff0c;它是集…

【升职加薪必备架构图】Springboot学习路线汇总

前言&#xff1a; 在以前传统Spring去做Java开发中&#xff0c;大量 XML文件存在项目中&#xff0c;导致项目变得笨重繁琐、开发和部署效率也降低。前几年推出的SpringBoot 提升了Spring 开发者体验。集成了大量常用第三方库配置、零配置开箱即用、让大家更加专注于业务逻辑。同…

基于java实现学科竞赛管理系统【Springboot+mybatis+layui】

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 临近学期结束&#xff…

基于JavaSpringMvc+mybatis实现学生信息管理系统

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 临近学期结束&#xff…

【CSDN】-长沙1024程序员节技术英雄会之行

前言&#xff1a; 最开始初识CSDN和大多数人一样、程序员有Bug的时候大多数是通过百度SEO搜索、第一眼就看见了CSDN、建立了和CSDN的第一次联系、加强我和CSDN关系的是在今年初的时候无意中发表了一篇文章、居然上综合热榜、后面的新星计划&#xff0c;然后慢慢开始关注CSDN、其…

还在手写数据库设计文档?java一键生成

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 前言&#xff1a; 以前…

一个基于SpringBoot+vue的学生信息管理系统详细设计

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 前言介绍&#xff1a; …

基于java Springboot+Vue+shiro前后端分离疫情防疫管理系统设计和实现2.0

目录 研究背景 主要特性功能&#xff1a; 视频效果演示 &#xff1a; 主要功能截图&#xff1a; 系统首页: 疫情数据分布图模拟&#xff1a; 用户管理&#xff1a; 角色控制&#xff1a; 菜单权限&#xff1a; 每日健康打卡&#xff1a; 历史出行数据&#xff1…

基于Java+SpringBoot+vue+node.js的图书购物商城系统详细设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 前言介绍&#xff1a; …

基于Java+SpringBoot+vue+node.js的智能农场管理系统详细设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 研究背景意义 中国是农…

基于java+springboot+layui的流浪动物交流信息平台设计实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系和送书&#x1f345; 前言介绍&#x…

基于Java+SpringBoot+vue+node.js等疫情网课管理系统详细设计和实现

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java李杨勇】 简历模板、学习资料、面试题库等都给你 &#x1f345;文末获取源码联系&#x1f345; 目录 前言介绍&#xff1a; 语言技术&#xff1a; 功能设…

基于JavaSpringmvc+myabtis+html的鲜花商城系统设计和实现

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java李杨勇】 简历模板、学习资料、面试题库等都给你 &#x1f345;文末获取源码联系&#x1f345; 目录 前言介绍&#xff1a; 功能设计&#xff1a; 功能…

基于Java+SpringBoot+vue+element实现火车订票平台管理系统

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、博客专家✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java奥斯卡】 简历模板、学习资料、面试题库等都给你&#x1f4aa; &#x1f345;文末获取源码联系&#x1f345; 前言介绍&#xff1a; 随着网络的…

基于Java+SpringBoot+vue+node.js实现自行车租赁平台管理系统

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、博客专家✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java李杨勇】 简历模板、学习资料、面试题库等都给你&#x1f4aa; &#x1f345;文末获取源码联系&#x1f345; &#x1f345;新星计划第三季【J…

基于Java+SpringMvc+vue+element实现疫苗接种管理平台

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、博客专家✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java李阳勇】 简历模板、学习资料、面试题库等都给你&#x1f4aa; &#x1f345;文末获取源码联系&#x1f345; &#x1f345;新星计划第三季【J…

基于Java+SpringBoot+vue+element实现爱心捐赠平台系统

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、博客专家✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java李杨勇】 简历模板、学习资料、面试题库等都给你&#x1f4aa; &#x1f345;文末获取源码联系&#x1f345; &#x1f345;新星计划第三季【J…

基于Java+SpringBoot+vue+element实现校园闲置物品交易网站

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、博客专家✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java奥斯卡】 简历模板、学习资料、面试题库等都给你&#x1f4aa; &#x1f345;文末获取源码联系&#x1f345; &#x1f345;新星计划第三季【J…

基于Java+SpringBoot+vue+element实现物流管理系统

&#x1f345; 作者简介&#xff1a;CSDN特邀作者✌、博客专家✌、java领域优质创作者&#x1f4aa; &#x1f345;关注公众号【java李杨勇】 简历模板、学习资料、面试题库等都给你&#x1f4aa; &#x1f345;文末获取源码联系&#x1f345; &#x1f345;新星计划第三季【J…