Java项目:学生成绩管理(java+SpringBoot+maven+mysql)

Posted qq_1334611189

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目:学生成绩管理(java+SpringBoot+maven+mysql)相关的知识,希望对你有一定的参考价值。

使用框架SpringBoot+Mybatis 发布每日会员绩效管理系统

项目功能有:教师端:学生管理、成绩管理、学生总成绩查询

学生端:学生信息管理、成绩查询、总成绩查询

运行环境:windows/Linux内核、jdk1.8、mysql5.7、idea/eclipsejava。

 

 

 

 

系统用户控制层:

/**
 * 系统用户
 *
 */
@RestController
@RequestMapping("/sys/user")
public class SysUserController extends AbstractController 
	@Autowired
	private SysUserService sysUserService;
	@Autowired
	private SysUserRoleService sysUserRoleService;
	
	/**
	 * 所有用户列表
	 */
	@RequestMapping("/list")
	@RequiresPermissions("sys:user:list")
	public R list(@RequestParam Map<String, Object> params)
		PageUtils page = sysUserService.queryPage(params);

		return R.ok().put("page", page);
	
	
	/**
	 * 获取登录的用户信息
	 */
	@RequestMapping("/info")
	public R info()
		return R.ok().put("user", getUser());
	
	
	/**
	 * 修改登录用户密码
	 */
	@SysLog("修改密码")
	@RequestMapping("/password")
	public R password(String password, String newPassword)
		Assert.isBlank(newPassword, "新密码不为能空");

		//原密码
		password = ShiroUtils.sha256(password, getUser().getSalt());
		//新密码
		newPassword = ShiroUtils.sha256(newPassword, getUser().getSalt());
				
		//更新密码
		boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword);
		if(!flag)
			return R.error("原密码不正确");
		
		
		return R.ok();
	
	
	/**
	 * 用户信息
	 */
	@RequestMapping("/info/userId")
	@RequiresPermissions("sys:user:info")
	public R info(@PathVariable("userId") Long userId)
		SysUserEntity user = sysUserService.getById(userId);
		
		//获取用户所属的角色列表
		List<Long> roleIdList = sysUserRoleService.queryRoleIdList(userId);
		user.setRoleIdList(roleIdList);
		
		return R.ok().put("user", user);
	
	
	/**
	 * 保存用户
	 */
	@SysLog("保存用户")
	@RequestMapping("/save")
	@RequiresPermissions("sys:user:save")
	public R save(@RequestBody SysUserEntity user)
		ValidatorUtils.validateEntity(user, AddGroup.class);
		
		sysUserService.saveUser(user);
		
		return R.ok();
	
	
	/**
	 * 修改用户
	 */
	@SysLog("修改用户")
	@RequestMapping("/update")
	@RequiresPermissions("sys:user:update")
	public R update(@RequestBody SysUserEntity user)
		ValidatorUtils.validateEntity(user, UpdateGroup.class);

		sysUserService.update(user);
		
		return R.ok();
	
	
	/**
	 * 删除用户
	 */
	@SysLog("删除用户")
	@RequestMapping("/delete")
	@RequiresPermissions("sys:user:delete")
	public R delete(@RequestBody Long[] userIds)
		if(ArrayUtils.contains(userIds, 1L))
			return R.error("系统管理员不能删除");
		
		
		if(ArrayUtils.contains(userIds, getUserId()))
			return R.error("当前用户不能删除");
		

		sysUserService.removeByIds(Arrays.asList(userIds));
		
		return R.ok();
	

角色管理控制层:

/**
 * 角色管理
 *
 */
