网上求职招聘系统的设计及实现毕业论文.docx_第1页
网上求职招聘系统的设计及实现毕业论文.docx_第2页
网上求职招聘系统的设计及实现毕业论文.docx_第3页
网上求职招聘系统的设计及实现毕业论文.docx_第4页
网上求职招聘系统的设计及实现毕业论文.docx_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文(设计)题 目 网上求职招聘系统的设计与实现 学 院 计算机与信息科学学院 70目录摘要1ABSTRACT1第1章 绪论21.1项目背景21.2研究目标与内容31.2.1研究目标31.2.2研究内容3第2章 开发环境与相关技术52.1开发环境52.2相关技术52.2.1Java语言52.2.2SpringMVC与spring62.2.3Maven72.2.4EasyUI72.2.5Hibernate7第3章 系统分析93.1系统的基本模型93.2系统流程图93.3用例图103.4类图113.5E-R图123.6系统数据流图133.7系统特色18第4章 总体设计194.1模块结构图194.1.1求职者个人信息管理194.1.2求职者求职204.1.3招聘方职位管理模块214.1.4修改用户名及密码21第5章 详细设计225.1数据库设计:225.2用例和顺序图275.2.1求职者投递275.2.2求职者投递推介职位285.2.3搜索校招295.2.4招聘方处理投递305.2.5招聘方邀请求职者315.3程序流程图335.4页面设计40第6章 实现426.1部分后台实现代码426.2工具方法类代码436.3系统测试49第7章 总结52参考文献:53致谢:54网上求职招聘系统代扬西南大学计算机与信息科学学院,重庆 400715摘要:网上求职招聘系统的目标是帮助具有一定文化水平的年轻求职者和招聘方找到更合适的对方。系统用户角色分为了求职者和招聘方,系统采用的了更加简洁的个人信息分类,使信息更加明确。系统直接面向职位,使得求职更加明确。系统集成了校招模块,对于校招信息和人才有着准确的把控,做到信息的及时有效。并且系统能自动的为双方推介相应的人才和职位。系统开发过程中使用了Java语言,采用了现下比较流行的springMvc ,spring ,hibernate技术,使用MySql数据库,采用eclipse作为开发工具,采用迭代模型加瀑布模型的开发形式,以文档作为驱动先将系统功能模块化,在一步一步迭代实现整个系统。关键词:在线;求职;招聘;人才推荐;springOnline Job Hunting and Recruitment SystemDAI Yang School of Computer and Information Science, Southwest University, Chongqing 400715, PR China Abstract: The goal of Online Job Hunting and Recruitment Systemis helping both the job seekers and employers to find each other. There are two roles in this system,jobseekers and employers. The system use more simple classification method to make the personal information more clear .Because its job-oriented, Its to find a exact job. This system also integrats the Campus Recruitment.,so it has an accurate control about the school rectuit information to make sure the informtion can be timely and effective. This system can automatically recommend job for jobseekers and talents for employer. To impliment this system, I have usrd technologies such as SpringMvc, Spring, Hibernate , MySQL; And the Iterative model with thewaterfall model;And eclipse as the tool.Key words: online; job hunting; recruitment; talents recommendation; spring第1章 绪论1.1 项目背景随着信息技术的发展与普及,对于互联网的运用也就愈加成熟广泛,互联网招聘在我们求职就业的过程中发挥的作用也是愈加的明显了。相对于传统的招聘方式而言,互联网招聘的优点是极其明显的。首先对企业来说,招聘信息的时效长,将消息发布到网站之后一直到撤销此条招聘信息之前,这一条招聘信息都是准确有效地,招聘信息的及时有效性能够得到很好地保障;第二就是招聘面广,这个面是指空间上的面,互联网招聘消除了地域上的差异,不论身处何地,都能够了解到相应的招聘信息,企业的人才来源也就相对的广了很多,更能够准确的招聘到企业自己需要的人才;最后一点也就是成本,互联网招聘的成本相对较低,没有传统招聘的一系列场地费和相应的人工费,招聘信息的传播也不再是媒体报纸来宣传,只需要在招聘网站发布,节省了大量的媒体宣传费用。对于个人来说,互联招聘的优势是更加明显的,第一点就是快捷方便,招聘信息的来源有了相应固定的渠道,获取信息更加方便,代价也小。其次是消息的准确与丰富,求职者可以通过互联网获得更加精确更加丰富的招聘信息,供求职者选择的机会也多了许多。但也正是由于互联网招聘的巨大优势,导致互联网招聘网站过多,不规范,信息分类不明确,虚假信息多,广告泛滥,面对目标不明确等等问题。而大多数的招聘网站是以盈利为目的,很难阻止这些问题的产生,导致了大量的人才流失,也促使了很多问题的滋生,如大学生就业困难,甚至大量的大学生无法就业。面对这些问题,我们急需一个解决方案,急需一个合理的平台,分类合理,管理优良,信息准确,有特定针对的人群,有特定的目标,并且不具备太大的功利性。1.2 研究目标与内容1.2.1 研究目标主要目标是实现一个针对具备大学文凭及更高等文凭的招聘系统,解决其就业难,难以搜集到准确信息的难题同时也是针对中小型企业及刚刚诞生的企业,解决其没有固定的招聘渠道,难以找到合适人才的问题。系统界面,要做到结构合理,简洁明确的特点,避免出现不友好的情况,如大多数招聘平台选择行业的问题,行业太多并且没有统一明确的分类方法,导致分类不明确,分类交叉重合的问题。避免出现太多级目录,明确页面显示的核心,即求职者、招聘方、职位,重点显示核心信息,求职者的目标是找到合适的职位,而招聘方的目标则是满意的人才。系统内容,系统内容要及时有效,重点满足求职求才双方的主要需求。以职位为核心,重点明确职位要求,职位的职责,求职者应该具备什么样的技能,招聘方可以提供什么样的待遇。1.2.2 研究内容本系统主要针对招聘双方,也就是企业与求职者。而系统的目的,就是以职位为核心对信息进行分类,以方便企业选拔人才,也使得求职者能够更加简单快捷的查询到自己自己心仪的公司的招聘信息,找到适合自己的职位。系统主要内容如下: (一)信息发布招聘方发布自己的招聘信息:这里的招聘信息主要包括公司的情况,公司招聘的职位,系统向招聘方推介满足要求的求职者,获得招聘方许可之后系统可向求职者发出投递邀请。求职者发布自己的求职信息:这里的求职信息,主要包括了自己个人信息,个人简历,以及对职位的一些简单要求。系统根据求职者的求职信息推介相应的岗位(二)信息检索招聘方可以根据条件检索相应的求职者信息,系统可以根据求职者信息做出人才推介,经招聘方同意之后发送投递邀请,也可以向求职者推荐满足其求职要求的职位,让其投递。求职者可以检索相应的校招安排,准确的把握好时间,参加自己心仪的公司的宣讲会,竞争适合自己并且自己感兴趣的职位。(三)信息管理招聘方发布的招聘信息在未被撤销的情况下,过了职位有效实现系统会自动将其清除。管理员对信息有着相应的权限,可以删除求职者和招聘方的信息第2章 开发环境与相关技术2.1 开发环境硬件配置:处理器:Intel(R) Core(TM) i5-3210 cpu 2.5GHz 2.5GHz内 存:4GB系统类型:64位操作系统操作系统:windows 7专业版软件环境:开发工具:eclipse-mars 插件 Apache-maven-3.2.3Java JDK:1.7.0_71Tomcat:7.0.56Database: mySQL5相关工具:microSoft office visio 2010Rational rose 2003Astah UML 7Navicat2.2 相关技术2.2.1 Java语言Java语言具备以下优势:1、 简单,Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。2、 面向对象,Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。3、 分布式,Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其他对象。4、 可移植性,平台无关的特性使Java程序可以方便地移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C语言实现,这使得Java系统本身也具有可移植性。5、 解释执行,Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。6、 多线程,多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为。2.2.2 SpringMVC与springspringMvc,Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。从这样一个角度来说,Spring MVC和Struts、Struts2非常类似。Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图。Spring,Spring是一个轻量级的DI和AOP容器框架;DI称作依赖注入(Dependency Injection),和控制反转一个概念,具体的讲,当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常有调用者来创建被调用者的实例。但是在spring中创建被调用者将不再有调用者完成,因此叫控制反转。创建被调用对象有Spring来完成,在容器实例化对象的时候主动的将被调用者(或者说它的依赖对象)注入给调用对象,因此又叫依赖注入;AOP,面向切面编程,Spring对面向切面编程提供了强有力的支持,通过它让我们将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑,不再负责其它系统问题(如日志、事务等),Spring支持用户自定义切面;面向切面编程是面向对象编程的有力补充。面向对象编程将程序分成各个层次的对象,面向切面的程序将运行过程分解成各个切面。AOP是从运行程序的角度去考虑程序的结构,提取业务处理过程的切面,OOP是静态的抽象,AOP是动态的抽象,是对应用执行过程的步骤进行抽象,从而获得步骤之间的逻辑划分。2.2.3 Mavenmaven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性。利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。2.2.4 EasyUIjQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。2.2.5 Hibernate对象/关系数据库映射(ORM)它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想。透明持久化(persistent)带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。事务(ransaction)应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。某些情况下,一个Session之内可能包含多个Transaction对象。尽管是否使用该对象是可选的,但无论是使用底层的API还是使用Transaction对象,事务边界的开启与关闭是必不可少的。 它没有侵入性,即所谓的轻量级框架移植性会很好缓存机制,提供一级缓存和二级缓存简洁的HQL编程第3章 系统分析系统在开发过程中采用了迭代模型外加瀑布模型的开发形式,将系统根据功能划分为几个独立的功能模块,然后对每个独立的模块采用瀑布模型的开发方式,即:从保证产品质量的观点出发,在每个阶段结束时,将本阶段的文档进行审核,降低排除故障需要付出的代价。每个功能模块完成之后,都能够最为一个独立的完善运行的子系统。3.1 系统的基本模型图3.Error! Main Document Only. 系统基本模型Fig.3.1 Base model of the system3.2 系统流程图图3.2 系统流程图Fig.3.2 System flowchart根据流程图我们可以简单地看出系统的工作流程,用户登录系统,首先根据用户的登录信息判定用户角色,不同的角色进入不同的主界面。登录进入系统之后,用户就可以使用相应角色的相应功能了。3.3 用例图系统用例图:图3.3 系统用例图Fig.3.3 Use case diagram of the system 求职者用例图:图3.4 求职者用例图Fig.3.1 Use case diagram of job seeker招聘方用例图:图3.5招聘方用例图Fig.3.5 Use case diagram of employer3.4 类图图3.6 类图Fig.3.6 Class diagram3.5 E-R图图3.7 E-R图 Fig.3.7 E-R diagram根据如上的E-R图,我们能够对系统所使用的实体有所了解,同时能够清晰的看出各个实体之间的关系,以及实体所具有的属性,通过实体之间的联系与实体属性的了解,我们对系统所需要的数据有所把握,对系统的的功能也能够有了清晰地认知。3.6 系统数据流图系统角色分为了求职者与招聘方。每个角色进入的页面并不相同,只有求职者与招聘方存在少量共享页面。用户的登录,验证登录名密码,若错误返回错误信息,普通用户注册时,若用户名已被注册,系统将返回错误并给与提示。求职者登录之后,可以修改个人信息查询相应职位,投递职位,查询校招等信息;招聘方登录之后可以完善公司信息以及发布相应职位用户注册与登录。1. 注册:用户输入要注册的账号与密码,系统查询数据表,若已存在用户名则返回提示信息提示该用户名已存在用户重新输入用户名,若系统不存在相同用户名,则插入数据,并进入系统用户主页。数据流图:图3.8 数据流图Fig.3.8 Data flow diagram2. 登录:用户数据登录数据即账户名和登录密码,选择用户角色,系统判定用户角色,查询相应数据表,返回数据,如果验证通过用户进入相应主页,验证未通过,显示相应提示信息。数据流图:图3.9数据流图Fig.3.9 Data flow diagram求职者登录系统:求职者登录系统之后,可以完善自己的相关信息,根据相应的条件查找职位,也可以查找校招以及兼职,查询职位之后可以选择相应的职位进行投递,求职者可以查看自己的投递记录,看招聘方有没有给出相应的反馈1. 修改个人信息,求职登录系统之后进入个人信息页面,在这个页面上可以修改个人的基本信息,如果是第一次进入页面,系统会提醒你完善自己的基本信息。数据流图:图3.10 数据流图Fig.3.10 Data flow diagram2. 添加或修改个人获奖经历、证书、工作经验、技能,上传个人附件,对于求职者来说,需要一定的个人信息,完善个人经历证书,工作经验和技能是必须的,可以直接修改已经保存的信息,也可以直接添加新的信息图3.11数据流图Fig.3.11 Data flow diagram添加或修改工作经验、技能、证书数据流程与此相同,只是针对相应的数据表3. 搜索职位并投递,可以按照一定的条件搜索职位并且投递该职位,投递的同时会生成一条投递记录,求职者可以查看自己的投递记录图3.12数据流图Fig.3.12 Data flow diagram4. 查看投递记录,投递记录包含了招聘方的反馈信息,求职者 通过反馈信息来查看自己的求职情况。图3.13数据流图Fig.3.13 Data flow diagram招聘方登录系统:招聘方登录系统,可以完善自己公司的相应信息,发布招聘职位,添加公司的校招安排,处理投递信息,邀请系统推荐的求职者进行投递1 修改公司信息图3.14数据流图Fig.3.14 Data flow diagram2 职位管理:招聘方发布招聘职位,包括职位的名称,招聘人数,招聘要求等等,招聘方也可以删除职位,不过不允许对招聘职位进行修改,删除职位时会将投递记录表关于此职位的信息一并删除,投递者将无法再查看此条职位的投递消息图3.15数据流图Fig.3.15 Data flow diagram3 处理投递,对求职者的投递进行反馈图3.7数据流图Fig.3.16 Data flow diagram4 管理校招计划,招聘方也可以添加校招,求职者可以查询信息,准备参加校招,校招计划针对公司发布的所有校招职位,与非校招职位没有关系图3.8数据流图Fig.3.17Data flow diagram3.7 系统特色本系统主要是具有两个方面的特色,第一点就是对求职者信息的分类,第二点就是针对招聘方进行人才的推荐,招聘方可以邀请求职者投递相关的职位,针对求职者进行职位的推荐,求职者可以对推荐的职位进行投递。1. 求职者信息的分类根据系统针对的对象,即即将毕业面对人生第一份工作的专科及以上的毕业生,将求职者的信息进行了更加详尽的分类,主要是分为了一下两类。一是知识类,包括个人基本信息,学历信息,获奖信息等等。二是技能类,包括工作经验以及自己会的技能等等,求职者还可以上传附件,对自己有一个比较详尽的介绍。2. 相关推荐一、 职位推荐职位推荐的原理是根据求职者的求职意向与意向工作地来进行推荐。职位推荐可以节约大量的时间,避免求职者浏览太多不必要的信息,做到信息的准确与及时,求职者可以直接投递系统推荐的职位。二、 人才推荐系统根据招聘方发布的职位来进行人才推荐,也主要是根据职位名进行推荐,招聘方可以查看求职者的详细信息,如果对推荐的求职者满意,可以直接邀请求职者投递本公司的相应职位。第4章 总体设计采用模块化的设计思路,根据独立性的原则将系统划分为几个可以独立命名并且访问的模块,每个模块完成相应的功能,满足相应的用户需求。图4.Error! Main Document Only.系统模块结构图Fig.4.1 Module structure diagram of the system4.1 模块结构图4.1.1 求职者个人信息管理图4. 2 求职者个人信息管理Fig.4.2 Personal information management for job seekers求职者个人信息管理模块功能相关描述:求职者个人信息管理模块,主要是实现对个人信息的增删改操作,其中的个人信息包括了:个人基本信息(姓名,年龄,出生地等基本信息)、获奖经历、工作经历、具备的技能、获得的各项证书。还能够上传关于介绍自己或者是展示自己作品的附件(附件只能上传一个),也可以删除附件4.1.2 求职者求职图4.3 求职Fig.4.3 Job wanted求职者求职模块功能相关描述:求职者搜索职位,可直接根据职位名、地点搜索相关职位,也可以根据地点搜索兼职,搜索职位兼职出现职位信息。通过学校名称搜索校招,则是出现的是在搜索学校有校招安排的公司,可以查看投递公司的相关校招职位以及查看公司的详细信息,投递职位只需点击职位投递按钮,跳转到投递记录页面图4.Error! Main Document Only. 职位管理Fig.4.4 Job management4.1.3 招聘方职位管理模块4.1.4 修改用户名及密码图4.5 修改用户名及密码Fig.4.4 Change the account name and password第5章 详细设计5.1 数据库设计:实体类设计与表一致,表之间的关联关系为:求职者信息表与奖项记录表,证书记录表,经验记录表,技能记录表均为一对多的关联关系;招聘方信息表与职位记录表,校招记录表为一对多关系表5.1求职者信息表 Table 5.1Job seeker 名称字段名称类型是否为空用户IdJSIDint(primary key)否用户名NAMEvarchar否真实姓名JSNAMEvarchar是密码PASSWORDvarchar否年龄AGEint是性别SEXvarchar是家庭住址FADDRESSvarchar是现居地LADDRESSvarchar是联系电话PHONENUMBERvarchar是QQ号码QQNUMBERvarchar是邮箱EMAILvarchar是自我评价SELFEVALUATIONvarchar是毕业院校UNIVERSITYvarchar是毕业时间GRADUATIONTIMEvarchar是学位DEGREEvarchar是专业MAJORvarchar是意向工作地JOBADDRESSvarchar是附件ASSUMEvarchar是字段描述:用户名、密码是用户注册是所填写的信息,只用于登录验证;学位不仅用于学士硕士等,其中也包括本科专科或者是经过其他培训的并获得相关资格认证的;附件可以是个人作品,或其他介绍,但仅限于Word文档,及doc/docx等相关格式的文档,不支持PDF/PPT或其他格式的资料,数据库字段中保存其在服务器上的存储地址。表5.2 招聘方信息表 Table 5.2 Employer名称字段名称类型是否为空招聘方IDEIDInt(primary key)否公司创建日期EBUILDvarchar是用户名ENAMEvarchar是公司规模ENUMBERvarchar是招聘方名称EOFFICALvarchar是用户密码EPASSWORDvarchar是企业法人代表EREPRESENTATIVEvarchar是公司官网EURLvarchar是字段描述:用户名、用户密码仅限于用户登录。表5.3职位信息表 Table 5.3 Job名称字段名称类型是否为空职位IDJIDInt(primary key)否工作地点JADDRESSvarchar否要求学历JDEGREEvarchar否职位要求JREQUIREMENTvarchar否职位明细JDISCRPTIONvarchar否工作经验JEXPERIENCEvarchar否职位结束日期JFINISHvarchar否职位名JNAMEvarchar否职位性质JNATUREvarchar否职位待遇SALARYvarchar否职位性质JNATUREvarchar否招聘人数JNUMBERInt否是否校招JSCHOOLvarchar否字段描述:工作经验:此职位要求的求职者应该具备怎样的工作经验职位明细:明确的表示职位职责与所应该承担的责任,以及职位未来发展方向,、以得到的特殊待遇或者是职位能够获得的福利职位要求:除开基本的学历要求,此字段中要明确此职位的某些特殊要求,如限男女等等职位性质:包括实习,全职,兼职是否校招:0表示此职位不参加校招,1表示此职位参加校招表5.4投递信息表 Table 5.4 Record 名称字段名称类型是否为空投递记录IDRIDInt(primary key)否投递日期DATEvarchar否招聘方IDEIDInt否招聘方名称ENAMEvarchar否是否是邀请记录INVITEvarchar否职位IDJIDInt是职位名称JNAMEvarchar是求职者IDJSIDInt否求职者姓名JSNAMEvarchar否消息反馈MESSAGEvarchar否字段描述:招聘方ID:表示职位所属的招聘方于数据库表中的主键职位ID:表示投递职位在所属的职位信息表中的主键是否是邀请记录:0表示此职位属于求职者投递某个职位的投递记录,表明此条记录必须包含职位ID与职位名称,1表示招聘方邀请记录,表示招聘方邀请某人投递公司职位,并不包含职位信息表5.5奖项信息表 Table 5.5 Award 名称字段名称类型是否为空奖项IDAIDInt(primary key)否获奖日期ADATEvarchar否奖项描述ADESCRIPTIONvarchar否奖项级别ALEVELvarchar否奖项名称ANAMEvarchar否字段描述:奖项级别:仅包括国家级,省市级,校级以及院级表5.6求职者信息表 Table 5.6 Certificate 名称字段名称类型是否为空证书IDCIDInt(primary key)否颁发日期CDATEvarchar否颁发机构CDEPAARTMENTvarchar否证书描述CDESCRIPTIONvarchar否证书名称CNAMEvarchar否表5.7工作经验记录表 Table 5.7 WorkExperience名称字段名称类型是否为空经验IDWIDInt(primary key)否描述WDESCRIPTIONvarchar否种类WKINDvarchar否名称WNAMEvarchar否表5.8技能信息表 Table 5.8 Skill 名称字段名称类型是否为空技能IDSIDInt(primary key)否技能等级SGRADEvarchar否种类SKINDvarchar否名称SNAMEvarchar否技能描述SDESCRIPTIONvarchar是表5.9校招信息表 Table 5.9 School recruit 名称字段名称类型是否为空校招IDSIDInt(primary key)否校招详细地址SADDRESSvarchar否学校名称SNAMEvarchar否校招日期STIMEvarchar否5.2 用例和顺序图5.2.1 求职者投递用例图:图5.1 搜索校招Fig.5.1 Search school recruit顺序图:图5.2搜索校招Fig.5.2 Search school recruit如顺序图所示,求职者点击社会招聘后执行JobController中societyRecruit()跳转到相应界面,页面加载完毕后,再调用控制器中societyRecruitData()跳转到listJob页面,根据页面跳转时传递的参数提交请求调用JobController中societyRecruitData(),在societyRecruitData()中执行searchRecordByJsId()查询到已经投递过的职位,用societyRecord()查询所有职位,出去已经投递的职位外,将数据传递到页面,传递到页面之后可以有三个选择分别是6,9,13,即可以点击按钮调用控制器中的searchJob()查看职位详情,也可以点击按钮调用控制器中的searchEmployer()查看职位所属公司详情,还可以直接点击投递按钮投递此职位。投递时searchEmployer()会查询职位所属的公司信息,将其中的一些字段取出,通过addRecord()插入数据库。5.2.2 求职者投递推介职位用例图:图5.3 投递推荐职位Fig.5.3 Deliver the recommend job顺序图:图5.Error! Main Document Only.投递推荐职位Fig.5.4 Deliver the recommend job求职者进入系统,点击职位搜索调用控制器中jobSearch()方法,跳转到jobSearch页面,页面加载完毕后发出请求,再通过调用控制器中recommendJob()方法加载listJob页面,根据后台传递的参数调用控制器中recommendJobData()查询推介职位,recommendJobData()方法中会执行searchRecordByJsId(),listJob(),similarity();方法,其中searchRecordByJsId()查询已经投递过的职位,listJob()查询在自己意向工作地区的职位,similarity()计算listJob()查出的职位与自己的求职意向的相似度,如果相似度达到一定的阀值且此职位还没有被此求职者投递,则返回到页面,求职者可以在页面点击查看此职位详情,再点击投递此职位。5.2.3 搜索校招用例图:图5.5 搜索校招Fig.5.5 Search school recruit顺序图:图5.6搜索校招Fig.5.6Search school recruit5.2.4 招聘方处理投递用例图:图5.Error! Main Document Only. 处理投递记录Fig.5.7 Handle deliver record顺序图:图5.Error! Main Document Only. 处理投递记录Fig.5.8 Handle deliver record招聘方进入系统,点击投递记录按钮,调用控制器中的employerRecord(),查询投递该公司所有职位的所有投递记录,记录返回到页面,可以点击按钮调用控制器中的searchJob()查看投递者投递职位的详细信息,也可以点击按钮执行控制器中的searchJobSeeker()查看投递该职位的求职者的详细信息,可以直接通过选择下拉框内容,点击提交按钮,调用handleRecord()方法,对此条投递记录进行反馈5.2.5 招聘方邀请求职者用例图:图5.9 邀请求职者Fig.5.9 Invite job seekers顺序图:图5.10 邀请求职者Fig.5.10 Invite job seekers招聘方进入系统,点击人才推介按钮,调用控制器中的talents(),在talents()中调用searchEmployer()获得公司所有职位的工作地点,再通过listJobSeeker()查询所有工作地点和职位地点相同的求职者,调用similarity(),计算求职者的求职意向和职位名称的相似度,如果相似度达到一定的阀值,并且通过searchRecordByEid(),去除已经投递过该公司职位的求职者,将剩下的数据传递到页面,招聘方通过点击按钮调用invite()方法,调用addRecord(),方法相投递记录表中插入一条记录,将记录中的invite字段设值为1,表明这是一条邀请记录5.3 程序流程图用户注册:图5.11 用户注册Fig.5.11 User register用户登录:图5.12 用户登录Fig.5.12 User login添加或修改获奖记录:图5.13 修改获奖记录Fig.5.13 Alter award record投递推介职位:图5. 14 投递推荐职位Fig.5.14 Deliver the recommend job求职者查看校招:图5. 15 查看校招Fig.5.15 search school recruit招聘方发布职位:图5. 16 发布职位Fig.5.16 Add job招聘方获得人才推荐:图5. 17 人才推荐Fig.5.17 Recommend talents5.4 页面设计用户登录与注册:图5.18 用户登录界面Fig.5.18 User login interface图5.19 用户注册界面Fig.5.19 User register interface求职者添加所获奖项:图5.20 添加所获奖项Fig.5.20 Add award record图5.21 显示获奖记录Fig.5.20 Show award record显示个人基本信息:图5.22 显示个人基本信息Fig.5.20 Show personal base data获取推荐职位:图5. 23 获取推介职位Fig.5.20 Show recommend job data第6章 实现6.1 部分后台实现代码求职者上传个人附件及预览查看后台代码:RequestMapping(file)public String file(HttpServletRequest request,ModelMap model)HttpSession session = request.getSession();JobSeeker jobSeeker = (JobSeeker) session.getAttribute(jobSeeker);Integer jsId = jobSeeker.getJsId();JobSeeker j = jobSeekerService.searchJobSeeker(jsId);if(j!=null & j.getAssume()!=null & j.getAssume()!=)model.addAttribute(jobSeeker, j);return jobseeker/file;elsereturn jobseeker/fileUpload;RequestMapping(value=/fileUpload, method = RequestMethod.POST)public String fileUpload(ModelMap model,HttpServletRequest request,MultipartFile file)System.out.println(file+ fileUpload);HttpSession session = request.getSession();JobSeeker jobSeeker = (JobSeeker) session.getAttribute(jobSeeker); Integer jsId = jobSeeker.getJsId();String path = session.getServletContext().getRealPath(/resources/file/+jsId);String information = jobSeekerService.fileUpload(file,path,jsId);if(information.equals(correct)System.out.println(false);return redirect:file;elsereturn jobseeker/fileUpload;RequestMapping(lookFile/fileName)public String lookFile(PathVariable(fileName) String fileName,HttpServletRequest request)HttpSession session = request.getSession();JobSeeker j = (JobSeeker) session.getAttribute(jobSeeker);fileName = fileName.substring(0, fileName.indexOf(_);return redirect:/resources/file/ + j.getJsId() + / + fileName+ .html;RequestMapping(deleteFile)public String deleteFile(HttpServletRequest request)HttpSession session = request.getSession();JobSeeker j = (JobSeeker) session.getAttribute(jobSeeker);Integer jsId = j.getJsId();String path = session.getServletContext().getRealPath(/resources/file/+j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论