Java项目:springboot大学生实习管理系统

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本系统的用户可以分为三种:管理员、教师、学生。三种角色登录后会有不同菜单界面;

管理员主要功能:

信息管理
学生信息管理、教师信息管理、生产实习信息管理、顶岗实习信息管理;
生产实习
生产实习申请、我的生产实习、我的成绩、我的申请
顶岗实习
顶岗实习申请、我的顶岗实习、我的成绩、我的申请
实习管理
生产实习管理
生产实习过程管理
生产实习成绩统计
顶岗实习审核
顶岗实习过程管理
顶岗实习成绩统计
分享
系统管理
用户管理
菜单管理
角色信息管理

教师主要功能:

信息管理
学生信息管理;
实习管理
生产实习审核
生产实习过程管理
生产实习成绩统计
顶岗实习审核
顶岗实习过程管理
顶岗实习成绩统计
分享
信息审核;
我的分享、讨论区;

学生主要功能:

生产实习:
生产实习申请;
我的生产实习;
我的成绩;
我的申请;
顶岗实习:
顶岗实习申请;
我的顶岗实习;
我的成绩;
我的申请;
分享:
我的分享;
讨论区;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

6.数据库:MySql 5.7版本;

技术栈

1.核心框架:Spring Boot。
2.安全框架:Apache Shiro。
3.模板引擎:Thymeleaf。
4.持久层框架:MyBatis。
5.定时任务:Quartz。
6.数据库连接池:Druid。
7.工具类:Fastjson。
8.前端:Thymeleaf+html+JQuery+bootstrap

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中ruoyi-admin/src/main/resources/application-druid.yml配置文件中的数据库配置改为自己的配置;
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4. 运行项目,输入localhost:8092 登录

运行截图

 

 

 

 

 

 

 

 

 

代码相关

在线用户检测控制器

@Controller
@RequestMapping("/monitor/online")
public class SysUserOnlineController extends BaseController
{
    private String prefix = "monitor/online";

    @Autowired
    private ISysUserOnlineService userOnlineService;

    @Autowired
    private OnlineSessionDAO onlineSessionDAO;

    @RequiresPermissions("monitor:online:view")
    @GetMapping()
    public String online()
    {
        return prefix + "/online";
    }

    @RequiresPermissions("monitor:online:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(SysUserOnline userOnline)
    {
        startPage();
        List<SysUserOnline> list = userOnlineService.selectUserOnlineList(userOnline);
        return getDataTable(list);
    }

    @RequiresPermissions("monitor:online:batchForceLogout")
    @Log(title = "在线用户", businessType = BusinessType.FORCE)
    @PostMapping("/batchForceLogout")
    @ResponseBody
    public AjaxResult batchForceLogout(@RequestParam("ids[]") String[] ids)
    {
        for (String sessionId : ids)
        {
            SysUserOnline online = userOnlineService.selectOnlineById(sessionId);
            if (online == null)
            {
                return error("用户已下线");
            }
            OnlineSession onlineSession = (OnlineSession) onlineSessionDAO.readSession(online.getSessionId());
            if (onlineSession == null)
            {
                return error("用户已下线");
            }
            if (sessionId.equals(ShiroUtils.getSessionId()))
            {
                return error("当前登陆用户无法强退");
            }
            onlineSession.setStatus(OnlineStatus.off_line);
            onlineSessionDAO.update(onlineSession);
            online.setStatus(OnlineStatus.off_line);
            userOnlineService.saveOnline(online);
        }
        return success();
    }

    @RequiresPermissions("monitor:online:forceLogout")
    @Log(title = "在线用户", businessType = BusinessType.FORCE)
    @PostMapping("/forceLogout")
    @ResponseBody
    public AjaxResult forceLogout(String sessionId)
    {
        SysUserOnline online = userOnlineService.selectOnlineById(sessionId);
        if (sessionId.equals(ShiroUtils.getSessionId()))
        {
            return error("当前登陆用户无法强退");
        }
        if (online == null)
        {
            return error("用户已下线");
        }
        OnlineSession onlineSession = (OnlineSession) onlineSessionDAO.readSession(online.getSessionId());
        if (onlineSession == null)
        {
            return error("用户已下线");
        }
        onlineSession.setStatus(OnlineStatus.off_line);
        onlineSessionDAO.update(onlineSession);
        online.setStatus(OnlineStatus.off_line);
        userOnlineService.saveOnline(online);
        return success();
    }
}

数据源切换

/**
 * 数据源切换处理
 * 
 * @author ruoyi
 */
public class DynamicDataSourceContextHolder
{
    public static final Logger log = LoggerFactory.getLogger(DynamicDataSourceContextHolder.class);

    /**
     * 使用ThreadLocal维护变量,ThreadLocal为每个使用该变量的线程提供独立的变量副本,
     *  所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。
     */
    private static final ThreadLocal<String> CONTEXT_HOLDER = new ThreadLocal<>();

