作者主页:源码空间站2022

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

文末获取源码

项目介绍

基于SpringBoot框架开发的求职招聘网站。
本项目分三种角色:管理员、招聘人员、求职者。
用户可以以两种身份注册登录,一种是求职者,另一种是招聘者。

求职者可以浏览查询公司信息、职位信息,并且可以填写自己的简历,然后给自己心仪的职位投递简历。招聘者可以填写自己公司的信息,然后进行认证申请,申请通过后,就可以进行发布职位,接收求职者投递来简历,并且进行审核和通知。

除此之外,该项目还附带后台管理功能,管理员可以登录后台管系统,进行职位类别添加、管理用户信息、通过审核来更改公司、职位的状态等。

项目功能:注册(引入邮箱验证码功能)、登录、修改密码、按条件查询、填写我的简历、填写公司信息、投递简历、发布职位、接收简历等等功能。

使用人群:
正在做毕设的学生,或者需要项目实战练习的Java学习

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
4.数据库:MySql 5.7版本;

5.是否Maven项目:是;

技术栈

SpringBoot + FreeMarker + JPA

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application-dev.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,项目运行成功后,在浏览器中输入网址:
http://localhost:8082/home/index/index  访问的是网站首页面

http://localhost:8082/admin/system/login  访问的是后台管理页面

运行截图

前台界面-用户角色

后台界面-管理员角色

相关代码

管理员控制类

