• Java毕设项目——人才招聘网站(java+SpringBoot+Maven+Mysql+Jsp)


    文末获取源码 

    开发语言:Java

    框架:SpringBoot

    技术:Jsp

    JDK版本:JDK1.8

    服务器:tomcat7

    数据库:mysql 5.7/8.0

    数据库工具:Navicat11

    开发软件:eclipse/myeclipse/idea

    Maven包:Maven3.3.9

    浏览器:谷歌浏览器

    一、前言介绍   

    随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。

    人才招聘网站,主要的模块包括查看管理员;个人中心用户管理企业管理招聘信息管理投递信息管理面试信息管理招聘结果管理系统管理等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。

    要想实现人才招聘网站的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的毕业生信息,并由此分析得出的关联信息等大量的数据都由数据库管理。本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

    本系统的开发使获取人才招聘网站信息能够更加方便快捷,同时也使人才招聘网站信息变的更加系统化、有序化。系统界面较友好,易于操作。

    二、系统设计规则 

    本人才招聘网站采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。

    人才招聘网站的设计与实现的设计思想如下:

    1、操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询管理的相关信息。

    2、即时可见:对人才招聘网站信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。

    3、功能的完善性:可以管理管理员;个人中心用户管理企业管理招聘信息管理投递信息管理面试信息管理招聘结果管理系统管理,

    企业;个人中心招聘信息管理投递信息管理面试信息管理招聘结果管理,

    用户;个人中心投递信息管理面试信息管理招聘结果管理我的收藏管理,

    前台首页;首页招聘信息公告信息个人中心后台管理。

    三、系统展示

    首页

    招聘信息

    管理员功能模块 

    企业管理

    招聘信息管理

     

    投递信息管理

    部分核心代码  

    上传文件

    1. * 上传文件
    2. */
    3. @RequestMapping("/upload")
    4. public R upload(@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception {
    5. if (file.isEmpty()) {
    6. throw new EIException("上传文件不能为空");
    7. }
    8. String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
    9. String fileName = new Date().getTime()+"."+fileExt;
    10. File dest = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
    11. file.transferTo(dest);
    12. /**
    13. * 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开
    14. * 请将以下的"D:\\ssmpiv99\\src\\main\\webapp\\upload"替换成你本地项目的upload路径,
    15. * 并且项目路径不能存在中文、空格等特殊字符
    16. */
    17. //FileUtils.copyFile(dest, new File("D:\\ssmpiv99\\src\\main\\webapp\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/
    18. if(StringUtils.isNotBlank(type) && type.equals("1")) {
    19. ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
    20. if(configEntity==null) {
    21. configEntity = new ConfigEntity();
    22. configEntity.setName("faceFile");
    23. configEntity.setValue(fileName);
    24. } else {
    25. configEntity.setValue(fileName);
    26. }
    27. configService.insertOrUpdate(configEntity);
    28. }
    29. return R.ok().put("file", fileName);
    30. }

    用户登录

    1. /**
    2. * 登录
    3. */
    4. @IgnoreAuth
    5. @RequestMapping(value = "/login")
    6. public R login(String username, String password, String captcha, HttpServletRequest request) {
    7. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", username));
    8. if(user==null || !user.getMima().equals(password)) {
    9. return R.error("账号或密码不正确");
    10. }
    11. String token = tokenService.generateToken(user.getId(), username,"yonghu", "用户" );
    12. return R.ok().put("token", token);
    13. }

    招聘信息

    1. /**
    2. * 招聘信息
    3. * 后端接口
    4. * @author
    5. * @email
    6. * @date 2022-04-14 21:27:23
    7. */
    8. @RestController
    9. @RequestMapping("/zhaopinxinxi")
    10. public class ZhaopinxinxiController {
    11. @Autowired
    12. private ZhaopinxinxiService zhaopinxinxiService;
    13. @Autowired
    14. private StoreupService storeupService;
    15. /**
    16. * 后端列表
    17. */
    18. @RequestMapping("/page")
    19. public R page(@RequestParam Map<String, Object> params,ZhaopinxinxiEntity zhaopinxinxi,
    20. HttpServletRequest request){
    21. String tableName = request.getSession().getAttribute("tableName").toString();
    22. if(tableName.equals("qiye")) {
    23. zhaopinxinxi.setQiyezhanghao((String)request.getSession().getAttribute("username"));
    24. }
    25. EntityWrapper<ZhaopinxinxiEntity> ew = new EntityWrapper<ZhaopinxinxiEntity>();
    26. PageUtils page = zhaopinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhaopinxinxi), params), params));
    27. request.setAttribute("data", page);
    28. return R.ok().put("data", page);
    29. }
    30. /**
    31. * 前端列表
    32. */
    33. @IgnoreAuth
    34. @RequestMapping("/list")
    35. public R list(@RequestParam Map<String, Object> params,ZhaopinxinxiEntity zhaopinxinxi,
    36. HttpServletRequest request){
    37. EntityWrapper<ZhaopinxinxiEntity> ew = new EntityWrapper<ZhaopinxinxiEntity>();
    38. PageUtils page = zhaopinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhaopinxinxi), params), params));
    39. request.setAttribute("data", page);
    40. return R.ok().put("data", page);
    41. }
    42. /**
    43. * 列表
    44. */
    45. @RequestMapping("/lists")
    46. public R list( ZhaopinxinxiEntity zhaopinxinxi){
    47. EntityWrapper<ZhaopinxinxiEntity> ew = new EntityWrapper<ZhaopinxinxiEntity>();
    48. ew.allEq(MPUtil.allEQMapPre( zhaopinxinxi, "zhaopinxinxi"));
    49. return R.ok().put("data", zhaopinxinxiService.selectListView(ew));
    50. }
    51. /**
    52. * 查询
    53. */
    54. @RequestMapping("/query")
    55. public R query(ZhaopinxinxiEntity zhaopinxinxi){
    56. EntityWrapper< ZhaopinxinxiEntity> ew = new EntityWrapper< ZhaopinxinxiEntity>();
    57. ew.allEq(MPUtil.allEQMapPre( zhaopinxinxi, "zhaopinxinxi"));
    58. ZhaopinxinxiView zhaopinxinxiView = zhaopinxinxiService.selectView(ew);
    59. return R.ok("查询招聘信息成功").put("data", zhaopinxinxiView);
    60. }
    61. /**
    62. * 后端详情
    63. */
    64. @RequestMapping("/info/{id}")
    65. public R info(@PathVariable("id") Long id){
    66. ZhaopinxinxiEntity zhaopinxinxi = zhaopinxinxiService.selectById(id);
    67. return R.ok().put("data", zhaopinxinxi);
    68. }
    69. /**
    70. * 前端详情
    71. */
    72. @IgnoreAuth
    73. @RequestMapping("/detail/{id}")
    74. public R detail(@PathVariable("id") Long id){
    75. ZhaopinxinxiEntity zhaopinxinxi = zhaopinxinxiService.selectById(id);
    76. return R.ok().put("data", zhaopinxinxi);
    77. }
    78. /**
    79. * 后端保存
    80. */
    81. @RequestMapping("/save")
    82. public R save(@RequestBody ZhaopinxinxiEntity zhaopinxinxi, HttpServletRequest request){
    83. zhaopinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    84. //ValidatorUtils.validateEntity(zhaopinxinxi);
    85. zhaopinxinxiService.insert(zhaopinxinxi);
    86. return R.ok();
    87. }
    88. /**
    89. * 前端保存
    90. */
    91. @RequestMapping("/add")
    92. public R add(@RequestBody ZhaopinxinxiEntity zhaopinxinxi, HttpServletRequest request){
    93. zhaopinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    94. //ValidatorUtils.validateEntity(zhaopinxinxi);
    95. zhaopinxinxiService.insert(zhaopinxinxi);
    96. return R.ok();
    97. }
    98. /**
    99. * 修改
    100. */
    101. @RequestMapping("/update")
    102. public R update(@RequestBody ZhaopinxinxiEntity zhaopinxinxi, HttpServletRequest request){
    103. //ValidatorUtils.validateEntity(zhaopinxinxi);
    104. zhaopinxinxiService.updateById(zhaopinxinxi);//全部更新
    105. return R.ok();
    106. }
    107. /**
    108. * 删除
    109. */
    110. @RequestMapping("/delete")
    111. public R delete(@RequestBody Long[] ids){
    112. zhaopinxinxiService.deleteBatchIds(Arrays.asList(ids));
    113. return R.ok();
    114. }
    115. /**
    116. * 提醒接口
    117. */
    118. @RequestMapping("/remind/{columnName}/{type}")
    119. public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
    120. @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
    121. map.put("column", columnName);
    122. map.put("type", type);
    123. if(type.equals("2")) {
    124. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    125. Calendar c = Calendar.getInstance();
    126. Date remindStartDate = null;
    127. Date remindEndDate = null;
    128. if(map.get("remindstart")!=null) {
    129. Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
    130. c.setTime(new Date());
    131. c.add(Calendar.DAY_OF_MONTH,remindStart);
    132. remindStartDate = c.getTime();
    133. map.put("remindstart", sdf.format(remindStartDate));
    134. }
    135. if(map.get("remindend")!=null) {
    136. Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
    137. c.setTime(new Date());
    138. c.add(Calendar.DAY_OF_MONTH,remindEnd);
    139. remindEndDate = c.getTime();
    140. map.put("remindend", sdf.format(remindEndDate));
    141. }
    142. }
    143. Wrapper<ZhaopinxinxiEntity> wrapper = new EntityWrapper<ZhaopinxinxiEntity>();
    144. if(map.get("remindstart")!=null) {
    145. wrapper.ge(columnName, map.get("remindstart"));
    146. }
    147. if(map.get("remindend")!=null) {
    148. wrapper.le(columnName, map.get("remindend"));
    149. }
    150. String tableName = request.getSession().getAttribute("tableName").toString();
    151. if(tableName.equals("qiye")) {
    152. wrapper.eq("qiyezhanghao", (String)request.getSession().getAttribute("username"));
    153. }
    154. int count = zhaopinxinxiService.selectCount(wrapper);
    155. return R.ok().put("count", count);
    156. }
    157. }

  • 相关阅读:
    什么样的触达方式,会员会喜欢?
    Allegro的引流方式有哪些?Allegro买家号测评提高店铺的权重和排名
    华为云云耀云服务器L实例评测|云耀云服务器L实例一站式购买、高效部署和管理应用
    计算机毕业设计选题Java毕业设计之基于SSM实现的仓库管理系统
    sqlite条件查询语句where
    为什么不推荐在Spring Boot中使用@Value加载配置
    SpringCloud 微服务全栈体系(四)
    linux文件结构总结
    javascript 中的纯函数
    如何查看网络下发的能力中是否支持ims
  • 原文地址:https://blog.csdn.net/m0_49113107/article/details/126770654