Java项目:SpringBoot课程在线学习系统

news2024/11/19 6:20:32

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

采用SpringBoot+Spring+Mybatis+Thyeleaf实现的在线学习系统,一共2个角色:管理员与学生。
管理员角色功能:
登录系统后可以管理所有用户信息,管理角色信息,添加修改管理课件信息,学生学习培训批次管理,成绩导入管理

学生角色功能:
登录系统后可以查询自己的个人信息,查询课件列表学习,查询我的培训记录,查询自己的成绩

采用SpringBoot框架实现,前台模板用的thymeleaf,数据库层采用mybatis框架,注解模式
 

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
4.数据库:MySql 5.7版本;
5.是否Maven项目:是;

技术栈

SpringBoot+Spring+Mybatis+Thymeleaf+JQuery+Mysql

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,项目运行成功后,访问地址http://localhost:8080/th/login
管理员账号密码: admin/admin
学生登录账号密码: 1314/123456

运行截图

管理员角色

 学生角色

 相关代码

课程控制器

@Controller
@RequestMapping("th")
public class CourseController {
	@Autowired
	private Courseinfoservice courseservice;
	//课程列表
	@RequestMapping("/listcourse")
    public String selectRole(ModelMap map,Courseinfo course) {
		List<Courseinfo> course1=courseservice.selectcourse(course);
		System.out.println(course1);
		map.addAttribute("courseinfo", course1);
        return "thymeleaf/course/listcourse";
    }
	   //添加课程页面
	   @RequestMapping("/addcourse")
	    public String addcourse(Courseinfo course,ModelMap map) {
	        return "thymeleaf/course/addcourse";
	    }
	   //提交添加课程页面
	   @RequestMapping("/addcourse1")
	    public String addcourse1(Courseinfo course,ModelMap map) {
		   System.out.println(course);
		    courseservice.addcourse(course);
	        return "thymeleaf/error/success";
	    }
	   //删除
	   @RequestMapping("/deletecourse")
	    public String deletecourse(Courseinfo course,ModelMap map) {
		   Courseinfo course1=courseservice.selecto(course);
		   courseservice.deletecourse(course);
	    	map.addAttribute("courseinfo", course1);
	        return "thymeleaf/error/success";
	    }
	   //修改界面
	   @RequestMapping("/updatecourse")
	    public String updatecourse(Courseinfo course,ModelMap map) {
		   Courseinfo course1=courseservice.selecto(course);
	    	map.addAttribute("courseinfo",course1);
	        return "thymeleaf/course/updatecourse";
	    }
	   //提交修改界面
	   @RequestMapping("/updatecourse1")
	    public String updatecourse1(Courseinfo course,ModelMap map) {
		   Courseinfo course1=courseservice.selecto(course);
		   courseservice.updatecourse(course);
	    	map.addAttribute("courseinfo",course1);
	        return "thymeleaf/error/success";
	    }
}

如果也想学习本系统,下面领取。回复:014springboot 

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

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

相关文章

Unreal Engine中的Actor:理解、生成与消亡

目录 谈谈Actor 生成&#xff08;实例化&#xff09;Acotr StaticClass/UClass&#xff1a;类模板/类的快照 Actor的生命周期 Actor的消亡 Destroy&#xff1a;标记删除 SetLifeSpan&#xff1a;设置存活时间 Destroyed&#xff1a;消亡Actor的通知 EndPlay&#xff1…

chatGPT对接微信

代码地址: https://github.com/jeffcail/go-wecaht-bot 喜欢的帅锅美女可以点个star哦&#x1f60a; 背景 玩一玩chatGPT。只因GPT你太美&#xff5e;&#xff5e;&#xff5e; wechat SDK go get github.com/eatmoreapple/openwechat实现功能 自动通过好友申请用户私聊回…

我的转行之路

我一直想为自己没有继续从事编程&#xff0c;而转到铁路行业找一个合理的理由&#xff0c;来掩饰我的愚蠢。我日思夜想终于找到了更合理更有说服力的理由&#xff0c;十个字&#xff0c;目光的短浅&#xff0c;认知的缺乏。 那个时候&#xff0c;只被一毕业就能拿到不错的工资…

Python还有发展前景吗?现在该怎么去学习?

从2008年开始Python就突然火了起来&#xff0c;腾讯最近组织了一个大型Python技术交流峰会&#xff0c;由此可见Python现在已经到了我们不能想象的境界&#xff0c;一切的步伐都要跟着大公司走&#xff0c;腾讯这样级别的公司都这样重视Python技术&#xff0c;可见Python的发展…

什么样的人适合当黑客?

别说我没资格说这些话或是我的话是废话(对你来说是,对别人呢?),我想任何人都有资格尽自己的能力帮助别人. 首先,看到这篇文章,觉得好长,好烦,懒的看,走人… OK,我觉的你不适合做黑客&#xff01; 07年我考上大学&#xff0c;选择了机械制造及其自动化&#xff08;数控编程&a…

【linux kernel】linux内核裁剪随想

为什么需要裁剪&#xff1f; 首先&#xff0c;裁剪并不一定是缩小内核镜像的大小&#xff0c;而是移植和适配。内核支持的特性很多&#xff0c;站在项目的角度&#xff0c;不一定全部需要这些特性和功能。这时候就需要将不需要的特性和功能剔除&#xff0c;随着这个过程的进行…

LabVIEW在两台计算机之间传输数据

