基于javaweb的SpringBoot招聘系统项目(java+springboot+jsp+maven+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

440023112402

450023112402

460023112402

470023112402

480023112402

490023112402

基于javaweb的SpringBoot招聘系统项目(java+springboot+jsp+maven+mysql)

项目介绍

SpringBoot招聘项目。主要功能说明: 管理员登录,简历管理,问答管理,职位管理,用户管理,职位申请进度更新,查看简历等功能。

用户角色包含以下功能:用户首页,登录注册,职位查看,职位详情,投递简历,查看我的申请,管理个人简历,附件简历管理等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

4.数据库:MySql 5.7版本;

技术栈

  1. 后端:SpringBoot

  2. 前端:HTML+CSS+JavaScript+jsp

使用说明
运行项目,在浏览器中输入http://localhost:8080/
管理员账号/密码:admin/123456
用户账号/密码: matou/123456

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
		return ServerResponse.buildSuccessData(jobMapper.selectByPrimaryKey(id));
}

@RequiresRoles("admin")
@GetMapping("/manager")
public String show(Model model) {
model.addAttribute("job", jobService.selectBySearch("", 1, 5));
return "manage/job";
}


@GetMapping("/manager/findByPage")
@ResponseBody
public ServerResponse findByPage(@RequestParam(value = "condition", required = false) String condition,
@RequestParam(value = "pageIndex", defaultValue = "1", required = false) int pageIndex,
@RequestParam(value = "pageSize", defaultValue = "5", required = false) int pageSize) {

if (StringUtils.isEmpty(condition)) {
condition = null;
}
//0代表无限制
return ServerResponse.buildSuccessData(jobService.selectBySearch(condition, pageIndex, pageSize));

}
}
package cn.jia.controller;


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
public String showSchool(Model model,HttpServletRequest request,
@RequestParam(value = "pageIndex",defaultValue = "1",required = false)int pageIndex,
@RequestParam(value = "pageSize",defaultValue = "5",required = false)int pageSize){
ServerResponse serverResponse = positionService.findBySchool(pageIndex,pageSize);
PageInfo pageInfo =(PageInfo) serverResponse.getData();
model.addAttribute("positions",pageInfo);
return "www/school";
}
//关键字搜索
//@GetMapping("/findByKeyWord")
//@ResponseBody
public ServerResponse findByKeyWord(@RequestParam(value = "keyWord")String keyWord,
@RequestParam(value = "pageIndex",defaultValue = "1",required = false)int pageIndex,
@RequestParam(value = "pageSize",defaultValue = "5",required = false)int pageSize){
ServerResponse serverResponse = positionService.findByKeyWord(keyWord,pageIndex,pageSize,flag);
return ServerResponse.buildSuccessData(serverResponse.getData());
}

@GetMapping("/getDetail")
public String getDetail(@RequestParam("pName")String pName,
Model model){
ServerResponse serverResponse = positionService.getDeatils(pName,flag);
model.addAttribute("detail",serverResponse.getData());
serverResponse = positionService.findByRandom(flag);
model.addAttribute("positions",serverResponse.getData());
return "www/detail";
}

