小言_互联网的博客

基于JavaSpringmvc+Vue+elementUI大学生求职招聘系统详细设计实现

427人阅读  评论(0)

博主介绍全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

 java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

Java毕业设计参考题目-题目新颖(值得收藏)

目录

一、前言介绍:

二、系统设计:

 2.1 系统运行环境

2.2 系统架构设计

2.3 登录时序图设计

三、功能截图: 

3.1 用户登录注册模块:

3.2 求职招聘前台模块:

3.2.1 系统首页:

3.2.2 企业信息:

3.2.3 企业详情:

3.2.4 招聘信息:

3.2.5 招聘详情:

3.2.6 学生应聘:

3.2.7 招聘资讯:

3.2.8 招聘资讯详情:

3.2.9 留言反馈:

3.2.10 个人中心:

3.2.11 用户后台:

3.3 后台系统管理模块: 

​3.3.1 学生模块管理:

3.2.2 简历模块管理:

3.3.3 企业模块信息:

3.3.4 招聘模块管理:

3.3.5 应聘模块管理:

3.3.6 兼职模块评价:

3.3.7 公告资讯模块管理: 

四、数据设计:

4.1 数据库设计原则 

4.2 数据库实体

4.3 系统部分E-R图:

4.3.1 学生信息实体图如图所示:

 4.3.2 企业用例图设计:

4.3.3 求职评价信息实体图如图所示:

五、关键代码实现:

5.1 用户登录模块:

5.2 文件上传模块:

5.3 springmvc配置:

六、论文文档:

七、项目总结: 

八、源码获取: 


一、前言介绍:

        随着现代网络技术发展,对于大学生兼职信息系统的设计现在正处于发展的阶段,所以对的要求也是比较严格的,要从系统的功能和用户实际需求来进行对系统制定开发的发展方式,依靠网络技术的的快速发展和现代通讯技术的结合为人们带来方便,可以方便用户网上查看,还可以通过这些技术实现在线大学生兼职信息系统等过程。当今社会互联网急速发展,大学生兼职信息系统也在国内爆炸式的发展起来。这种网络模式对长期使用互联网社会产生了深远的的影响,在这种社会环境下开发一个适用于用户都可以操作的、简单的、便捷的大学生兼职信息系统的发展前景是非常好的。 以往的大学生兼职信息系统相关信息管理,都是工作人员手工统计。这种方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。本系统利用网络沟通、计算机信息存储管理,有着与传统的方式所无法替代的优点。比如计算检索速度特别快、可靠性特别高、存储容量特别大、保密性特别好、可保存时间特别长、成本特别低等。在工作效率上,能够得到极大地提高,延伸至服务水平也会有好的收获,有了网络,大学生兼职信息系统的各方面的管理更加科学和系统,更加规范和简便。

二、系统设计:

 2.1 系统运行环境


开发系统:Windows10

架构模式:MVC/前后端分离

JDK版本:Java JDK1.8

开发工具:IDEA

数据库版本: mysql5.7

数据库可视化工具: navicat for mysql

服务器:SpringBoot自带 apache tomcat

主要技术:Java,Springboot,mybatis,mysql,jquery,html,vue,elementui等

2.2 系统架构设计

2.3 登录时序图设计

三、功能截图: 

3.1 用户登录注册模块:

学生在线填写学号、密码、学生姓名、学校、专业、手机、邮箱等信息进行注册、登录操作。

3.2 求职招聘前台模块:

3.2.1 系统首页:

前台首页详情页面查看首页、企业信息、招聘信息、求职资讯、留言反馈、个人中心、后台管理等功能操作。

3.2.2 企业信息:

3.2.3 企业详情:

3.2.4 招聘信息:

学生进入招聘信息可以查看企业账号、企业名称、联系人、联系电话、企业邮箱、岗位名称、图片、招聘人数、工作内容、工作地点、工作时间、岗位工资、结算方式信息,并可以进行应聘操作。程序效果图如下图所示:

3.2.5 招聘详情:

3.2.6 学生应聘:

