ideaSSM 学员信息管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

news2024/9/29 3:34:01

一、源码特点
  idea 开发 SSM 学员信息管理系统是一套完善的信息管理系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
前段主要技术 bootstrap.css jquery
后端主要技术 SpringMVC spring mybatis 
数据库 mysql
开发工具 IDEA  JDK1.8 TOMCAT 8.5

ssm 学员信息管理系统1

二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)班级管理:对班级信息进行添加、删除、修改和查看
(4)学生管理:对学生信息进行添加、删除、修改和查看
(5)课程管理:对课程信息进行添加、删除、修改和查看
(6)课程表管理:对课程表信息进行添加、删除、修改和查看
(7)选课管理:对选课信息进行添加、删除、修改和查看
(8)成绩管理:对成绩信息进行添加、删除、修改和查看 导入
(9)个人信息修改 业主注册、用户登录

数据库设计

[表gly] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表jiaoshi] 教师列属性表格

序号字段名称数据类型长度主键描述
1jsidINTEGER11教师编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址
7xyVARCHAR40学院

[表banji] 班级列属性表格

序号字段名称数据类型长度主键描述
1bjidINTEGER11班级编号
2bjVARCHAR40班级

[表xuesheng] 学生列属性表格

序号字段名称数据类型长度主键描述
1xsidINTEGER11学生编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5zyVARCHAR40专业
6xyVARCHAR40学院
7nlVARCHAR40年龄
8dhVARCHAR40电话
9bjVARCHAR40班级

[表kecheng] 课程列属性表格

序号字段名称数据类型长度主键描述
1kcidINTEGER11课程编号
2kcmcVARCHAR40课程名称
3jsVARCHAR40介绍
4fbjsVARCHAR40发布教师

代码设计


    @RequestMapping(value="/add")
    public String add(chengji bean, HttpServletRequest request){
        /**
	成绩添加处理方法
	**/
        Map<String,Object> map= new HashMap<String,Object>();//初始变量

	

		String cjid=(String)request.getParameter("cjid");//成绩编号

		String kc=(String)request.getParameter("kc");//课程

		String xs=(String)request.getParameter("xs");//学生

		String djsj=(String)request.getParameter("djsj");//登记时间

		String lx=(String)request.getParameter("lx");//类型

		String cj=(String)request.getParameter("cj");//成绩

		String lb=(String)request.getParameter("lb");//类别

        if(Integer.parseInt(cj)>=60){
        	lb="及格";
		}else{
        	lb="不及格";
		}
		DBO db=new DBO();
		ResultSet rs=null;
		String sql="";
		int num=0;
		int a=0;
		try{
			sql="select count(1) as num from xuanke where kc='"+kc+"' and xs='"+xs+"'";
			rs=db.query(sql);
			if(rs.next()){
				num=rs.getInt("num");

			}
			if(num>0){

				if(lb.equals("期末")){
					sql="select count(1) as num from chengji where kc='"+kc+"' and xs='"+xs+"' ";
					rs=db.query(sql);
					if(rs.next()){

						a=rs.getInt("num");
					}
					if(a>0){
						request.setAttribute("msg", "<script>alert('添加失败、期末成绩只能添加一次');</script>");//操作提示
					}else{
						chengjidao.add(bean);//调用添加方法
						System.out.println("add");
						request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示
					}


				}else{
					chengjidao.add(bean);//调用添加方法
					System.out.println("add");
					request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示
				}



			}else{
				request.setAttribute("msg", "<script>alert('添加失败、抱歉该生没选该门课');</script>");//操作提示
			}

		}catch(Exception e){
			e.printStackTrace();
		}finally{
			db.close();
		}



        return "chengji/chengjiadd";
    }


    /**删除 成绩
     *
     */
    @RequestMapping(value="/del")
    public String  del(HttpServletRequest request,Map<String,Object> map){
	
        //	Map<String,Object> map= new HashMap<String,Object>();//初始化对象
        String a=(String)request.getParameter("keyid");//request 方式获得主键id
        int id=Integer.parseInt(a);
        request.setAttribute("msg", "<script>alert('删除成功');</script>");
        chengjidao.delete(id);//调用 删除方法
        return listpage(map,request);
    }

	/**
	 * 查询chengji信息 返回list结果 前台获取
	 */
	@RequestMapping(value="/list")
	public String list(Map<String,Object> map,HttpServletRequest request){
		List<Map> list= new ArrayList<Map>();//初始化对象
		Map  map1= new HashMap();


		String cjid=(String)request.getParameter("cjid");//成绩编号
		if(cjid!=null&&!cjid.equals("")){
			map1.put("cjid",cjid);//成绩编号
		}
		String kc=(String)request.getParameter("kc");//课程
		if(kc!=null&&!kc.equals("")){
			map1.put("kc",kc);//课程
		}
		String xs=(String)request.getParameter("xs");//学生
		if(request.getSession().getAttribute("yhm")!=null){
			map1.put("xs",request.getSession().getAttribute("yhm"));//学生
		}
		String djsj=(String)request.getParameter("djsj");//登记时间
		if(djsj!=null&&!djsj.equals("")){
			map1.put("djsj",djsj);//登记时间
		}
		String lx=(String)request.getParameter("lx");//类型
		if(lx!=null&&!lx.equals("")){
			map1.put("lx",lx);//类型
		}
		String cj=(String)request.getParameter("cj");//成绩
		if(cj!=null&&!cj.equals("")){
			map1.put("cj",cj);//成绩
		}
		String lb=(String)request.getParameter("lb");//类别
		if(lb!=null&&!lb.equals("")){
			map1.put("lb",lb);//类别
		}

		list=chengjidao.getAll(map1);//传入 方法参数 返回gly结果集
		System.out.println("listsize="+list.size());

		map.put("list", list);//传递参数
		return "chengji/list";
	}


