【项目实战】springboot+vue舞蹈课程在线学习系统-java舞蹈课程学习打卡系统的设计与实现

注意:该项目只展示部分功能,如需了解,评论区咨询即可。

1.开发环境

开发语言:Java
数据库:MySQL
编译工具:Idea、Eclipse、MyEclipse (选其一)
其他:jdk1.8、Tomcat

eclipse 下载
mysql 5.7 下载
jdk 1.8 下载
tomcat 8.0 下载
maven 3.5 下载
idea 下载

2 系统设计

2.1 背景意义

随着计算机行业的发展,知识的获取手段不仅局限于纸质笔记,越来越多的学生也喜欢在计算机平台上进行学习,继而衍生出各式各样的学习网站和系统。该类系统产品的诞生也推动了整个学习模式从传统线下转向信息化,给学生提供学习经验分享的新型沟通平台,打破无形的信息屏障。
充分了解社会疫情现状,打破面对面学习的方式,为了系统达到方便、灵活、高效、实用的效果,切身考虑了学生实际问题去开发,符合当今智能化和现代化管理模式。本文设计了一款基于springboot+vue舞蹈课程在线学习系统,该系统采用Java技术中的springboot+vue框架搭建以及MySQL数据库实现。
系统有着快速检索、实时高效、强大存储、维护成本低、使用期限长等优点。学生可以在线查看舞蹈视频、学习舞蹈、练习、打卡,提高学习效率。

2.2 技术路线

springboot+vue舞蹈课程在线学习系统前端页面可以采CSS+HTML+JavaScript+Vue等技术,通过java web进行开发,后端程序可以采用java语言进行编写,数据库采用Mysql。通过上述方法和技术设计出一个功能完备的,稳定的,可用性强的舞蹈课程学习打卡系统。

2.3 主要研究内容

3 系统页面展示

3.1 学生

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 教师页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 管理员页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 更多推荐

2023年计算机毕业设计选题大全 计算机毕业设计选题推荐
基于微信小程序的在线小说阅读系统SpringBoot
基于微信小程序的大学生心理预约咨询系统
基于协同过滤算法的农特产商城微信小程序
基于SpringBoot疫苗接种反应上报系统
基于javaweb的在线点餐系统

5 部分功能代码

5.1 查看学生打卡

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(XueshengdakaEntity xueshengdaka){
        EntityWrapper< XueshengdakaEntity> ew = new EntityWrapper< XueshengdakaEntity>();
 		ew.allEq(MPUtil.allEQMapPre( xueshengdaka, "xueshengdaka")); 
		XueshengdakaView xueshengdakaView =  xueshengdakaService.selectView(ew);
		return R.ok("查询学生打卡成功").put("data", xueshengdakaView);
    }

5.2 文件上传下载

/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		//File upload = new File(path.getAbsolutePath(),"/upload/");
		File upload = new File("D:\\xiangmu\\1400springboot舞房管理系统\\1400springboot舞房管理系统\\target\\classes\\static\\upload\\");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}

源码项目、定制开发、代码讲解、答辩辅导
希望和大家多多交流!!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值