——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SpringBoot就业信息管理系统(java+springboot+maven+mybaits+vue+elementui+mysql)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| 管理员 admin 123456
学生 学生账号1 123456 学生账号2 123456 学生账号3 123456 学生账号4 123456 学生账号5 123456 学生账号6 123456
导师 导师账号1 123456 导师账号2 123456 导师账号3 123456 导师账号4 123456 导师账号5 123456 导师账号6 123456
企业 企业账号1 123456 企业账号2 123456 企业账号3 123456 企业账号4 123456 企业账号5 123456 企业账号6 123456
|
项目介绍
基于SpringBoot Vue的就业信息管理系统
前台功能:进入系统可以实现首页,招聘信息,交流论坛,公告资讯,个人中心,后台管理等功能进行操作。
后台由管理员,学生,企业和导师,主要功能包括首页,个人中心,学生管理,导师管理,企业管理,招聘信息管理,应聘信息管理,面试邀请管理,就业指导管理,交流论坛,系统管理等。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:layui+Vue+ELementUI
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,前台访问地址: http://localhost:8080/springboote71hf/front/index.html 后台访问地址: http://localhost:8080/springboote71hf/admin/dist/index.html 管理员用户名密码:abo/abo 学生用户名密码:学生账号1/123456 导师用户名密码:导师账号1/123456 企业用户名密码:企业账号1/123456
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
@Component public class AuthorizationInterceptor implements HandlerInterceptor {
public static final String LOGIN_TOKEN_KEY = "Token";
@Autowired private TokenService tokenService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization"); response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); if (request.getMethod().equals(RequestMethod.OPTIONS.name())) { response.setStatus(HttpStatus.OK.value()); return false; } IgnoreAuth annotation; if (handler instanceof HandlerMethod) { annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class); } else { return true; }
String token = request.getHeader(LOGIN_TOKEN_KEY);
if(annotation!=null) { return true;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| }
@RequestMapping("/query") public R query(DaoshiEntity daoshi){ EntityWrapper< DaoshiEntity> ew = new EntityWrapper< DaoshiEntity>(); ew.allEq(MPUtil.allEQMapPre( daoshi, "daoshi")); DaoshiView daoshiView = daoshiService.selectView(ew); return R.ok("查询导师成功").put("data", daoshiView); }
@RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ DaoshiEntity daoshi = daoshiService.selectById(id); return R.ok().put("data", daoshi); }
@IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ DaoshiEntity daoshi = daoshiService.selectById(id); return R.ok().put("data", daoshi); }
@RequestMapping("/save") public R save(@RequestBody DaoshiEntity daoshi, HttpServletRequest request){ daoshi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); DaoshiEntity user = daoshiService.selectOne(new EntityWrapper<DaoshiEntity>().eq("daoshizhanghao", daoshi.getDaoshizhanghao())); if(user!=null) { return R.error("用户已存在"); } daoshi.setId(new Date().getTime()); daoshiService.insert(daoshi); return R.ok(); }
|
1 2 3 4 5 6 7 8 9 10 11 12
|
@RestController @RequestMapping("/mianshiyaoqing") public class MianshiyaoqingController {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
@RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService;
@IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); }
@IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在");
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| @Autowired private UserService userService; @Autowired private TokenService tokenService;
@IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); }
@IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); }
@GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| return R.error("用户已存在"); } daoshi.setId(new Date().getTime()); daoshiService.insert(daoshi); return R.ok(); }
@RequestMapping("/update") @Transactional public R update(@RequestBody DaoshiEntity daoshi, HttpServletRequest request){ daoshiService.updateById(daoshi); return R.ok(); }
@RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ daoshiService.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);
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=090023061907201au
https://javayms.pages.dev?id=090023061907201au