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

管理员主要功能:

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

教师主要功能:

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

学生主要功能:

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

环境需要
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 登录






适用

课程设计,大作业,毕业设计,项目练习,学习演示等

        //如果stuInfoListResponse.getNumOfTotalRecord() < 0 ,则表明输入类型和预期不符且发生异常,则返回错误return queryStuInfoListResponse.getNumOfTotalRecord() < 0 ?HttpResponse.error("输入信息类型错误!") : HttpResponse.success(queryStuInfoListResponse);}/*** 添加学生信息* */@PostMapping("/add")public HttpResponse addStudentInfo(@RequestBody StuInfo stuInfo){String res = iStuInfoService.addStudentInfo(stuInfo);//返回信息的长度大于0,则表示有错误或有提示信息return res.length() > 0 ? HttpResponse.error(res) : HttpResponse.success("成功插入一条记录") ;}/**
    /*** 编辑学生性别或手机号信息* */@PostMapping("/edit")public HttpResponse editStudentSexOrPhoneInfo(@RequestBody StuInfo stuInfo){return HttpResponse.success(iStuInfoService.editStudentInfo(stuInfo));}/*** 根据学号删除学生信息* */@DeleteMapping("/delete")public HttpResponse deleteStudentInfoByNumber(@RequestBody StuInfo stuInfo){return HttpResponse.success(iStuInfoService.deleteStudentInfo(stuInfo));}/*** 修改学生违纪状态* */
    public HttpResponse addTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){String res = iStuTeacherInfoService.addTeacherInfosList(stuTeacherInfo);return res == null ? HttpResponse.success() : HttpResponse.error(res) ;}@PostMapping("/edit")public HttpResponse editTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){return HttpResponse.success(iStuTeacherInfoService.editTeacherInfosList(stuTeacherInfo));}@DeleteMapping("/del")public HttpResponse delTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){return HttpResponse.success(iStuTeacherInfoService.delTeacherInfosList(stuTeacherInfo));}@GetMapping("/remove-course-teacher")public HttpResponse delCourse(@RequestParam("teacherId") Integer teacherId){return HttpResponse.success(iStuTeacherInfoService.setCourseTeacherById(teacherId,-1));}@GetMapping("/get-no-course")public HttpResponse getAllTeacherInfosListNoCourse(){return HttpResponse.success(iStuTeacherInfoService.getAllTeacherInfosListNoCourse());}
    @PostMapping("/edit")public HttpResponse editUser(@RequestBody StuUser stuUser){return HttpResponse.success(iStuUserService.editUser(stuUser));}@DeleteMapping("/del")public HttpResponse delUser(@RequestBody StuUser stuUser){return HttpResponse.success(iStuUserService.deleteUser(stuUser));}/*** 验证码*/@GetMapping("/captcha.jpg")public void captcha(HttpServletResponse response, HttpServletRequest request) throws IOException {response.setHeader("Cache-Control", "no-store, no-cache");response.setContentType("image/jpeg");// 生成文字验证码String text = producer.createText();// 生成图片验证码BufferedImage image = producer.createImage(text);// 保存到验证码到 sessionrequest.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, text);ServletOutputStream out = response.getOutputStream();ImageIO.write(image, "jpg", out);IOUtils.closeQuietly(out);}
        String res = iStuInfoService.addStudentInfo(stuInfo);//返回信息的长度大于0,则表示有错误或有提示信息return res.length() > 0 ? HttpResponse.error(res) : HttpResponse.success("成功插入一条记录") ;}/*** 编辑学生性别或手机号信息* */@PostMapping("/edit")public HttpResponse editStudentSexOrPhoneInfo(@RequestBody StuInfo stuInfo){return HttpResponse.success(iStuInfoService.editStudentInfo(stuInfo));}/*** 根据学号删除学生信息* */@DeleteMapping("/delete")public HttpResponse deleteStudentInfoByNumber(@RequestBody StuInfo stuInfo){
        String password = loginRequest.getPassword();
//        String captcha = loginBean.getCaptcha();// 从session中获取之前保存的验证码跟前台传来的验证码进行匹配
//        Object kaptcha = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
//        if(kaptcha == null){//            return HttpResult.error("验证码已失效");
//        }
//        if(!captcha.equals(kaptcha)){//            return HttpResult.error("验证码不正确");
//        }
//        // 用户信息
//        System.out.println(username+"|"+password+"|"+captcha+" ");StuUser user = iStuUserService.findByName(username);// 账号不存在、密码错误if (user == null) {return HttpResponse.error("账号不存在");}if (!PasswordUtils.matches(user.getSalt(), password, user.getPassword())) {return HttpResponse.error("密码不正确");
    public HttpResponse login(@RequestBody LoginRequest loginRequest, HttpServletRequest request) throws IOException {String username = loginRequest.getAccount();String password = loginRequest.getPassword();
//        String captcha = loginBean.getCaptcha();// 从session中获取之前保存的验证码跟前台传来的验证码进行匹配
//        Object kaptcha = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
//        if(kaptcha == null){//            return HttpResult.error("验证码已失效");
//        }
//        if(!captcha.equals(kaptcha)){//            return HttpResult.error("验证码不正确");
//        }
//        // 用户信息
//        System.out.println(username+"|"+password+"|"+captcha+" ");StuUser user = iStuUserService.findByName(username);// 账号不存在、密码错误if (user == null) {return HttpResponse.error("账号不存在");}if (!PasswordUtils.matches(user.getSalt(), password, user.getPassword())) {
    @GetMapping("/get")public HttpResponse getTeacherInfosList(NormalQueryInfo normalQueryInfo){return HttpResponse.success(iStuTeacherInfoService.getTeacherInfosList(normalQueryInfo));}@PostMapping("/add")public HttpResponse addTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){String res = iStuTeacherInfoService.addTeacherInfosList(stuTeacherInfo);return res == null ? HttpResponse.success() : HttpResponse.error(res) ;}@PostMapping("/edit")public HttpResponse editTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){return HttpResponse.success(iStuTeacherInfoService.editTeacherInfosList(stuTeacherInfo));}@DeleteMapping("/del")public HttpResponse delTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){return HttpResponse.success(iStuTeacherInfoService.delTeacherInfosList(stuTeacherInfo));}@GetMapping("/remove-course-teacher")public HttpResponse delCourse(@RequestParam("teacherId") Integer teacherId){
        return HttpResponse.success(iStuTeacherInfoService.getTeacherInfosList(normalQueryInfo));}@PostMapping("/add")public HttpResponse addTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){String res = iStuTeacherInfoService.addTeacherInfosList(stuTeacherInfo);return res == null ? HttpResponse.success() : HttpResponse.error(res) ;}@PostMapping("/edit")public HttpResponse editTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){return HttpResponse.success(iStuTeacherInfoService.editTeacherInfosList(stuTeacherInfo));}@DeleteMapping("/del")public HttpResponse delTeacherInfosList(@RequestBody StuTeacherInfo stuTeacherInfo){return HttpResponse.success(iStuTeacherInfoService.delTeacherInfosList(stuTeacherInfo));}@GetMapping("/remove-course-teacher")public HttpResponse delCourse(@RequestParam("teacherId") Integer teacherId){return HttpResponse.success(iStuTeacherInfoService.setCourseTeacherById(teacherId,-1));}@GetMapping("/get-no-course")public HttpResponse getAllTeacherInfosListNoCourse(){return HttpResponse.success(iStuTeacherInfoService.getAllTeacherInfosListNoCourse());}@GetMapping("/set-course")public HttpResponse setCourseTeacher(@RequestParam(value = "teacherId") Integer teacherId,@RequestParam(value = "courseId") Integer courseId){
    @GetMapping("/remove-course-teacher")public HttpResponse delCourse(@RequestParam("teacherId") Integer teacherId){return HttpResponse.success(iStuTeacherInfoService.setCourseTeacherById(teacherId,-1));}@GetMapping("/get-no-course")public HttpResponse getAllTeacherInfosListNoCourse(){return HttpResponse.success(iStuTeacherInfoService.getAllTeacherInfosListNoCourse());}@GetMapping("/set-course")public HttpResponse setCourseTeacher(@RequestParam(value = "teacherId") Integer teacherId,@RequestParam(value = "courseId") Integer courseId){return HttpResponse.success(iStuTeacherInfoService.setCourseTeacherById(teacherId,courseId));}
}
学生信息 前端控制器:
/*** <p>
    public HttpResponse delCourse(@RequestParam("teacherId") Integer teacherId){return HttpResponse.success(iStuTeacherInfoService.setCourseTeacherById(teacherId,-1));}@GetMapping("/get-no-course")public HttpResponse getAllTeacherInfosListNoCourse(){return HttpResponse.success(iStuTeacherInfoService.getAllTeacherInfosListNoCourse());}@GetMapping("/set-course")public HttpResponse setCourseTeacher(@RequestParam(value = "teacherId") Integer teacherId,@RequestParam(value = "courseId") Integer courseId){return HttpResponse.success(iStuTeacherInfoService.setCourseTeacherById(teacherId,courseId));}
}
学生信息 前端控制器:
/*** <p>* 学生信息 前端控制器* </p>*

基于javaweb+SpringBoot的大学生实习管理系统(java+SpringBoot+Thymeleaf+html+JQuery+bootstrap)相关推荐

  1. 基于javaweb+mysql的大学生实习管理系统(java+springboot+thymeleaf+html+jquery+bootstrap)

    基于javaweb+mysql的大学生实习管理系统(java+springboot+thymeleaf+html+jquery+bootstrap) 运行环境 Java≥8.MySQL≥5.7 开发工 ...

  2. 基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql)

    基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 ecl ...

  3. 基于javaweb的红酒朔源管理系统(java+ssm+jsp+layui+jquery+mysql)

    基于javaweb的红酒朔源管理系统(java+ssm+jsp+layui+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...

  4. 基于javaweb+mysql的汽车配件销售管理系统(java+SpringBoot+layui+html+maven+mysql)

    项目介绍 本项目为后台管理系统, 主要功能包括: 公告增删改查,用户管理,登录页面,订单查询,配件添加等等 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论 ...

  5. 基于javaweb+mysql的体育器材管理系统(java+SpringBoot+Bootstrap+HTML+mysql)

    项目介绍 体育器材管理系统主要包含以下功能: 登录注册: 体育器材管理:显示器材表.显示价目表.显示供应商表: 器材借还管理:借用申请.归还申请: 管理员个人信息:对当前管理员的信息进行查看或修改 器 ...

  6. 基于javaweb+mysql的私人牙医管理系统(java+SpringBoot+html+layui+echarts+maven+mysql)

    项目介绍 私人牙医管理系统.该项目分为前后台,共三种角色:管理员.医生.客户: 前台主要功能包括:首页.医生介绍.新闻资讯.关于我们.联系我们等功能: 后台管理员主要功能包括: 客户管理:客户信息统计 ...

  7. 基于javaweb+springboot的小区物业管理系统(java+Springboot+ssm+mysql+maven)

    基于javaweb+springboot的小区物业管理系统(java+Springboot+ssm+mysql+maven) 一.项目简述(+PPT演示文档) 本系统功能包括: 实现了资源管理.收费管 ...

  8. 基于javaweb的在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  9. 基于javaweb的医院病历信息管理系统(java+ssm+jsp+bootstrap+easyui+mysql)

    基于javaweb的医院病历信息管理系统(java+ssm+jsp+bootstrap+easyui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclips ...

最新文章

  1. Linux常用命令速查备忘(包括我)
  2. Linux基础命令--常用命令工具
  3. java面试 socket_【面试题】Java 的通信编程,编程题(或问答),用JAVA SOCKET 编程,读服务器几个字符,再写入本地显示?...
  4. 加载checkpoint问题
  5. CSS: SASS用法指南 (附视频)
  6. 常数除以0的极限是什么_酶动力学中的一些常数简介
  7. 2017.10.23 卡牌游戏 失败总结
  8. Orabbix监控oracle
  9. 数据结构:实验二 队列的基本功能实现
  10. 阿里云混合云新一代运维平台的演进与实践
  11. 映美530k驱动不能安装问题
  12. 你画我猜游戏html源代码,微信小程序你画我猜demo完整源码
  13. matlab 傅立叶变换去噪
  14. Python计算细胞核与细胞质的面积比opencv或pil实验
  15. python保存结果到txt_如何将python运行结果保存成txt,万分感谢呐
  16. 重装战姬服务器正在维护,《重装战姬》2月25日更新维护公告
  17. 论php安全性,Ofstar和phpind论坛安全性分析
  18. ASP.NET圣贤图书馆管理系统动态网站
  19. PCB设计中屏蔽罩夹子的使用
  20. c语言切蛋糕问题算法,从“切蛋糕问题”谈到欧拉#

热门文章

  1. Linux—搭建Apache(httpd)服务
  2. antd pro(V5) 实现多tab
  3. Greedy:Stripes(POJ 1826)
  4. vue示例及优秀案例
  5. 12. 搭建高可用集群
  6. oracle的pl/sql存储过程调用java soure来判断文件夹下某个文件是否存在
  7. 2021,从多云到专有云?
  8. oracle官网一体机,Oracle Exadata 专有云数据库一体机
  9. 【数据治理】标签的分类、设计及实现方法
  10. 一、为什么要是用Redis?