三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件src\main\resources 下的 jdbc.properties 更改对应数据库连接配置
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspxyxx.sql 系统名称ssmxyxx
4、地址:login.jsp

四系统实现


代码下载

https://download.csdn.net/download/qq_41221322/89003611

需要源码 其他的服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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

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

相关文章

【数据结构】——排序之冒泡排序

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

eclipse中使用PlantUML plugin查看对象关系

一.背景 公司安排的带徒弟任务&#xff0c;给徒弟讲了如何设计对象。他们的思维里面都是单表增删改查&#xff0c;我的脑海都是一个个对象&#xff0c;他们相互关系、各有特色本事。稳定的结构既能满足外部功能需求&#xff0c;又能在需求变更时以最小代价响应。最大程度的记录…

简易指南:国内ip切换手机软件怎么弄

在网络访问受到地域限制的情况下&#xff0c;使用国内IP切换手机软件可以帮助用户轻松访问被屏蔽的内容&#xff0c;扩展网络体验。以下是虎观代理小二分享的使用国内IP切换手机软件的简易指南。并提供一些注意事项。 如何在手机上使用国内IP切换软件 步骤一&#xff1a;选择I…

【3D reconstruction 学习笔记】

三维重建 3D reconstruction 1. 相机几何针孔相机摄像机几何 2. 相机标定线性方程组的解齐次线性方程组的解非线性方程组的最小二乘解透镜相机标定带畸变的相机标定 3. 单视图重建2D平面上的变换3D空间上的变换单视测量无穷远点 无穷远线 无穷远平面影消点 影消线单视重构 4. 三…

docker 哲学 - 网络桥接器、容器网络接口 、容器间的通信方式

1、解释 docker0 veth eth 2、vethXX 和 ethXX 是肯定一一对应吗 比如 eth1 对应 veth1 3、如果 A容器使用 默认创建方式 。定义他内部网络为 eth0&#xff0c;容器B使用 --network 连上 已创建的网络 172.89.2.1 。此时假设 B的 ip是 172.89.2.2 &#xff0c;容器网络接口是 e…

DashScope - 阿里模型服务灵积

文章目录 关于 DashScope快速上手代码调用http 请求示例Python 调用 关于 DashScope 官方主页&#xff1a;https://dashscope.aliyun.comPYPI : https://pypi.org/project/dashscope/支持模型&#xff1a;https://dashscope.console.aliyun.com/model DashScope灵积模型服务建…

PointNet++论文复现(一)【PontNet网络模型代码详解 - 分类部分】

PontNet网络模型代码详解 - 分类部分 专栏持续更新中!关注博主查看后续部分! 分类模型的训练: ## e.g., pointnet2_ssg without normal features python train_classification.py --model pointnet2_cls_ssg --log_dir pointnet2_cls_ssg python test_classification.py…

JWT的实现及其适用场景

官方文档 一、什么是JWT JWT&#xff08;全称JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;它定义了一种紧凑且自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息。此信息是经过数字签名的&#xff0c;因此可以验…

Pandas与Jupyter Notebook的完美结合【第153篇—数据分析】

利用Python进行数据分析&#xff1a;Pandas与Jupyter Notebook的完美结合 在数据科学和分析领域&#xff0c;Python语言因其强大的数据处理库而备受青睐。其中&#xff0c;Pandas是Python中最常用的数据分析库之一&#xff0c;而Jupyter Notebook则是一个流行的交互式计算环境…