/*** 管理员控制类* @author 82320**/
@RequestMapping("/admin/admin")
@Controller
public class AdminController {@Autowired private AdminService adminService; @Autowiredprivate OperaterLogService  operaterLogService; /*** 后台管理员管理* @param model* @return*/@RequestMapping(value="/my_info",method=RequestMethod.GET)public String myInfo(Model model){return "admin/admin/my_info";}/*** 后台管理员信息列表* @param request* @param page* @return*/@RequestMapping(value="/my_info_list",method=RequestMethod.POST)@ResponseBodypublic  Map<String, Object>  myInfoList(HttpServletRequest request,Page page){Map<String, Object> ret = new HashMap<String, Object>();Admin admin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);List<Admin> findList = adminService.findAdminList(admin.getId(),page.getOffset(), page.getRows());ret.put("rows", findList);ret.put("total", 1);return ret; }/*** 管理员信息修改处理* @param admin* @return*/@RequestMapping(value="/edit",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> edit(Admin admin){if(admin == null){return Result.error(CodeMsg.DATA_ERROR);}//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(admin);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}//判断有无接收到对应管理员的idif(admin.getId() == null || admin.getId().longValue() <= 0){return Result.error(CodeMsg.USER_EDIT_ID_EMPTY);}Admin findAdmin = adminService.find(admin.getId());//将提交的管理员信息指定字段复制到已存在的admin对象findAdmin中,该方法会覆盖新字段内容BeanUtils.copyProperties(admin, findAdmin, "id","createTime","updateTime");//进行修改操作if(adminService.save(findAdmin) == null){return Result.error(CodeMsg.USER_EDIT_ERROR);}//添加操作日志OperaterLog operaterLog  = new OperaterLog();operaterLog.setOperator("【"+findAdmin.getAdminName()+"】:");operaterLog.setContent("修改了管理员信息:【"+findAdmin+"】。");operaterLogService.save(operaterLog);return Result.success(true);}}

后端公司管理控制器

/***后端公司管理控制器* @author 82320**/
@RequestMapping("/admin/company")
@Controller
public class CompanyController {@Autowiredprivate CompanyService companyService;@Autowiredprivate ResumeService resumeService;@Autowiredprivate PositionService positionService;/*** 后台公司管理信息页面* @param model* @return*/@RequestMapping(value="/list",method=RequestMethod.GET)public String list(Model model){return "admin/company/list";}/*** 获取后台公司信息列表* @param request* @param page* @return*/@RequestMapping(value="/list",method=RequestMethod.POST)@ResponseBodypublic  Map<String, Object> list(@RequestParam(name="state",required=false,defaultValue="") String state,Page page){Map<String, Object> ret = new HashMap<String, Object>();if(!StringUtil.isEmpty(state)) {//如果state不为空List<Company> findCompanyList = companyService.findCompanyList(state, page.getOffset(), page.getRows());ret.put("rows", findCompanyList);ret.put("total", companyService.getCompanyTotal(state));}else {//如果state为空List<Company> findAllCompanyList = companyService.findAllCompanyList(page.getOffset(), page.getRows());ret.put("rows", findAllCompanyList);ret.put("total", companyService.total());}return ret; }/*** 改变公司状态* @param request* @param page* @return*/@RequestMapping(value="/change_state",method=RequestMethod.POST)@ResponseBodypublic  Result<Boolean> changeState(Company company){if(company == null) {return Result.error(CodeMsg.DATA_ERROR);}Company findCompany = companyService.find(company.getId());findCompany.setState(company.getState());if(companyService.save(findCompany) == null) {return Result.error(CodeMsg.COMPANY_CHANGE_STATE_ERROR);}return Result.success(true); }/***删除公司* @param request* @param page* @return*/@RequestMapping(value="/delete",method=RequestMethod.POST)@ResponseBodypublic  Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){try {List<Resume> findResumeList = resumeService.findByCompanyId(id);//先删除该公司所有的简历for(Resume resume : findResumeList) {resumeService.delete(resume.getId());}//再删除该公司所有职位List<Position> findPositionList = positionService.findPositionByCompanyId(id);for(Position position : findPositionList) {positionService.delete(position.getId());}//最后删除公司companyService.delete(id);}catch(Exception e) {e.printStackTrace();return Result.error(CodeMsg.FOREIGN_KEY_RESTRAIN);}return Result.success(true); }}

后端用户管理控制器

/*** 后端用户管理控制器* @author 82320**/
@RequestMapping("/admin/user")
@Controller
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate ResumeService resumeService;@Autowiredprivate WorkExperienceService workExperienceService;@Autowiredprivate WorkShowService workShowService;@Autowired private ProjectExperienceService projectExperienceService;@Autowiredprivate ExpectWorkService expectWorkService;@Autowiredprivate EducationBackgroundService educationBackgroundService;@Autowired private CompanyService companyService;@Autowiredprivate PositionService PositionService;/*** 后台用户管理信息页面* @param model* @return*/@RequestMapping(value="/user_info",method=RequestMethod.GET)public String myInfo(Model model){return "admin/admin/user_info";}/*** 后台用户信息列表* @param request* @param page* @return*/@RequestMapping(value="/user_info_list",method=RequestMethod.POST)@ResponseBodypublic  Map<String, Object>  userInfoList(HttpServletRequest request,Page page){Map<String, Object> ret = new HashMap<String, Object>();List<User> findAllUserList = userService.findAllUserList(page.getOffset(), page.getRows());ret.put("rows", findAllUserList);ret.put("total", userService.total());return ret; }/*** 删除用户* @param id* @return*/@RequestMapping(value="/delete",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){User user = userService.find(id);try {if(user.getType() == 1) {//如果用户身份是招聘者Company findCompany = companyService.findByUserId(id);if(findCompany != null) {//删除该用户认证的公司下所有简历List<Resume> findResumeList = resumeService.findByCompanyId(findCompany.getId());for(Resume resume : findResumeList) {resumeService.delete(resume.getId());}//删除该用户认证的公司下所有职位List<Position> findPositionList = PositionService.findPositionByCompanyId(findCompany.getId());for(Position position : findPositionList) {PositionService.delete(position.getId());}//删除该用户所属公司companyService.delete(findCompany.getId());}}if(user.getType() == 0) {//如果用户身份是应聘者//删除该用户的所有简历List<Resume> findResume = resumeService.findByUserId(id);for(Resume resume : findResume) {resumeService.delete(resume.getId());}//删除该用户的工作经验WorkExperience findWorkExperience = workExperienceService.findWorkExperienceByUserId(id);if(findWorkExperience != null) {workExperienceService.delete(findWorkExperience.getId());}//删除该用户的作品展示WorkShow findWorkShow = workShowService.findWorkShowByUserId(id);if(findWorkShow != null) {workShowService.delete(findWorkShow.getId());}//删除该用户的项目经验ProjectExperience findProjectExperience = projectExperienceService.findProjectExperienceByUserId(id);if(findProjectExperience != null) {projectExperienceService.delete(findProjectExperience.getId());}//删除该用户的期望工作ExpectWork findExpectWork = expectWorkService.findExpectWorkByUserId(id);if(findExpectWork != null) {expectWorkService.delete(findExpectWork.getId());}//删除该用户的教育背景EducationBackground findEducationBackground = educationBackgroundService.findEducationBackgroundByUserId(id);if(findEducationBackground != null) {educationBackgroundService.delete(findEducationBackground.getId());}}//最后删除该用户userService.delete(id);}catch(Exception e){e.printStackTrace();return Result.error(CodeMsg.FOREIGN_KEY_RESTRAIN);}return Result.success(true);}
}

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

Java项目:SpringBoot人才求职招聘网站相关推荐

  1. 基于JavaWeb的人才求职招聘网站设计

    文档+开题报告+外文翻译及原文+项目源码及数据库文件 [摘要] 随着科学技术的长足进步的经济条件的快速发展,人们的生活和工作都发生了很大的变化.随着时代进入21世纪,人才的重要性越来越受到相关企业的高 ...

  2. springbooy+求职招聘网站 毕业设计-附源码301914

    基于springboot的求职招聘网站 摘  要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,求职招聘网站当然也不能排除在外.求职招聘网 ...

  3. java基于ssm+vue的人才简历求职招聘网站 elementui

    本求职招聘管理系统是针对目前求职招聘管理的实际需求,从实际工作出发,对过去的求职招聘管理系统存在的问题进行分析,结合计算机系统的结构.概念.模型.原理.方法,在计算机各种优势的情况下,采用目前最流行的 ...

  4. ssm基于JAVA的求职招聘网站的设计与实现计算机毕业设计

    最新200套计算机专业原创毕业设计参考选题都有源码+数据库是近期作品 如果题目不合适,可以去我上传的资源里面找题目,找不到的话,评论留下题目,站内私我或add用户名,有时间看到机会给您发 1 2100 ...

  5. java计算机毕业设计求职招聘网站设计与实现MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计求职招聘网站设计与实现MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计求职招聘网站设计与实现MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...

  6. Springboot巨好找招聘网站y18i5计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot巨好找招聘网站y18i5计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot巨好找招聘网站y18i5计算机毕业设计-课程设计-期末作业-毕设程序代 ...

  7. 毕业设计:基于Springboot实现求职招聘,校园招聘系统

    作者主页:编程指南针 简介:Java领域优质创作者.CSDN博客专家  Java项目.简历模板.学习资料.面试题库.技术互助 文末获取源码 目录 一.项目概述..................... ...

  8. java计算机毕业设计计算机专业招聘网站MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计计算机专业招聘网站MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计计算机专业招聘网站MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  9. Java爬虫 爬取某招聘网站招聘信息

    Java爬虫 爬取某招聘网站招聘信息 一.系统介绍 二.功能展示 1.需求爬取的网站内容 2.实现流程 2.1数据采集 2.2页面解析 2.3数据存储 三.获取源码 一.系统介绍 系统主要功能:本项目 ...

  10. java计算机毕业设计计算机专业招聘网站源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计计算机专业招聘网站源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计计算机专业招聘网站源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B ...

最新文章

  1. python 类-python 类如何使用
  2. 56.ISE综合,在chipscope信号列表看不到
  3. 如何让U盘支持大于4G的文件
  4. Android 7.0 获取相机拍照图片,适配三星手机拍照,解决三星手机拍照屏幕旋转,判断设备是否有摄像头
  5. 计算机辅助初中英语教学,计算机辅助初中英语阅读教学的-研究.pdf
  6. oracle存储过程插入自动编号,Oracle生成单据编号存储过程的实例代码
  7. java 类型 装箱和拆箱
  8. 容器技术Docker K8s 5 容器技术在阿里巴巴落地历程
  9. matlab 2012 简明教程,MATLAB 2012简明教程
  10. 【iOS】lipo otool 动、静态库
  11. html5漂亮的登录与注册界面设计,翻转式用户登录注册界面设计
  12. homeassistant搭建_智能家居 篇二:Home Assistant简易智能家居环境搭建
  13. 如何禁用计算机休眠,电脑如何关闭休眠功能,教你电脑如何关闭休眠功能
  14. Rstudio代码自动格式化:styler
  15. 《Java程序设计与数据结构教程(第二版)》学习指导
  16. sojson JS 逆向二 (免费版)
  17. psm倾向得分匹配法举例_一文读懂倾向得分匹配法(PSM)举例及stata实现(一)
  18. Servlet 01
  19. 如何在CMD命令行下批量ping多个ip并且将结果输出
  20. html5引入的新标签canvas,HTML页面中添加Canvas标签示例

热门文章

  1. 服务器pcb维修方法,电路板维修的方法与口诀
  2. 【SHOI2008】【BZOJ1023】cactus仙人掌图
  3. 《弃子长安》第三章 月下魅影
  4. java 中文大写金额_金额数字转中文大写
  5. 我第一个用DirextX做的2D游戏——炮炮兵考眼力
  6. 看完 2021 CSS 年度报告,才知道 CSS 发展这么快
  7. 多方位玩转“地平线新发布AIoT开发板——旭日X3派(Sunrise x3 Pi)” 插电!开机!轻松秒杀!
  8. 从团队协作与主题解读ios主流思维导图软件
  9. php实现离线挂机,自动离线挂机脚本下线自动挂机脚本
  10. 游戏挂机还开着电脑?那就真的out了!