@GetMapping("/findByCondiction")
@ResponseBody
public ServerResponse findByCondiction(@RequestParam(value = "condition",required = false,defaultValue = "") String condition,
@RequestParam(value = "keyWord",required = false,defaultValue = "")String keyWord,
@RequestParam(value = "pageIndex",defaultValue = "1",required = false)int pageIndex,
@RequestParam(value = "pageSize",defaultValue = "5",required = false)int pageSize,
HttpServletRequest request) {
List<String> pClassify = Lists.newArrayList();
List<String> workSite = Lists.newArrayList();
List<String> desc = Lists.newArrayList();
//(^\h*)|(\h*$)
condition = condition.replaceAll("\\u00A0"," ");
// condition=condition.replaceAll("\\u00A0"," ");
if (StringUtils.isNotEmpty(condition)){
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
54
      user.setPassword(md5Hash.toString());
return userService.register(user);
}
//检验答案
@PostMapping("/checkAnswer")
@ResponseBody
public ServerResponse checkAnswer(String username, String answer1,
String answer2, HttpSession httpSession){
ServerResponse serverResponse = userService.checkAnswer(username,answer1,answer2);
if (serverResponse.isSuccess()){
//存储一个token,根据username
httpSession.setAttribute(username, UUID.randomUUID());
}

return serverResponse;
}

//更改密码
@PostMapping("/changePassword")
@ResponseBody
public ServerResponse changePassword(String username,
String newPassword,HttpSession session){
Object UUID = session.getAttribute(username);
if (UUID == null){
return ServerResponse.buildErrorMsg("请先验证密保");
}
return userService.changePassword(username,newPassword);
}

@GetMapping("/logout")
public String logout(HttpSession session){
session.removeAttribute("username");
Subject subject = SecurityUtils.getSubject();
subject.logout();
return "login";
}


/**
* 生成验证码
*/
@GetMapping(value = "/login/getVerify")
public void getVerify(HttpServletRequest request, HttpServletResponse response) {
try {
response.setContentType("image/jpeg");
//设置响应头信息,告诉浏览器不要缓存此内容
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expire", 0);
RandomValidateCodeUtil randomValidateCode = new RandomValidateCodeUtil();
//输出验证码图片方法
randomValidateCode.getRandcode(request, response);
} catch (Exception e) {
logger.error("获取验证码失败>>>> ", e);
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
    }


}
package cn.jia.controller;



/**
*/
@Controller
@RequestMapping("/resume")
public class ResumeController {

@Autowired
private UserService userService;
@Autowired
private ResumeService resumeService;
private String path = Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(0,Thread.currentThread().getContextClassLoader().getResource("").getPath().length()-16)+"/static/upload";

@GetMapping
public String resume(HttpSession session, Model model) {
String username = (String) session.getAttribute("username");
if (StringUtils.isEmpty(username)) {
return "login";
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
     */
@PostMapping("/upload")
@ResponseBody
public ServerResponse uploadPhoto(@RequestParam("filename") MultipartFile filename, HttpSession session, String verifyInput) {
String username = (String) session.getAttribute("username");
if (StringUtils.isEmpty(username)) {
return ServerResponse.buildErrorMsg("用户未登录");
}
//检验验证码
String originalVerify = (String) session.getAttribute(RandomValidateCodeUtil.RANDOMCODEKEY);
// if(!StringUtils.equals(originalVerify,verifyInput)){
// return ServerResponse.buildErrorMsg("验证码错误");
// }
User user = userService.findByUsername(username);
// path = decode(path);
logger.error("path:{}", path);
return informationService.upload(filename, path, user.getId());
}

@PostMapping("/uploadFile")
@ResponseBody
public ServerResponse uploadFiles(@RequestParam("filename") MultipartFile filename, HttpSession session) {
String username = (String) session.getAttribute("username");
if (StringUtils.isEmpty(username)) {
return ServerResponse.buildErrorMsg("用户未登录");
}
User user = userService.findByUsername(username);
return informationService.upload(filename, path, user.getId());
}

@DeleteMapping("/delete")
@ResponseBody
public ServerResponse deleteFile(HttpSession session) {
String username = (String) session.getAttribute("username");
if (StringUtils.isEmpty(username)) {
return ServerResponse.buildErrorMsg("用户未登录");
}
User user = userService.findByUsername(username);
return informationService.deleteFile(user.getId(), path);
}

}
package cn.jia.controller;

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
	public ServerResponse delete(@PathVariable("id") Integer id) {
try {
jobMapper.deleteByPrimaryKey(id);
} catch (Exception e) {
return ServerResponse.buildErrorMsg("删除失败");
}

return ServerResponse.buildSuccessMsg("删除成功");
}

@RequiresRoles("admin")
@PostMapping("/update")
@ResponseBody
public ServerResponse update(JobDTO dto) {
try {
jobMapper.updateByPrimaryKeySelective(dto);
} catch (Exception e) {
return ServerResponse.buildErrorMsg("修改失败");
}

return ServerResponse.buildSuccessMsg("修改成功");
}



@GetMapping("/getById/{id}")
@ResponseBody
@RequiresRoles("admin")
public ServerResponse findById(@PathVariable("id") String id, HttpSession session){
String username =(String) session.getAttribute("username");
if (StringUtils.isEmpty(username)){
return ServerResponse.buildErrorMsg("请登录");
}
return ServerResponse.buildSuccessData(jobMapper.selectByPrimaryKey(id));
}

@RequiresRoles("admin")
@GetMapping("/manager")
public String show(Model model) {
model.addAttribute("job", jobService.selectBySearch("", 1, 5));
return "manage/job";
}


项目链接:
https://javayms.github.io?id=481422282105200ds
https://javayms.pages.dev?id=481422282105200ds