学习人工智能:Attention Is All You Need-2-Transformer模型;Attention机制;位置编码

3.2 注意力机制Attention 注意力函数可以描述为将查询和一组键值对映射到输出的过程&#xff0c;其中查询、键、值和输出都是向量。输出被计算为值的加权和&#xff0c;其中每个值的权重由查询与相应键的兼容性函数计算得出。 3.2.1 缩放点积注意力 Scaled Dot-Product Attenti…

Tonghttpserver6.0.1.0部署指引优化版+基本操作指引+部分问题收集持续更新(by lqw)

文章目录 1.准备工作2.控制台安装解压和设置crt配置http.yaml配置grpc.yaml初始化数据库启动和访问ths管控台上传安装包 3.新增分組管理4.新增节点自动安装&#xff08;如果自动安装失败&#xff0c;可参考下一部分的手动安装&#xff09;手动安装&#xff08;自动安装成功的请…

[音视频学习笔记]七、自制音视频播放器Part2 - VS + Qt +FFmpeg 写一个简单的视频播放器

前言 话不多说&#xff0c;重走霄骅登神路 前一篇文章 [音视频学习笔记]六、自制音视频播放器Part1 -新版本ffmpeg&#xff0c;Qt VS2022&#xff0c;都什么年代了还在写传统播放器&#xff1f; 本文相关代码仓库&#xff1a; MediaPlay-FFmpeg - Public 转载雷神的两个流程…

备考ICA----Istio实验4---使用 Istio 进行金丝雀部署

备考ICA----Istio实验4—使用 Istio 进行金丝雀部署 上一个实验已经通过DestinationRule实现了部分金丝雀部署的功能,这个实验会更完整的模拟展示一个环境由v1慢慢过渡到v2版本的金丝雀发布. 1. 环境清理 kubectl delete gw/helloworld-gateway vs/helloworld dr/helloworld…

基于Arduino IDE 野火ESP8266模块 EEPROM 存储开发

一、操作存储器 我们可以使用ESP8266模块的EEPROM&#xff0c;也就是可读可擦存储器&#xff0c;可以掉电不丢失地帮我们存储一些数据。ESP8266微控制器有一个闪存区(Flash memory) 来模拟Arduino的EEPROM。这是微控制器中一个特殊的内存位置&#xff0c;即使在主板关闭后&…

Redis的安装与启动

一、Linux环境安装&启动Redis 第一步&#xff1a;在官网下载好Redis安装包&#xff0c;上传到Linux中并进行解压到相应&#xff08;如/opt/software/&#xff09;目录中&#xff1b;&#xff08;注意&#xff1a;完成了第二步后&#xff0c;即安装了C/C语言编译器后&#…

中型企业网络路由器配置(ensp)实验

vlan、vlan间路由、ospf协议等来实现三层交换机和单臂路由之间的通信 拓扑图&#xff1a; 1. 配置三层交换机vlan和vlan间路由 SW1 #进入视图 sys sysn sw1 undo info-center enable#配置vlan vlan batch 10 20 30 40 50 60#配置access口 int g0/0/1 port link-type access …

Web前端笔记+表单练习+五彩导航

一、笔记 表单&#xff1a;数据交互的一种方式 登录、注册、搜索 <from> <input type""> --- <input type"text"> --- 普通输入框&#xff0c;内容在一行显示 <input type"password"> --- 密码框 <input type"…

python拍卖行系统的设计与实现flask-django-nodejs-php

此系统设计主要采用的是python语言来进行开发&#xff0c;采用django/flask框架技术&#xff0c;框架分为三层&#xff0c;分别是控制层Controller&#xff0c;业务处理层Service&#xff0c;持久层dao&#xff0c;能够采用多层次管理开发&#xff0c;对于各个模块设计制作有一…

Linux系统------------MySQL事务

目录 一、MySQL事务的概念 二、事务的ACID特点 ●原子性 ●一致性 ●隔离性 ●持久性 事务之间的相互影响有以下几种&#xff1a; ①脏读 ②不可重复读 ③幻读 ④丢失更新 三、Mysql及事务隔离级别 3.1Mysql及事务隔离级别 &#xff08;1&#xff09;read…

搭建基于 Snowflake 的 CI/CD 最佳实践!

Snowflake 提供了可扩展的计算和存储资源&#xff0c;和基于 SQL 的界面 Snowsight&#xff0c;方便用户进行数据操作和分析。然而&#xff0c;如果用户想将自己的 CI/CD 流程与 Snowflake 集成时&#xff0c;会发现一些不便之处&#xff08;尤其相比其 SnowSight 优秀的查询能…