基于java+ssm+vue的大学学生成长系统

本文详细介绍了基于Java技术、SSM框架和B/S结构开发的阜阳师范大学学生成长系统。系统采用MySQL数据库存储数据,确保稳定性和安全性。系统主要包含管理员、教师和学生三大功能模块,提供用户友好的界面,支持学生信息管理、课程管理、教师信息管理和学校信息管理等功能。此外,还展示了登录、学生管理、主界面等关键界面的实现细节。
摘要由CSDN通过智能技术生成

项目介绍

随着互联网技术的发展,各类网站应运而生,网站具有新颖、展现全面的特点。因此,为了满足阜阳师范大学学生成长管理的需求,特开发了本阜阳师范大学学生成长系统。

本阜阳师范大学学生成长系统采用Java技术,基于SSM框架、B/S结构进行开发,同时使用MYSQL数据库进行数据的储存,充分保证系统的稳定性、安全性。本文首先探讨本课题所研究的背景及设计原则,然后介绍了阜阳师范大学学生成长系统的开发环境,接着结合实际情况,分析系统的可行性以及需求,其后对系统进行设计,最后实现了一套阜阳师范大学学生成长系统。本系统提供了良好的用户界面,实现了管理员模块、老师功能模块以及学生功能模块三大部分,满足了不同用户的操作需求。

本阜阳师范大学学生成长系统界面布局合理,操作简单,符合当今社会的发展趋势。

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net

系统实现

5.1登录界面的实现
用户在登录界面可输入用户名和密码,选择登录类型,点击登录按钮进行登录系统,系统登录界面如图5-1所示
在这里插入图片描述

图5-1 系统登录界面

5.2学生管理界面的实现
管理员可增删改查学生信息,学生管理界面如图5-2所示,添加学生界面展示如图5-3所示。
在这里插入图片描述

图5-2 学生管理界面
在这里插入图片描述

图5-3 添加学生界面

5.3系统主界面的实现
用户在系统前台可查看系统信息,包括首页、网课课程、学校信息、广告信息以及学校公告等,系统主界面展示如图5-4所示。
在这里插入图片描述

图5-4 系统主界面

5.4老师管理界面的实现
管理员可增删改查老师信息,老师管理界面展示如图5-5所示。
在这里插入图片描述

图5-5 老师管理界面

5.5网课课程管理界面的实现
老师登录后可添加网课课程信息,管理员可审核、修改和删除网课课程信息,学生可查看网课课程信息,并可选课,添加网课课程界面展示如图5-6所示,网课课程管理界面展示如图5-7所示,网课课程详情界面展示如图5-8所示。
在这里插入图片描述

图5-6 添加网课课程界面
在这里插入图片描述

图5-7 网课课程管理界面
在这里插入图片描述

图5-8 网课课程详情界面

5.6学校信息管理界面的实现
管理员可增删改查学校信息,学校信息管理界面如图5-9所示。
在这里插入图片描述

图5-9 学校信息管理界面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.KechengbiaoEntity;
import com.entity.view.KechengbiaoView;

import com.service.KechengbiaoService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 课程表
 * 后端接口
 * @author
 * @email
 * @date
 */
@RestController
@RequestMapping("/kechengbiao")
public class KechengbiaoController {
    @Autowired
    private KechengbiaoService kechengbiaoService;



    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,KechengbiaoEntity kechengbiao,
		HttpServletRequest request){

        EntityWrapper<KechengbiaoEntity> ew = new EntityWrapper<KechengbiaoEntity>();
		PageUtils page = kechengbiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengbiao), params), params));
        return R.ok().put("data", page);
    }

    /**
     * 前端列表
     */
    @RequestMapping("st")
    public R list(@RequestParam Map<String, Object> params,KechengbiaoEntity kechengbiao,
		HttpServletRequest request){
        EntityWrapper<KechengbiaoEntity> ew = new EntityWrapper<KechengbiaoEntity>();
		PageUtils page = kechengbiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengbiao), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("sts")
    public R list( KechengbiaoEntity kechengbiao){
       	EntityWrapper<KechengbiaoEntity> ew = new EntityWrapper<KechengbiaoEntity>();
      	ew.allEq(MPUtil.allEQMapPre( kechengbiao, "kechengbiao"));
        return R.ok().put("data", kechengbiaoService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(KechengbiaoEntity kechengbiao){
        EntityWrapper< KechengbiaoEntity> ew = new EntityWrapper< KechengbiaoEntity>();
 		ew.allEq(MPUtil.allEQMapPre( kechengbiao, "kechengbiao"));
		KechengbiaoView kechengbiaoView =  kechengbiaoService.selectView(ew);
		return R.ok("查询课程表成功").put("data", kechengbiaoView);
    }

    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        KechengbiaoEntity kechengbiao = kechengbiaoService.selectById(id);
        return R.ok().put("data", kechengbiao);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        KechengbiaoEntity kechengbiao = kechengbiaoService.selectById(id);
        return R.ok().put("data", kechengbiao);
    }




    /**
     * 后端保存
     */
    @RequestMapping("ve")
    public R save(@RequestBody KechengbiaoEntity kechengbiao, HttpServletRequest request){
    	kechengbiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(kechengbiao);

        kechengbiaoService.insert(kechengbiao);
        return R.ok();
    }

    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody KechengbiaoEntity kechengbiao, HttpServletRequest request){
    	kechengbiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(kechengbiao);

        kechengbiaoService.insert(kechengbiao);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody KechengbiaoEntity kechengbiao, HttpServletRequest request){
        //ValidatorUtils.validateEntity(kechengbiao);
        kechengbiaoService.updateById(kechengbiao);//全部更新
        return R.ok();
    }


    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        kechengbiaoService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);

		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}

		Wrapper<KechengbiaoEntity> wrapper = new EntityWrapper<KechengbiaoEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = kechengbiaoService.selectCount(wrapper);
		return R.ok().put("count", count);
	}



}

论文参考

在这里插入图片描述

目 录
摘 要 I
Abstract II
1 绪论 1
1.1研究背景 1
1.2设计原则 1
1.3研究内容 2
2 系统关键技术 3
2.1 Java技术 3
2.2 MYSQL数据库 3
2.3 B/S结构 4
2.4 SSM框架 4
3 系统分析 6
3.1可行性分析 6
3.1.1 技术可行性 6
3.1.2 操作可行性 6
3.1.3 经济可行性 6
3.1.4 法律可行性 6
3.2系统性能分析 7
3.2.1 系统安全性 7
3.2.2 数据完整性 7
3.2.3系统可扩展性 7
3.3系统功能分析 7
3.4系统流程分析 8
3.4.1 登录流程 8
3.4.2添加信息流程 8
3.4.3删除信息流程 9
4 系统设计 10
4.1系统概要设计 10
4.2系统结构设计 10
4.3数据库设计 11
4.3.1数据库E-R图设计 11
4.3.2数据库表设计 13
5 系统的实现 16
5.1登录界面的实现 16
5.2学生管理界面的实现 16
5.3系统主界面的实现 17
5.4老师管理界面的实现 18
5.5网课课程管理界面的实现 18
5.6学校信息管理界面的实现 20
6 系统测试 21
6.1测试目的 21
6.2测试方案 21
6.3测试方法 22
6.4测试分析 22
总 结 23
谢 辞 24
参考文献 25

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值