@RestController
@RequestMapping("/sys/role")
public class SysRoleController extends AbstractController 
	@Autowired
	private SysRoleService sysRoleService;
	@Autowired
	private SysRoleMenuService sysRoleMenuService;
	@Autowired
	private SysRoleDeptService sysRoleDeptService;
	
	/**
	 * 角色列表
	 */
	@RequestMapping("/list")
	@RequiresPermissions("sys:role:list")
	public R list(@RequestParam Map<String, Object> params)
		PageUtils page = sysRoleService.queryPage(params);

		return R.ok().put("page", page);
	
	
	/**
	 * 角色列表
	 */
	@RequestMapping("/select")
	@RequiresPermissions("sys:role:select")
	public R select()
		List<SysRoleEntity> list = sysRoleService.list();
		
		return R.ok().put("list", list);
	
	
	/**
	 * 角色信息
	 */
	@RequestMapping("/info/roleId")
	@RequiresPermissions("sys:role:info")
	public R info(@PathVariable("roleId") Long roleId)
		SysRoleEntity role = sysRoleService.getById(roleId);
		
		//查询角色对应的菜单
		List<Long> menuIdList = sysRoleMenuService.queryMenuIdList(roleId);
		role.setMenuIdList(menuIdList);

		//查询角色对应的部门
		List<Long> deptIdList = sysRoleDeptService.queryDeptIdList(new Long[]roleId);
		role.setDeptIdList(deptIdList);
		
		return R.ok().put("role", role);
	
	
	/**
	 * 保存角色
	 */
	@SysLog("保存角色")
	@RequestMapping("/save")
	@RequiresPermissions("sys:role:save")
	public R save(@RequestBody SysRoleEntity role)
		ValidatorUtils.validateEntity(role);
		
		sysRoleService.saveRole(role);
		
		return R.ok();
	
	
	/**
	 * 修改角色
	 */
	@SysLog("修改角色")
	@RequestMapping("/update")
	@RequiresPermissions("sys:role:update")
	public R update(@RequestBody SysRoleEntity role)
		ValidatorUtils.validateEntity(role);
		
		sysRoleService.update(role);
		
		return R.ok();
	
	
	/**
	 * 删除角色
	 */
	@SysLog("删除角色")
	@RequestMapping("/delete")
	@RequiresPermissions("sys:role:delete")
	public R delete(@RequestBody Long[] roleIds)
		sysRoleService.deleteBatch(roleIds);
		
		return R.ok();
	

登录相关控制层:

/**
 * 登录相关
 *
 */
@Controller
public class SysLoginController 
	@Autowired
	private Producer producer;
	
	@RequestMapping("captcha.jpg")
	public void captcha(HttpServletResponse response)throws IOException 
        response.setHeader("Cache-Control", "no-store, no-cache");
        response.setContentType("image/jpeg");

        //生成文字验证码
        String text = producer.createText();
        //生成图片验证码
        BufferedImage image = producer.createImage(text);
        //保存到shiro session
        ShiroUtils.setSessionAttribute(Constants.KAPTCHA_SESSION_KEY, text);
        
        ServletOutputStream out = response.getOutputStream();
        ImageIO.write(image, "jpg", out);
	
	
	/**
	 * 登录
	 */
	@ResponseBody
	@RequestMapping(value = "/sys/login", method = RequestMethod.POST)
	public R login(String username, String password, String captcha) 
		String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY);
		if(!captcha.equalsIgnoreCase(kaptcha))
			return R.error("验证码不正确");
		
		
		try
			Subject subject = ShiroUtils.getSubject();
			UsernamePasswordToken token = new UsernamePasswordToken(username, password);//md5+Jiayan
			subject.login(token);
		catch (UnknownAccountException e) 
			return R.error(e.getMessage());
		catch (IncorrectCredentialsException e) 
			return R.error("账号或密码不正确");
		catch (LockedAccountException e) 
			return R.error("账号已被锁定,请联系管理员");
		catch (AuthenticationException e) 
			return R.error("账户验证失败");
		
	    
		return R.ok();
	
	
	/**
	 * 退出
	 */
	@RequestMapping(value = "logout", method = RequestMethod.GET)
	public String logout() 
		ShiroUtils.logout();
		return "redirect:login.html";
	
	

以上是关于Java项目:学生成绩管理(java+SpringBoot+maven+mysql)的主要内容,如果未能解决你的问题,请参考以下文章

基于jsp+mysql+mybatis+Spring boot简单学生成绩信息管理系统

用java做一个学生成绩管理系统需要哪些技术?

用java做一个学生成绩管理系统 需要哪些技术

Java+JSP基于ssm高校学生成绩管理系统

Java课程设计--学生成绩管理系统

基于java eclipse+jsp+mysql+servlet+Spring的学生信息管理系统基础版建议收藏