应聘的时候需要上传简历和填写日期等信息完成提交。

3.2.7 招聘资讯:

3.2.8 招聘资讯详情:

3.2.9 留言反馈:

3.2.10 个人中心:

学生进入个人中心可以填写学号、密码、学生姓名、性别、头像、学校、专业、手机、邮箱进行更新信息、退出登录操作。

3.2.11 用户后台:

3.3 后台系统管理模块: 

管理员对大学生求职招聘信息系统进行查看首页、个人中心、学生管理、学生简历管理、企业管理、企业信息管理、招聘信息管理、学生应聘管理、兼职评价管理、留言板管理、系统管理并进行详情、删除、修改等操作。

管理员输入个人的用户名、密码和角色登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码和角色不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码、角色,直到账号密码输入成功后,会提登录成功的信息。

​3.3.1 学生模块管理:

3.2.2 简历模块管理:

3.3.3 企业模块信息:

3.3.4 招聘模块管理:

管理员对招聘信息管理进行查看企业账号、企业名称、联系人、联系电话、企业邮箱、岗位名称、图片、招聘人数、工作内容、工作地点、工作时间、岗位工资、结算方式信息并可以进行详情、删除、修改操作。

3.3.5 应聘模块管理:

管理员对学生应聘管理进行查看企业账号、企业名称、岗位名称、工作内容、工作地点、工作时间、岗位工资、申请日期、个人简历、学号、学生姓名、手机、审核回复、审核状态信息并可以进行详情、删除、修改操作。

3.3.6 兼职模块评价:

管理员对兼职评价管理进行查看企业账号、企业名称、岗位名称、企业评分、评价内容、评价日期、学号、学生姓名、手机、审核回复、审核状态信息并可以进行详情、删除、修改操作。

3.3.7 公告资讯模块管理: 

四、数据设计:

4.1 数据库设计原则 

数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。在系统设计当中数据库起着决定性的因素。下面设计出这几个关键实体的实体—关系图

4.2 数据库实体

数据模型中的实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。例如,公司中的每个员工,家里中的每个家具。

4.3 系统部分E-R图:

4.3.1 学生信息实体图如图所示:

 4.3.2 企业用例图设计

4.3.3 求职评价信息实体图如图示:

五、关键代码实现:

5.1 用户登录模块:


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

   
  1. // 登录
  2. form. on( 'submit(login)', function( data) {
  3. data = data. field;
  4. if (!data. role) {
  5. layer. msg( '请选择登录用户类型', {
  6. time: 2000,
  7. icon: 5
  8. });
  9. return false;
  10. }
  11. http. request(data. role + '/login', 'get', data, function( res) {
  12. layer. msg( '登录成功', {
  13. time: 2000,
  14. icon: 6
  15. });
  16. // 登录凭证
  17. localStorage. setItem( 'Token', res. token);
  18. localStorage. setItem( 'role', jquery( '#role:checked'). attr( 'title'));
  19. // 当前登录用户角色
  20. localStorage. setItem( 'userTable', data. role);
  21. localStorage. setItem( 'sessionTable', data. role);
  22. // 用户名称
  23. localStorage. setItem( 'adminName', data. username);
  24. http. request(data. role + '/session', 'get', {}, function( res) {
  25. // 用户id
  26. localStorage. setItem( 'userid', res. data. id);
  27. // 路径访问设置
  28. window. location. href = '../../index.html';
  29. })
  30. });
  31. return false
  32. });

5.2 文件上传模块:


   
  1. @RequestMapping("/upload")
  2. public R upload (@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception {
  3. if (file.isEmpty()) {
  4. throw new EIException( "上传文件不能为空");
  5. }
  6. String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf( ".")+ 1);
  7. String fileName = new Date().getTime()+ "."+fileExt;
  8. File dest = new File(request.getSession().getServletContext().getRealPath( "/upload")+ "/"+fileName);
  9. file.transferTo(dest);
  10. if(StringUtils.isNotBlank(type) && type.equals( "1")) {
  11. ConfigEntity configEntity = configService.selectOne( new EntityWrapper<ConfigEntity>().eq( "name", "faceFile"));
  12. if(configEntity== null) {
  13. configEntity = new ConfigEntity();
  14. configEntity.setName( "faceFile");
  15. configEntity.setValue(fileName);
  16. } else {
  17. configEntity.setValue(fileName);
  18. }
  19. configService.insertOrUpdate(configEntity);
  20. }
  21. return R.ok().put( "file", fileName);
  22. }

