当前位置: 首页 > article >正文

Java项目-基于Springboot的招生管理系统项目(源码+说明).zip

作者:计算机学长阿伟
开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。

开发运行环境

  • 开发语言:Java
  • 数据库:MySQL
  • 技术:SpringBoot、Vue、Mybaits Plus、ELementUI
  • 工具:IDEA/Ecilpse、Navicat、Maven

源码下载地址:

https://download.csdn.net/download/weixin_53180424/89899545

文档目录

【如需全文请按文末获取联系】

一、项目简介

        本项目为招生管理系统,旨在提供一站式的招生信息管理和服务。系统采用简洁明了的线条设计,背景为白色,底部功能列表清晰易读。系统主要功能包括首页展示、专业信息查询、招生公告发布、个人中心设置以及后台管理。用户可以通过该系统轻松了解招生信息、查询专业详情、查看招生公告,并可在个人中心进行个性化设置。同时,后台管理功能为管理员提供了便捷的信息维护和管理途径。整个系统操作简便,界面友好,为用户提供高效、便捷的招生信息服务。

二、系统设计

2.1软件功能模块设计

2.2数据库设计

专业信息实体图如图4-1所示:

                                                                图4-1专业信息实体图

个人中心实体图如图4-2所示:

图4-2个人中心实体图

三、系统项目部分截图

3.1后台系统部分页面效果

3.1.1管理员功能模块

管理员登录,在系统首页通过填写用户名、密码选择角色进行操作,登录后就可以使用了,如图5-5所示。

图5-5管理员登录界面图

管理员登录系统后,可以对首页、个人中心、学生管理、专业信息管理、专业报名管理、录取通知管理、系统管理等功能模块进行相应操作,如图5-6所示。

图5-6管理员功能界面图

学生管理,在学生管理页面可以对索引、学号、姓名、性别、头像、手机等内容进行修改或删除等操作,如图5-7所示。

图5-7学生管理界面图

专业信息管理,在专业信息管理页面可以对索引、学校名称、专业名称、专业类别、图片、招录人数、招录状态等内容进行详情、修改或删除等操作,,如图5-8所示。

图5-8专业信息管理界面图

专业报名管理,在专业报名管理页面可以对索引、学校名称、专业名称、报名资料、报名时间、学号、姓名、手机、审核回复、审核状态、审核等内容进行详情、通知、修改或删除等操作,如图5-9所示。

图5-9专业报名管理界面图

3.1.2学生功能模块
进入学生系统首页可以查看首页、个人中心、专业报名管理、录取通知管理等内容进行详细的操作,如图5-12所示。

                                                          图5-12学生功能界面图

专业报名管理,在专业报名管理页面可以对索引、学校名称、专业名称、报名资料、报名时间、学号、姓名、手机、审核回复、审核状态等内容进行详情或删除等操作,如图5-13所示。

图5-13专业报名管理界面图

录取通知管理,在录取通知管理页面可以对索引、学校名称、专业名称、学号、姓名、手机、通知时间、录取结果等内容进行详情等操作,如图5-14所示。

图5-14录取通知管理界面图

3.2前台系统部分页面效果

生管理系统,在系统首页可以查看首页、专业信息、招生公告、个人中心、后台管理等内容进行详细操作,如图5-1所示。

图5-1系统首页界面图

学生注册,在学生注册页面通过填写学号、密码、确认密码、姓名、手机等内容进行注册等操作,如图5-2所示。

图5-2学生注册界面图

专业信息,在专业信息页面可以查看学校名称、专业类别、招录人数、招录要求、招录状态等内容进行报名等操作,如图5-3所示。图5-3专业信息界面图

个人中心,在个人中心页面通过填写个人中心,学号、密码、 姓名、性别、图片、手机等内容进行更新信息等操作,如图5-4所示。图5-4个人中心界面图

四、部分核心代码

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@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/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		/**
  		 * 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开
   		 * 请将以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径,
 		 * 并且项目路径不能存在中文、空格等特殊字符
 		 */
//		FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/
		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);
	}
	
}

获取源码或文档

如需对应的论文或文档,以及其他定制需求,也可以下方添加联系我。


http://www.kler.cn/news/356134.html

相关文章:

  • 网络变压器在PCIe网口应用的案例
  • 《师兄啊师兄》:家国大义,不忘初心
  • Java项目-基于springboot框架的智能热度分析和自媒体推送平台项目实战(附源码+文档)
  • C++:priority_queue优先队列
  • Spring Boot视频网站:构建高性能的视频服务
  • ASO优化手机游戏的秘密功能
  • Ubuntu安装运行 xx.AppImage 文件
  • KCC@广州活动预告:开源共融,粤创未来
  • 基于SpringBoot+Vue+uniapp的涪陵区特色农产品交易系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • Linux 系统常用命令
  • 鸿蒙-键盘弹出时 promptAction.showToast 被遮盖
  • KubeSphere部署Elasticsearch+Kibana
  • vulnhub(15):lemonsqueezy(hydra爆破、计划任务提权)
  • Vue是一套构建用户界面的渐进式框架,常用于构建单页面应用
  • OpenCV高级图形用户界面(7)获取指定窗口的属性值函数getWindowProperty()的使用
  • 十二、结构型(代理模式)
  • 雷达液位计在污水测量中的应用与优势
  • sentinel原理源码分析系列(四)-ContextEntry
  • Python爬虫进阶:高效数据采集的艺术
  • MySQL-10.DML-添加数据insert