1、项目介绍

基于springboot的学生作业管理系统,学校作业管理系统,附源码+数据库,分为管理员、教师、学生

学生-功能:登录、注册、首页、微社区、试卷、公告通知、个人中心、后台管理、我的发布、考试记录、错题本、个人中心

教师-功能:登录、注册、首页、个人中心、修改密码、个人信息、试卷管理、试题管理、考试管理

管理员-功能:登录、首页、个人中心、修改密码、个人信息、教师管理、学生管理、试题管理、微社区、试卷管理、系统管理、考试管理、错题本、考试记录

Java 毕业设计,SpringBoot课程设计,基于SpringBoot开发的,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用

包含:项目源码、数据库脚本等,该项目可以作为毕设、课程设计使用,前后端代码都在里面

该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值

2、技术框架

运行系统:windows

编程语言:java

系统架构:B/S

后端框框:SpringBoot(Spring+SpringMVC+Mybatis)

前端框架:Vue+HTML+CSS+JavaScript

前后端分离:否

数据库:MySQL

Maven项目:是

数据库表数量:10

运行环境:JDK8+MySQL5.6+Maven3.6+idea+Node.js 14.16

3、演示视频

基于springboot的学生作业管理系统

4、项目截图

5、代码示例

<!-- 公告通知 -->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
		<title>公告通知</title>
		<link rel="stylesheet" href="../../layui/css/layui.css">
		<!-- 样式 -->
		<link rel="stylesheet" href="../../css/style.css" />
		<!-- 主题(主要颜色设置) -->
		<link rel="stylesheet" href="../../css/theme.css" />
		<!-- 通用的css -->
		<link rel="stylesheet" href="../../css/common.css" />
	</head>
	<style>
		#swiper {
			overflow: hidden;
		}
		#swiper .layui-carousel-ind li {
			width: 28px;
			height: 14px;
			border-width: 0;
			border-style: solid;
			border-color: rgba(0,0,0,.3);
			border-radius: 7px;
			background-color: rgba(191, 191, 191, 1);
			box-shadow: 0 0 0px rgba(255,0,0,.8);
		}
		#swiper .layui-carousel-ind li.layui-this {
			width: 60px;
			height: 14px;
			border-width: 0;
			border-style: solid;
			border-color: rgba(0,0,0,.3);
			border-radius: 7px;
			background-color: rgba(254, 241, 0, 1);
			box-shadow: 0 0 0px rgba(255,0,0,.8);
		}
		
		.index-title {
		    text-align: center;
		    box-sizing: border-box;
		    width: 980px;
		    display: flex;
		    justify-content: center;
		    align-items: center;
		    flex-direction: column;
		}
		
		.layui-laypage .layui-laypage-count {
		  padding: 0 10px;
		}
		.layui-laypage .layui-laypage-skip {
		  padding-left: 10px;
		}
		
		.news-container .content {
			margin: 30px auto;
		}
		
		.news-container .btn-container {
			display: flex;
			    align-items: center;
			    box-sizing: border-box;
			    width: 100%;
			    flex-wrap: wrap;
				width: 980px !important;
				    margin: 0 auto !important;
				    justify-content: space-between !important;
		}
		.news-container .btn-container button i {
			margin-right: 4px;
		}
	</style>
	<body style="padding-bottom: 10px;">

		<div id="app">
			<div class="layui-carousel" id="swiper" :style='{"boxShadow":"0 0 0px rgba(255,0,0,.8)","margin":"0 auto","borderColor":"rgba(0,0,0,.3)","borderRadius":"0","borderWidth":"0","width":"100%","borderStyle":"solid"}'>
			  <div carousel-item id="swiper-item">
				<div v-for="(item,index) in swiperList" :key="index">
					<img style="width: 100%;height: 100%;object-fit:cover;" :src="item.img" />
				</div>
			  </div>
			</div>
			<div class="index-title" :style='{"padding":"10px","boxShadow":"0 0 0px rgba(255,0,0,.8)","margin":"10px auto","borderColor":"rgba(243, 186, 22, 1)","backgroundColor":"rgba(255, 255, 255, 1)","color":"rgba(243, 186, 22, 1)","borderRadius":"4px","borderWidth":"10px","fontSize":"20px","borderStyle":"solid","height":"80px"}'>
			  <span>NEWS / INFORMATION</span><span>公告通知</span>
			</div>

			<div class="news-container">
				<h1 class="title">{{detail.title}}</h1>
				<div class="auth-container">
					时间:{{detail.addtime}}
				</div>
				<div class="content" style="word-break: break-all;" v-html="detail.content">
				</div>

				<!-- <div class="bottom-container">
					<div class="title">
						本篇文章:{{detail.title}}
					</div>
					<div onclick="back()" class="btn">
						返回列表
					</div>
				</div> -->
				<div class="btn-container" :style='{"padding":"0 20px","boxShadow":"0 0 0px rgba(255,0,0,.8)","margin":"10px 0 20px 0","borderColor":"rgba(0,0,0,.3)","backgroundColor":"rgba(255, 255, 255, 0)","borderRadius":"4px","alignItems":"center","borderWidth":"0","borderStyle":"solid","justifyContent":"flex-end","height":"64px"}'>
					<div class="title" style="font-size: 18px;color:#999;">
						本篇文章:{{detail.title}}
					</div>
					<button :style='{"padding":"0 30px","boxShadow":"5px -5px 0px 0px rgba(243,151,0,1)","margin":"0 0 0 25px","borderColor":"#409EFF","backgroundColor":"rgba(255, 241, 174, 1)","color":"rgba(0, 0, 0, 1)","borderRadius":"4px","borderWidth":"0","width":"auto","fontSize":"14px","borderStyle":"solid","height":"35px"}' onclick="back()" type="button" class="layui-btn layui-btn-lg btn-theme">
						<i v-if="true" class="layui-icon">&#xe65c;</i> 返回列表
					</button>
				</div>
			</div>
		</div>

		<!-- layui -->
		<script src="../../layui/layui.js"></script>
		<!-- vue -->
		<script src="../../js/vue.js"></script>
		<!-- 组件配置信息 -->
		<script src="../../js/config.js"></script>
		<!-- 扩展插件配置信息 -->
		<script src="../../modules/config.js"></script>
		<!-- 工具方法 -->
		<script src="../../js/utils.js"></script>

		<script>
			var vue = new Vue({
				el: '#app',
				data: {
					// 轮播图
					swiperList: [{
						img: '../../img/banner.jpg'
					}],
					detail: {}
				},
				methods: {
					jump(url) {
						jump(url)
					}
				}
			})

			layui.use(['layer', 'element', 'carousel', 'laypage', 'http', 'jquery'], function() {
				var layer = layui.layer;
				var element = layui.element;
				var carousel = layui.carousel;
				var laypage = layui.laypage;
				var http = layui.http;
				var jquery = layui.jquery;

				var id = http.getParam('id');

				// 获取轮播图 数据
				http.request('config/list', 'get', {
					page: 1,
					limit: 5
				}, function(res) {
					if (res.data.list.length > 0) {
						var swiperItemHtml = '';
						for (let item of res.data.list) {
							if (item.name.indexOf('picture') >= 0 && item.value && item.value != "" && item.value != null) {
								swiperItemHtml +=
									'<div>' +
									'<img style="width: 100%;height: 100%;object-fit:cover;" class="swiper-item" src="' + http.baseurl+item.value + '">' +
									'</div>';
							}
						}
						jquery('#swiper-item').html(swiperItemHtml);
						// 轮播图
						vue.$nextTick(() => {
						  carousel.render({
						  	elem: '#swiper',
							width: '100%',
						  	height: '550px',
						  	arrow: 'hover',
						  	anim: 'default',
						  	autoplay: 'true',
						  	interval: '3000',
						  	indicator: 'inside'
						  });
						
						})
					}
				});

				// 详情信息
				http.request('news/detail/' + id, 'get', {}, function(res) {
					vue.detail = res.data
					vue.detail.content = vue.detail.content.replace(/<img/g,'<img style="width: 100%;"')
				});

			});
		</script>
	</body>
</html>

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