LabVIEW在两台计算机之间传输数据 有几种网络协议可用于完成此任务。使用正确的网络协议白皮书将完成为应用选择正确协议的任务。它涵盖了控制和监视应用中最常用的通信模型&#xff0c;并根据配置、性能、易用性等推荐最适合每种情况的网络协议。 参考的白皮书重点介绍了三种…

【MAX7800与ESP8266mcu通讯关键字控制】

【MAX7800与ESP8266mcu通讯关键字控制】 1. 前言2. 实验条件2.1 硬件条件2.2 软件条件3. 程序编写3.1 ESP8266程序解剖3.2 MAX7800程序解剖4. 实验效果4.1 esp8266打印如下4.2 max7800打印如下5. 小结1. 前言 前期搭好MAX7800 的eclipse和ESP82666的Arduino开发环境,现在开始…

98.第十九章 MySQL数据库 -- MySQL数据库架构、存储引擎、服务器配置和状态(八)

4.MySQL架构和性能优化 MySQL是C/S 架构的,connectors是连接器;可供Native C API、JDBC、ODBC、NET、PHP、Perl、 Python、Ruby、Cobol等连接mysql;ODBC叫开放数据库(系统)互联,open database connection; JDBC是主要用于java语言利用较为底层的驱动连接数据库;以上这…

[网络工程师]-VLAN

1、VLAN基础 虚拟局域网&#xff08;Virtual Local Area Network&#xff0c;VLAN&#xff09;是一种将局域网设备从逻辑上划分成一个个网段&#xff0c;从而实现虚拟工作组的数据交换技术。VLAN技术主要应用在三层交换机中。 VLAN是基于物理网络构建的逻辑子网&#xff0c;所以…

Java项目:springboot在线选课系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 后端技术包含springbootmybatisspring securitymysqlredis 前端技术包含 semanticUI thymeleaf模板引擎 使用教程 1. 下载项目之后 等待ma…

网络存储ISCSI实战

一、网络存储 目前应用最为广泛的两种数据存储设备&#xff1a;NAS与SAN 1、NAS NAS的全称是Network-attached storage&#xff0c;即网络附加存储&#xff0c;并不需要单独的网络用于存储IO&#xff0c;更适用于中小型的存储解决方案。 NAS设备通常是一个完整的服务器架构…

天天说手撕红黑树?你真的能撕的下来吗?(详细解释+代码注释)

目录 一、你还记得什么是红黑树吗&#xff1f; 二、AVL树与红黑树的比较 三、模拟实现红黑树 3.1、红黑树的定义 3.2、插入结点 3.2.1、情况一 3.2.2、情况二 3.2.3、情况三 四、红黑树的验证 4.1、检查中序遍历是否有序 3.2、检查是否出现两个连续的红色结点 4.3、检…

数据护航 安全立方—海泰方圆数据安全治理立体式框架

发展数据安全是必然趋势 2022年6月&#xff0c;中央全面深化改革委员会第二十六次会议强调&#xff0c;“数据基础制度建设事关国家发展和安全大局&#xff0c;要维护国家数据安全&#xff0c;保护个人信息和商业秘密&#xff0c;促进数据高效流通使用、赋能实体经济&#xff0…

【JVM】jvm虚拟机中的堆

jvm虚拟机中的堆一、JVM体系结构二、Java堆简介2.1 堆的特点2.2 堆空间细分2.3 堆空间的分代思想2.4 堆的默认大小三、JVM堆内存常用参数四、垃圾回收算法&#xff08;GC&#xff0c;Garbage Collection&#xff09;4.1 标记-清除&#xff08;Mark-Sweep&#xff09;4.2 复制&a…

【代码审计-1】PHP无框架项目SQL注入

代码审计 教学计划&#xff1a;审计项目漏洞Demo->审计思路->完整源码框架->验证并利用漏洞 教学内容&#xff1a;PHP&#xff0c;JAVA网站应用&#xff0c;引入框架类开发源码&#xff0c;相关审计工具及插件使用 必备知识点&#xff1a;环境安装搭建使用&#xff0c…

python是什么鬼?为什么学会他就能月入过万,它真的这么牛吗?

为什么那么多人选择学习python&#xff1f; Python在人工智能、大数据、自动化运维、全栈开发等方面具有独特的优势。随着Python继续占据编程语言主流的趋势&#xff0c;全国各城市的招聘岗位和薪酬将大幅增加。此外&#xff0c;随着人工智能在中国的投资和规划&#xff0c;对…

使用docker compose一键部署多个服务

docker compose 是 docker 官方的开源项目&#xff0c;用来实现对 docker 容器集群的快速编排 下载安装 官网下载地址&#xff1a;点这里 我用的是云服务器&#xff0c;所以就直接用yum安装了&#xff0c;直接执行这两条命令&#xff0c;等安装结束后查看版本&#xff0c;看到…

SpringCloud系列(六)Feign 客户端的配置及使用

❓Feign 是什么? &#x1f64a;Feign 是一个声明式的 http 客户端, 其主要的作用就是帮助我们实现 http 的请求发送, 正如官网所说, Feign使编写Java http客户端更容易; ❓❓为什么要用 Feign? &#x1f64a;&#x1f64a;如在未学习 Feign 之前, 我们利用的是 RestTemplate …

2022年宜春市职业院校技能大赛中职组“网络搭建与应用”赛项任务书

2022年宜春市职业院校技能大赛中职组“网络搭建与应用”赛项任务书 &#xff08;总分1000分&#xff09; 赛题说明 一、竞赛内容分布 “网络搭建与应用”竞赛共分二个部分&#xff0c;其中&#xff1a; 第一部分&#xff1a;网络搭建及安全部署项目 第二部分&#xff1a;服务器…