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

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

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

功能说明

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

项目介绍

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

管理员主要功能:

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

教师主要功能:

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

学生主要功能:

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

环境需要

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 登录

管理员信息 前端控制器:

/**

  • 管理员信息 前端控制器

  • @author yy

*/

@RestController

@RequestMapping(“/stu-user”)

public class StuUserController {

@Autowired

private Producer producer;

@Autowired

private IStuUserService iStuUserService;

@Autowired

private AuthenticationManager authenticationManager;

private final Logger log = Logger.getLogger(StuUserController.class);

@GetMapping(“/user-list”)

public HttpResponse getUserList(NormalQueryInfo normalQueryInfo){

return HttpResponse.success(iStuUserService.getUserList(normalQueryInfo));

@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);

// 保存到验证码到 session

request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, text);

ServletOutputStream out = response.getOutputStream();

ImageIO.write(image, “jpg”, out);

IOUtils.closeQuietly(out);

/**

  • 登录接口

*/

@PostMapping(value = “/login”)

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())) {

return HttpResponse.error(“密码不正确”);

JwtAuthenticatioToken token = SecurityUtils.login(request, username, password, authenticationManager);

log.info(“user:”+token.getName()+“login Success! [In “+token.getDetails().toString()+”]”);

return HttpResponse.success(new LoginResponse(token.getName(),token.getToken(),“OK!”));

@PostMapping(value=“/save”)

public HttpResponse addUser(@RequestBody StuUser stuUser) {

return HttpResponse.success(iStuUserService.addUser(stuUser));

@GetMapping(value=“/findByName”)

public HttpResponse findByUserName(@RequestParam String name) {

return HttpResponse.success(iStuUserService.findByName(name));

教师个人详细信息 前端控制器:

/**

  • 教师个人详细信息 前端控制器

  • @author yy

*/

@RestController

@RequestMapping(“/stu-teacher-info”)

public class StuTeacherInfoController {

@Autowired

private IStuTeacherInfoService iStuTeacherInfoService;

@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.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));

学生信息 前端控制器:

/**

  • 学生信息 前端控制器

  • @author yy

*/

@RestController

@RequestMapping(“/stu-info”)

public class StuInfoController {

@Autowired

private IStuInfoService iStuInfoService;

/**

  • 分页查询全部信息

  • */

@GetMapping(“/get”)

public HttpResponse getPageStudentInfo(QueryStuInfoListRequest queryStuInfoListRequest){

return HttpResponse.success(iStuInfoService.getPageStudentInfo(

queryStuInfoListRequest.getPageNum(), queryStuInfoListRequest.getPageSize()

));

/**

  • 对基本信息进行高级查询

  • */

@GetMapping(“/get-test”)

public HttpResponse getPageStudentInfoByCondition(QueryStuInfoListRequest queryStuInfoListRequest){

iStuInfoService.getStudentInfoByCondition(queryStuInfoListRequest);

QueryListResponse queryStuInfoListResponse = iStuInfoService.getStudentInfoByCondition(queryStuInfoListRequest);

//如果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));

/**

  • 修改学生违纪状态

  • */

@PostMapping(“/change”)

public HttpResponse changeStudentStatus(@RequestBody StuInfo stuInfo){

return HttpResponse.success(iStuInfoService.changeStudentStatus(stuInfo));


基于javaweb+mysql的大学生实习管理系统(java+springboot+thymeleaf+html+jquery+bootstrap)相关推荐

  1. 基于javaweb+SpringBoot的大学生实习管理系统(java+SpringBoot+Thymeleaf+html+JQuery+bootstrap)

    项目介绍 本系统的用户可以分为三种:管理员.教师.学生.三种角色登录后会有不同菜单界面: 管理员主要功能: 信息管理 学生信息管理.教师信息管理.生产实习信息管理.顶岗实习信息管理: 生产实习 生产实 ...

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

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

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

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

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

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

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

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

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

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

  7. 基于javaweb+mysql的兼职平台系统(java+Springboot+ssm+HTML+maven+Ajax+mysql)

    一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: HTML ...

  8. 基于javaweb+mysql的大学生兼职论坛(java+SSM+JSP+jQuery+Layui+mysql)

    项目介绍 该项目是一个大学生校园兼职讨论平台,分为前台和后台功能,主要用户有三种角色:分别是商家.学生.管理员.商家可以发布兼职信息,发布后,管理员进入后台确认信息是否有效,并且审核该兼职信息.学生登 ...

  9. 基于javaweb+mysql的医药信息管理系统(java+SSM+HTML+easyui+mysql)

    项目介绍 该系统共七个功能模块:查询模块.录入模块.删除模块.修改模块.浏览模块.打印模块和用户管理模块. 系统只有一个超级管理员,可以创建系统用户并进行权限管理,其他用户没有用户管理权限,只有其他权 ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:深度卷积网络
  2. java -c_java% c
  3. java ui调试_如何使用 IBM i System Debugger 调试 Java 程序
  4. 速来围观MOS管的选择步骤
  5. 老男孩教育Python 9期第一课练习题答案
  6. LeetCode题组:第1162题-地图分析
  7. 【Python】二维数组,使用 * 号来进行重复,导致结果不符合预期
  8. Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解
  9. es6笔记 day3---Promise
  10. 海底捞、百果园、大娘水饺凭什么可以疯狂扩张门店?
  11. python从入门到放弃表情图-Python 从入门到放弃(一)
  12. 博文视点大讲堂第12期、第13期讲座文件下载
  13. XSD 文件本地加载
  14. 杨志便嗔道 瑞星杀毒软件序列号
  15. openCV中convertTo的用法
  16. 如果大一光靠自己学,华为HICE能过的几率大吗?
  17. GMSK信号调制公式与matlab代码
  18. 微信开放平台(公众号)API学习笔记(1)-公众号测试账户
  19. C语言之-1与0xffffffff
  20. ansys 19.2无法连接到服务器证书,360运行时ansys19.0就无法连接许可服务了

热门文章

  1. 十二款硬盘数据恢复软件!恢复数据,最适合你的是这一款
  2. Android Socket通讯 之 心跳消息
  3. 服务器电源能支持高压直流吗,数据中心高压直流技术
  4. cad中explode是什么意思_CAD explode命令无效的问题
  5. nfs服务器之间实现目录共享
  6. 这些Python免费学习资源不可错过,适合有图形化编程基础需要提升能力的你!...
  7. 【基于GEE计算年度植被覆盖度】
  8. RMAN备份数据库_备份RMAN备份(Backing Up RMAN Backups)
  9. 如何管控企业文件外发权限?
  10. 英雄联盟手游注册及下载教程(ios最新最全版)