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

news2024/11/26 2:46:56

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

java ssm网上选课系统

二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)学生管理:对学生信息进行添加、删除、修改和查看
(4)课程管理:对课程信息进行添加、删除、修改和查看
(5)上课时间管理:对上课时间信息进行添加、删除、修改和查看
(6)选课管理:对选课信息进行添加、删除、修改和查看
(7)反馈管理:对反馈信息进行添加、删除、修改和查看
(8)申请管理:对申请信息进行添加、删除、修改和查看
(9)公告管理:对公告信息进行添加、删除、修改和查看
(10)个人信息修改 业主注册、用户登录

数据库设计

CREATE TABLE `gly` (
`glyid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',  PRIMARY KEY  (`glyid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jiaoshi` (
`jsid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`lxdz` VARCHAR(40) default NULL COMMENT '联系地址',  PRIMARY KEY  (`jsid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `xuesheng` (
`xsid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`lxdz` VARCHAR(40) default NULL COMMENT '联系地址',
`xh` VARCHAR(40) default NULL COMMENT '学号',
`bj` VARCHAR(40) default NULL COMMENT '班级',
`zy` VARCHAR(40) default NULL COMMENT '专业',
`xy` VARCHAR(40) default NULL COMMENT '学院',  PRIMARY KEY  (`xsid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `kecheng` (
`kcid` int(11) NOT NULL auto_increment,
`kcmc` VARCHAR(40) default NULL COMMENT '课程名称',
`rkjs` VARCHAR(40) default NULL COMMENT '任课教师',
`sm` VARCHAR(40) default NULL COMMENT '说明',
`lb` VARCHAR(40) default NULL COMMENT '类别',
`zt` VARCHAR(40) default NULL COMMENT '状态',  PRIMARY KEY  (`kcid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `sksj` (
`sksjid` int(11) NOT NULL auto_increment,
`kc` VARCHAR(40) default NULL COMMENT '课程',
`sksj` VARCHAR(40) default NULL COMMENT '上课时间',
`j` VARCHAR(40) default NULL COMMENT '节',
`dd` VARCHAR(40) default NULL COMMENT '地点',  PRIMARY KEY  (`sksjid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `xuanke` (
`xkid` int(11) NOT NULL auto_increment,
`lsh` VARCHAR(40) default NULL COMMENT '流水号',
`kc` VARCHAR(40) default NULL COMMENT '课程',
`xs` VARCHAR(40) default NULL COMMENT '学生',
`zt` VARCHAR(40) default NULL COMMENT '状态',
`xksj` VARCHAR(40) default NULL COMMENT '选课时间',
`lb` VARCHAR(40) default NULL COMMENT '类别',  PRIMARY KEY  (`xkid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

代码设计

  @Resource
    private gonggaoDao gonggaodao;
    @RequestMapping(value="/addpage")
    public String addpage(gonggao bean, HttpServletRequest request){
	/**
	公告添加页面
	*/

        Map<String,Object> map= new HashMap<String,Object>();

        System.out.println("addPageok");
        return "gonggao/gonggaoadd";
    }

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

	

		String ggid=(String)request.getParameter("ggid");//公告编号

		String bt=(String)request.getParameter("bt");//标题

		String nr=(String)request.getParameter("nr");//内容

		String fbsj=(String)request.getParameter("fbsj");//发布时间

        



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


    /**删除 公告
     *
     */
    @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>");
        gonggaodao.delete(id);//调用 删除方法
        return listpage(map,request);
    }

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


        String ggid=(String)request.getParameter("ggid");//公告编号
        if(ggid!=null&&!ggid.equals("")){
            map1.put("ggid",ggid);//公告编号
        }
        String bt=(String)request.getParameter("bt");//标题
        if(bt!=null&&!bt.equals("")){
            map1.put("bt",bt);//标题
        }
        String nr=(String)request.getParameter("nr");//内容
        if(nr!=null&&!nr.equals("")){
            map1.put("nr",nr);//内容
        }
        String fbsj=(String)request.getParameter("fbsj");//发布时间
        if(fbsj!=null&&!fbsj.equals("")){
            map1.put("fbsj",fbsj);//发布时间
        }

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

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

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


        String ggid=(String)request.getParameter("ggid");//公告编号
        if(ggid!=null&&!ggid.equals("")){
            map1.put("ggid",ggid);//公告编号
        }
        String bt=(String)request.getParameter("bt");//标题
        if(bt!=null&&!bt.equals("")){
            map1.put("bt",bt);//标题
        }
        String nr=(String)request.getParameter("nr");//内容
        if(nr!=null&&!nr.equals("")){
            map1.put("nr",nr);//内容
        }
        String fbsj=(String)request.getParameter("fbsj");//发布时间
        if(fbsj!=null&&!fbsj.equals("")){
            map1.put("fbsj",fbsj);//发布时间
        }

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

        map.put("list", list);//传递参数
        return "gonggao/list";
    }
	/**
	公告详情信息
	*/
    @RequestMapping(value="/detail")
    public String detail(Map<String,Object> map,HttpServletRequest request){

        String keyid=(String)request.getParameter("keyid");//request 方式获得主键id
         gonggao bean=new gonggao();//初始化对象
        bean=gonggaodao.getgonggaoByID(Integer.parseInt(keyid));//根据id返回 gonggao对象数据


		request.setAttribute("ggid", bean.getGgid());//公告编号

		request.setAttribute("bt", bean.getBt());//标题

		request.setAttribute("nr", bean.getNr());//内容

		request.setAttribute("fbsj", bean.getFbsj());//发布时间

       


        return "gonggao/gonggaodetail";
    }


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

四 系统实现


 

代码下载

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

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

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

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

相关文章

在短视频的挤压下,长视频何去何从?长视频行业能否借助AI重拾信心?

回顾2019年中国网络视听大会&#xff0c;长视频行业的领袖们曾在演讲中对短视频进行了猛烈抨击&#xff0c;这一场面至今仍然令人印象深刻。当时&#xff0c;长视频平台似乎还有一些自信&#xff0c;但如今&#xff0c;他们已经被来自各方的竞争对手挤得喘不过气来。今年以来&a…

软件分层测试的5大注意事项

软件分层测试作为软件测试的常见测试方法&#xff0c;有利于提高测试精度和效率&#xff0c;及早发现和解决产品缺陷和问题&#xff0c;提高了产品的质量和效率&#xff0c;降低了测试成本。如果不对软件进行分层测试&#xff0c;不利于缺陷的尽早发现和改正&#xff0c;可能会…

蓝桥杯-油漆面积

代码及其解析:(AC80%&#xff09; 思路:是把平面划成单位边长为1&#xff08;面积也是1&#xff09;的方格。每读入一个矩形&#xff0c;就把它覆盖的方格标注为已覆盖&#xff1b;对所有矩形都这样处理&#xff0c;最后统计被覆盖的方格数量即可。编码极其简单&#xff0c;但…

【鸿蒙开发】if/else条件渲染,ForEach循环渲染

if/else 使用规则 支持if、else和else if语句。if、else if后跟随的条件语句可以使用状态变量。允许在容器组件内使用&#xff0c;通过条件渲染语句构建不同的子组件。条件渲染语句在涉及到组件的父子关系时是“透明”的&#xff0c;当父组件和子组件之间存在一个或多个if语句…

STM32中C编程引入C++程序

C具备类的创建思想很实用于实际场景多相似性的框架搭建&#xff1b;同种类型或相似类型的C的优势明显因此进行相互嵌套使用 需要在C中使用C类的话&#xff0c;你可以通过C的“extern "C"”语法来实现。这允许你在C代码中使用C的链接方式&#xff0c;而在C代码中使用…

服务器开发 Socket 相关函数

Socket 函数 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol)domain: AF_INET 这是大多数用来产生 socket 的协议&#xff0c;使用TCP或UDP来传输&#xff0c;用IPv4的地址 AF_INET6 与上面类似&#xff0c;不过…

电商选品难?那是因为你不会用大数据选品工具…

电商选品之所以难&#xff0c;主要有以下几个方面的原因。电商市场更新换代非常快&#xff0c;新的产品不断涌现&#xff0c;旧的产品可能很快就被淘汰。电商选品紧跟市场趋势&#xff0c;不断调整和更新&#xff0c;这对电商运营市场敏感度和反应速度提出了很高的要求。 电商…

用友NC importPml SQL注入漏洞(XVE-2023-29120)

0x01 产品简介 用友NC是由用友公司开发的一套面向大型企业和集团型企业的管理软件产品系列。这一系列产品基于全球最新的互联网技术、云计算技术和移动应用技术,旨在帮助企业创新管理模式、引领商业变革。 0x02 漏洞概述 用友NC importPml接口存在SQL注入漏洞,攻击者通过利…

java操作linux

文章目录 远程连接服务器执行linux命令或shell脚本介绍Process的方法相关类UML 工具类基本工具类依赖第三方的工具类 远程连接服务器 java程序远程linux服务器有两个框架分别是&#xff1a;jsch与ganymed-ssh2框架。推荐使用jsch框架&#xff0c;因为ganymed-ssh2框架不支持麒…

诚邀莅临!道合顺将携“气体传感器”亮相深圳国际传感器与应用技术展览会

2024年4月14日-16日&#xff0c;深圳国际传感器与应用技术展览会将在深圳会展中心&#xff08;福田&#xff09;盛大举办。道合顺传感将携旗下系列专业气体传感器产品亮相展会&#xff0c;更有重磅新品传感器方案现场展示&#xff0c;真诚期待您的到来&#xff01; 传感器技术、…

球球大作战Python单机版本

球球大作战是一个多人在线游戏&#xff0c;玩家需要控制一个小球&#xff0c;通过吞食地图上的小点来增加自己的体积&#xff0c;同时避免被其他更大的球体吞噬。下面是一个简化版的球球大作战游戏&#xff0c;使用Python语言和pygame库来实现。在这个简化版中&#xff0c;我们…

pycharm环境配置踩坑

一、新建目录 venv 二、创建本地解释器 3、配置国内镜像 1&#xff09;镜像源 清华&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 阿里云&#xff1a;http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大…

宠物医院管理系统

文章目录 宠物医院管理系统一、系统演示二、项目介绍三、12000字论文参考四、系统部分页面展示五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 宠物医院管理系统 一、系统演示 宠物医院管理系统 二、项目介绍 语言&#xf…

HarmonyOS实战开发-使用OpenGL实现2D图形绘制和动画。

介绍 基于XComponent组件调用Native API来创建EGL/GLES环境&#xff0c;从而使用标准OpenGL ES进行图形渲染。本项目实现了两个示例&#xff1a; 使用OpenGL实现2D的图形绘制和动画&#xff1b;使用OpenGL实现了在主页面绘制两个立方体&#xff0c;光源可以在当前场景中移动&…

MySQL客户端安装并配置免密登录

最近在写脚本时需要向MySQL数据库中存储数据&#xff0c;且脚本运行的服务器与MySQL服务器不是同一台服务器&#xff0c;而且需要保证MySQL密码的安全性&#xff0c;不能在脚本中暴露&#xff0c;所以就需要在服务器上安装MySQL客户端&#xff0c;并配置免密登录。 一、虚拟机…

使用注意力机制的 LSTM 彻底改变时间序列预测

目录 一、说明二、LSTM 和注意力机制简介三、为什么要将 LSTM 与时间序列注意力相结合&#xff1f;四、模型架构训练与评估 五、验证六、计算指标七、结论 一、说明 在时间序列预测领域&#xff0c;对更准确、更高效的模型的追求始终存在。深度学习的应用为该领域的重大进步铺…

【golang】动态生成微信小程序二维码实战下:golang 生成 小程序二维码图片 并通过s3协议上传到对象存储桶 | 腾讯云 cos

项目背景 在自研的系统&#xff0c;需要实现类似草料二维码的功能 将我们自己的小程序&#xff0c;通过代码生成相想要的小程序二维码 代码已经上传到 Github 需要的朋友可以自取 https://github.com/ctra-wang/wechat-mini-qrcode 一、生成Qrcode并提交到对象存储 通过源生A…

中颖51芯片学习4. 可编程计数器阵列PCA0

中颖51芯片学习4. 可编程计数器阵列PCA0 一、PCA介绍1. PCA简介2. SH79F9476的PCA0特性3. PCA0 功能4. 时钟5. PCA0原理框图6. 工作方式 二、PCA0寄存器1. PCA0标志寄存器2. PCA使能寄存器3. PCA0方式寄存器4. P0CPMn PCA捕捉/比较寄存器5. P0FORCE强制输出控制寄存器6. PCA0计…

《极域多媒体教室互动管理系统软件》控制方法大全

前言及背景&#xff1a; 当我坐在电脑前&#xff0c;打开它&#xff0c;点开谷歌&#xff0c;刚刚想打开百度&#xff0c;突然闪出来了&#xff1a; 该网页已被阻止&#xff01;&#xff01;&#xff01; 正文&#xff1a; 1.极域控制原理&#xff1a; 好…

使用EZDML自动生成测试数据

项目场景: 项目开发时,新创建的表需要增加一部分测试数据用于简单的功能测试。 问题描述 无论使用代码还是使用plsql自带的数据生成工具都感觉有点麻烦,我只想点点点就能生成数据。 解决方案: 提示:这里填写该问题的具体解决方案: 使用 EZDML 可以方便的生成测试数据。…