    /**
     * 设置数据源的变量
     */
    public static void setDataSourceType(String dsType)
    {
        log.info("切换到{}数据源", dsType);
        CONTEXT_HOLDER.set(dsType);
    }

    /**
     * 获得数据源的变量
     */
    public static String getDataSourceType()
    {
        return CONTEXT_HOLDER.get();
    }

    /**
     * 清空数据源变量
     */
    public static void clearDataSourceType()
    {
        CONTEXT_HOLDER.remove();
    }
}

如果也想学习本系统,下面领取。回复:007springboot 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、项目简介 本项目是一套基于JavaWeb的学生实习管理系统/学生实训管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:JSP、Servlet、JDBC ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该学生实习管理系统采用B/S结构,使用JAVA开发语言,结合JSP技术,以MySQL作为后台数据库。 该系统共包含三种角色:学生、老师、管理员等,每种角色分别有不同的功能模块。管理员可以管理班级、学生、老师等基本信息;学生可以管理个人实习日志及实习反馈信息;老师可以对学生的实习情况进行评价。 各角色的具体功能如下: 1.学生 实习日志管理模块:学生通过该模块管理个人实习日志信息,包括实习日志的添加、查看操作。 实习反馈管理模块:学生通过该模块管理个人实习反馈信息,包括实习反馈的添加、查看操作 2.老师 实习评价管理模块:老师通过该模块管理学生实习评价信息,包括评价信息的添加、查看操作 3.管理员 班级信息管理模块:管理员通过该模块管理班级信息,包括班级信息添加、查询、删除等操作。 学生信息管理模块:管理员通过该模块管理学生信息,包括学生信息添加、查询、删除等操作。 老师信息管理模块:管理员通过该模块管理老师信息,包括老师信息添加、查询、删除等操作。 通知信息管理模块:管理员通过该模块管理通告信息,包括通告信息添加、查询、删除等操作。 实习信息管理模块:管理员通过该模块管理学生实习信息,包括学生实习信息添加、查询、删除等操作。 修改个人密码:管理员登录系统,可以修改自己的登录密码。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
界面美工:非常美观 商品类型:商业产品 面世时间:2010年 适用操作系统:跨平台 开发语言:Java/Jsp 数据库类型:Mysql 是否加密:无加密 软件大小(多少M)直接填写:30M 最新版本号(直接填写):1.5 开发商类型:团队 演示di址:http://www.51code.tk/dgsx/ 技术支持QQ:654079168 背景 教育部在《关于全面提高高等职业教育教学质量的若干意见》(教高[2006]16号文)中要求:高等职业院校要保证在校生至少有半年时间到企业等用人单位顶岗实习。校企合作是高职院校的办学方向,工学结合人才培养是校企合作的重要形式,顶岗实习是工学结合的重要内容,加强顶岗实习管理与过程监控 ,对于提高高职院校的人才培养质量具有重要的意义。 功能模块 为了更好的推进顶岗实习的工作,推动学校、企业与学生之间的互动性,我们针对多所职业院校进行了深入考察和调研,并结合学生、学校以及相关企业的需求,开发一套分布式顶岗实习教学管理平台。此平台分为五种类型进行登陆,分别为就业指导中心(超级管理员)、学校领导、管理教师、企业负责人和学生。 1、顶岗实习管理系统功能模块概述 ² 系统公共资源模块 管理员可在本模块中发布相关单位用人信息,发布院系通知以及院系新闻动态,管理员在这里可以及时的向在企业实习的学生、指导教师提供及时有效的学院动态、最新通知公告以及企业的最新用人信息。学生登陆系统,在该模块,可以在工作的同时了解学校的情况,了解就业动向以及学校在不同阶段对实习学生的不同要求。 ² 院系、专业、班级、班级班主任以及学生管理模块 该板块在顶岗实习管理系统前期初始化系统时就应该由管理员导入即将实习年级的基本信息,包括院系、专业、班级、设定班级班主任、批量导入实习学生的基本信息,为顶岗实习管理系统有条不紊的运行做好铺垫工作。此模块主要是为管理员提供一个顶岗实习管理系统中各个院系、专业、班级、班主任以及学生基本信息管理的平台,管理员通过这个模块,对不同的年级的顶岗实习进行有效的初始化。 ² 学生顶岗企业信息管理模块 学生在企业顶岗实习期间,需要将企业的相关信息反馈回学校。学生将企业的名称,性质,企业中的指导老师,企业的规模等信息通过顶岗实习管理系统提交到学校数据库汇总,以便对不同专业的学生进行就业信息的分析,包括就业地域性,就业企业的性质,就业岗位的需求程度等,为学校今后的发展提供良好的基础。另外,管理员通过该模块,可以动态增删学生实习单位,为下一批实习学生,提供更多可靠、稳定、有效的实习单位以供其选择申请实习。 ² 站内交流模块 该板块是顶岗实习管理系统内部的互动板块,主要针对学生与指导教师的交流问题,学生在实习过程中遇到问题可以当场向指导教师提出疑问,如果不方便当场提问,实习学生就可以通过本模块向指导教师发送信件,以站内信的形式向指导教师提问。指导教师通过本模块可以及时了解指导学生在实习过程中遇到的各种问题,可以对学生的提问作出相应的答复,回复学生提问,同时,指导老师也可以通过提问的方式定期检查学生在企业实习的情况,更好的管理学生各方面的行为。 ² 学生实习报告模块 学生需要在规定的时间段内完成一次顶岗实习报告,记录学生在企业的工作经历。此子系统可有效的督促学生定期完成实习报告。老师可通过网络直接批阅学生的实习报告,掌握学生在企业中的实习情况,并提出进一步的要求。另外,管理员以及班主任可以针对不同阶段的月报进行有选择的批量输出打印,作出汇总评价。 ² 学生成绩管理模块 学生完成顶岗实习的工作后,需要将自身工作体会及感受进行总结,完成顶岗实习总结,最终提交实习论文。教师根据学生的实习情况进行评定成绩,并能够将学生的总结和最后成绩进行筛选打印,以便学院存档。学生也可以通过网络查询自己的成绩(实习月报总成绩和实习论文成绩)。 ² 顶岗实习信息综合查询模块 这个模块主要是方便教学部门(如系部,教务处、就业指导中心等)对相关系统进行查询,在这个系统中,包含学生所有信息的查询,查询方式也要求多样化,如指定班级、姓名或学号等,同时还要求能够进行模糊查询等方式。这样,各部门能够通过网络查询到学生在企业实习的情况,能够对学生起到有效的监督和管理作用。 ² 综合统计模块 这一模块不仅能够统计学生顶岗实习的信息,同时还对相关信息进行分类汇总,统计出顶岗实习单位地域的分布情况,企业对人才,专业知识不同需求的分布情况;顶岗实习不仅对学生有要求,并且对教师也有要求。教师对学生管理和指导的程度直接影响学生顶岗实习效果的好坏,所以对指导教师的管理也是非常必要的。通过统计模块能够统计学生与教师交流的情况,以及是否定期批阅了学生的实习小结以及班主任、指导教师主动联系学生次数的统计等信息。 2、顶岗实习管理系统角色分配概述 ² 管理员 管理员拥有系统的最高权限,可以增加或删除系统的任何其他角色, 并可对角色的权限和实习管理的流程进行设定,可以查看管理员列表、添加管理员、添加学校领导、修改登陆密码、管理专业信息、管理学生实习单位、学生信息管理、批量导入学生、归类查看学生列表、智能搜索特定学生、管理教师角色(班主任、学院指导教师、企业指导教师、企业负责人)、分类查看教师信息、智能搜索查看教师信息、管理实习月报系统、管理学生实习手续、管理企业提交需求信息、管理调查问卷系统、管理数据库备份系统、管理系统公告等。 ² 学校领导 学校领导具有管理员所有的浏览权限,但不具有系统控制权限,不再重复介绍,分析见管理员。 ² 企业负责人 企业负责人是学生实习企业的负责人,发布企业用人信息、负责向学生介绍企业相关情况、浏览所在企业实习学生列表以及实习学生基本信息、评价实习学生所有实习情况、修改个人登陆密码、修改个人基本信息(Email、联系电话、QQ等)、上传个人头像等。 ² 企业指导教师 企业指导教师负责实习学生日常实习的指导、浏览其所指导学生的基本信息、为指导学生日常实习表现打分、修改个人登陆密码、修改个人基本信息(Email、联系电话、QQ等)、上传个人头像等。 ² 学院指导教师 学院指导教师主要负责指导学生的论文评价,具有修改个人登录密码,修改个人基本信息(Email、联系电话、QQ等)、上传个人头像、对学生进行专业指导、给指导学生提交的论文评分并作出评价等。 ² 班主任 班主任即班级管理员,权限仅限于当前管理班级,具有修改个人登录密码,修改个人基本信息(Email、联系电话、QQ等)、上传个人头像、查看所在班级信息、查看班级学生成员列表及学生信息、给学生发站内信、修改本班学生密码、管理班级学生实习月报、管理本班学生实习手续(首次、变更)等。 ² 学生 学生是本管理系统的主题角色,具有修改个人登录密码,修改个人基本信息(Email、联系电话、家庭联系电话、QQ等)、上传个人头像功能模块、申请实习单位、填写实习月报、查看自己的实习月报、查看月报成绩以及月报总成绩、提交论文、查看论文成绩、浏览所在班级成员、浏览指导教师和班主任的联系方式、给指导教师及班主任发站内信、查看企业指导教师对自己的日常评定、查看实习单位负责人对自己最终实习鉴定、填写系统调查问卷、浏览系统公共资源(通知公告、新闻动态、规章制度、招聘信息、表格下载、实习论坛、看看学院等信息)等功能。 程序部分界面演示 1、管理登陆 2、内部页面 3、新闻发布系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值