5.3 springmvc配置:


   
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:tx= "http://www.springframework.org/schema/tx"
  5. xmlns:aop= "http://www.springframework.org/schema/aop"
  6. xsi:schemaLocation= "http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/tx
  9. http://www.springframework.org/schema/tx/spring-tx.xsd
  10. http://www.springframework.org/schema/aop
  11. http://www.springframework.org/schema/aop/spring-aop.xsd">
  12. <!-- 配置数据源 -->
  13. <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  14. <property name="url" value="${jdbc_url}"/>
  15. <property name="username" value="${jdbc_username}"/>
  16. <property name="password" value="${jdbc_password}"/>
  17. <!-- 初始化连接大小 -->
  18. <property name="initialSize" value="0"/>
  19. <!-- 连接池最大使用连接数量 -->
  20. <property name="maxActive" value="20"/>
  21. <!-- 连接池最大空闲 -->
  22. <property name="maxIdle" value="20"/>
  23. <!-- 连接池最小空闲 -->
  24. <property name="minIdle" value="0"/>
  25. <!-- 获取连接最大等待时间 -->
  26. <property name="maxWait" value="60000"/>
  27. <property name="validationQuery" value="${validationQuery}"/>
  28. <property name="testOnBorrow" value="false"/>
  29. <property name="testOnReturn" value="false"/>
  30. <property name="testWhileIdle" value="true"/>
  31. <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
  32. <property name="timeBetweenEvictionRunsMillis" value="60000"/>
  33. <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
  34. <property name="minEvictableIdleTimeMillis" value="25200000"/>
  35. <!-- 打开removeAbandoned功能 -->
  36. <property name="removeAbandoned" value="true"/>
  37. <!-- 1800秒,也就是30分钟 -->
  38. <property name="removeAbandonedTimeout" value="1800"/>
  39. <!-- 关闭abanded连接时输出错误日志 -->
  40. <property name="logAbandoned" value="true"/>
  41. <!-- 监控数据库 -->
  42. <property name="filters" value="mergeStat"/>
  43. </bean>
  44. <!-- Spring整合Mybatis,更多查看文档:http://mp.baomidou.com -->
  45. <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
  46. <property name="dataSource" ref="dataSource"/>
  47. <!-- 自动扫描Mapping.xml文件 -->
  48. <property name="mapperLocations" value="classpath:mapper/*.xml"/>
  49. <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
  50. <property name="typeAliasesPackage" value="com..model.*"/>
  51. <property name="typeEnumsPackage" value="com.model.enums"/>
  52. <property name="plugins">
  53. <array>
  54. <!-- 分页插件配置 -->
  55. <bean id="paginationInterceptor" class="com.baomidou.mybatisplus.plugins.PaginationInterceptor">
  56. </bean>
  57. </array>
  58. </property>
  59. <!-- 全局配置注入 -->
  60. <property name="globalConfig" ref="globalConfig" />
  61. </bean>
  62. <bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
  63. <!--
  64. AUTO->`0`("数据库ID自增")
  65. INPUT->`1`(用户输入ID")
  66. ID_WORKER->`2`("全局唯一ID")
  67. UUID->`3`("全局唯一ID")
  68. -->
  69. <property name="idType" value="2" />
  70. <!--
  71. MYSQL->`mysql`
  72. ORACLE->`oracle`
  73. DB2->`db2`
  74. H2->`h2`
  75. HSQL->`hsql`
  76. SQLITE->`sqlite`
  77. POSTGRE->`postgresql`
  78. SQLSERVER2005->`sqlserver2005`
  79. SQLSERVER->`sqlserver`
  80. -->
  81. <!-- Oracle需要添加该项 -->
  82. <!-- <property name="dbType" value="oracle" /> -->
  83. <!-- 全局表为下划线命名设置 true -->
  84. <!-- <property name="dbColumnUnderline" value="true" /> -->
  85. <property name="metaObjectHandler">
  86. <bean class="com.config.MyMetaObjectHandler" />
  87. </property>
  88. </bean>
  89. <!-- MyBatis 动态扫描 -->
  90. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  91. <property name="basePackage" value="com.dao"/>
  92. </bean>
  93. <!-- 配置事务管理 -->
  94. <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  95. <property name="dataSource" ref="dataSource"/>
  96. </bean>
  97. <!-- 事务管理 属性 -->
  98. <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
  99. <tx:attributes>
  100. <tx:method name="add*" propagation="REQUIRED"/>
  101. <tx:method name="append*" propagation="REQUIRED"/>
  102. <tx:method name="save*" propagation="REQUIRED"/>
  103. <tx:method name="update*" propagation="REQUIRED"/>
  104. <tx:method name="modify*" propagation="REQUIRED"/>
  105. <tx:method name="edit*" propagation="REQUIRED"/>
  106. <tx:method name="insert*" propagation="REQUIRED"/>
  107. <tx:method name="delete*" propagation="REQUIRED"/>
  108. <tx:method name="remove*" propagation="REQUIRED"/>
  109. <tx:method name="repair" propagation="REQUIRED"/>
  110. <tx:method name="get*" propagation="REQUIRED" read-only="true"/>
  111. <tx:method name="find*" propagation="REQUIRED" read-only="true"/>
  112. <tx:method name="load*" propagation="REQUIRED" read-only="true"/>
  113. <tx:method name="search*" propagation="REQUIRED" read-only="true"/>
  114. <tx:method name="datagrid*" propagation="REQUIRED" read-only="true"/>
  115. <tx:method name="*" propagation="REQUIRED"/>
  116. </tx:attributes>
  117. </tx:advice>
  118. <!-- 配置切面 -->
  119. <aop:config>
  120. <aop:pointcut id="transactionPointcut" expression="execution(* com.service..*.*(..))"/>
  121. <aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice"/>
  122. </aop:config>
  123. </beans>

六、论文文档:

目    录

1 概述

1.1课题背景及意义

1.2 国内外研究现状

1.3 本课题主要工作

2 系统开发环境

2.1 Java技术

2.2 Mysql数据库

2.3 B/S结构

2.4 SSM框架

3 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2操作可行性

3.1.3 经济可行性

3.1.4 法律可行性

3.2系统流程分析

3.2.1系统开发流程

3.2.2 用户登录流程

3.2.3 系统操作流程

3.2.4 添加信息流程

3.2.5 修改信息流程

3.2.6 删除信息流程

3.3系统用例分析

3.3.1管理员用例图

3.3.2学生用例图

3.3.3企业用例图

4 系统设计

4.1 系统概述

4.2 系统结构设计

4.3数据库设计

4.3.1 数据库设计原则

4.3.2 数据库实体

4.3.3 数据库表设计

5系统界面实现

5.1 管理员登录

5.2 管理员功能模块

5.3 前台首页功能模块

5.4 学生功能模块

5.5 企业功能模块

6系统测试

6.1系统测试的意义

6.2 测试方法

6.3测试分析

结    论

致    谢

参考文献

七、项目总结: 

        本系统通过对Java和Mysql数据库的简介,从硬件和软件两反面说明了大学生兼职信息系统的可行性,本文结论及研究成果如下:实现了Java与Mysql相结合构建的大学生兼职信息系统,网站可以响应式展示。通过本次大学生兼职信息系统的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户

由于在此之前对于Java知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。

八、源码获取: 

 大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻

打卡 文章 更新 308/  365天

 精彩专栏推荐订阅下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》


转载:https://blog.csdn.net/weixin_39709134/article/details/127929610
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场