郭艺峰,吴文婷
(国家海洋信息中心 天津市 300171)
在网络化通信与应用普及的现在,海洋人才报名中普遍还使用邮箱、电话等传统应聘方式。面对越来越多的海洋人才报名需求,招聘人员的工作量极大地增加了。本系统以立足于减少工作量,从日常招聘中需要实际处理的工作为出发点,为应聘人员、招聘人员提供一个友好、方便、易用性高的系统。
图1 系统功能结构图
系统主要实现用户信息管理、岗位信息管理、招聘信息管理及统计信息管理4种功能。如图1所示。
根据报名招聘实际工作需求,系统分设了应聘人才、海洋企事业单位招聘人员、系统管理员3种角色。应聘人才通过注册、登陆系统实现报名应聘;海洋企事业单位招聘人员账号由系统管理员指定配发后,登陆系统完成招聘工作;系统管理员可对用户进行删除、重置密码等操作。
海洋企事业单位招聘人员发布工作需求信息,并对其进行修改、删除等操作。
招聘信息管理又分为报名信息管理及录取信息管理2个功能。
*报名信息管理
报名人员通过查看海洋企事业单位发布的岗位需求信息后,需填写完简历,上传一寸照片、身份证复印件等附件信息方可报名。期间可实时查看该应聘岗位已录取人数及职位剩余人数。每人最多能报2个职位。
*录取信息管理
招聘工作人员通过查看报名人员简历等相关信息,通过筛选进行录取(接收)操作。同时发送给相关报名人员接收(或驳回)信息,反馈给报名人员。
招聘工作人员可通过系统查看并下载该单位发布职位的录取人数和总报名人数情况,可根据实际工作需要导出成execl文件、打印报名人员简历,以及柱状图、饼状图等统计图形。
本系统基于SSH框架设计实现。集成SSH框架(Spring-Struts-Hibernate) 的系统从职责上分为4层:表示层、业务逻辑层、数据持久层和域模型层。其中使用Struts作为系统的整体基础架构,负责MVC(模型—视图—控制器) 的分离,在Struts框架的模型(model)部分,控制业务跳转(action),利用Hibernate框架对持久层提供支持,Spring整体管理struts和hibernate。具体做法是:用面向对象的分析方法根据海洋人才招聘工作需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects) 接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring注入管理,管理struts和hibernate[1]。
系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO) 组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
图2 SSH框架示意图
表1 用户信息表结构
2.2.1 域模型层和数据持久层的实现
分析海洋人才招聘实际工作流程,分离系统中的实体,建立pojo(简单java对象),用以存放数据库底层实现的具体类。通过建立相关的hbm.xml文件,利用hibernate建立对象到数据库的关系映射。以用户对象(user)为例。
User.hbm.xml文件:
采用java 1.5版本后特有的泛型接口,建立通用数据持久化操作类(dao),采用hibernate QBC查询方式,实现对数据库中具体类的增、删、改、查操作,完成数据持久化[2]。
BaseDao实现:
2.2.2 业务逻辑层的实现
依据实体对象建立服务servie,对应于前台用户发生的各种操作。例如验证用户登录的服务实现:
UserService用户服务:
再通过创建对应于用户操作的UserAction,实现前台用户登陆时触发UserService的用户登陆验证。这些对象的获取,事务的处理全部交由Spring 来管理[3]。
UserAction登陆实现:
建立对应的前台对应jsp视图文件,在struts.xml中UserAction配置返回的视图,即可实现用户登陆后的跳转及数据传递功能。
UserAction在struts中的配置信息:
系统最终完成图如图所示:
用户管理界面:
岗位信息管理界面:
统计信息界面:
至此,系统设计实现完成。相较于发邮件、打电话、逐个筛选等传统招聘方式,该系统很好地解决了海洋人才招聘中应聘人员多、招聘工作人员相对少的问题。通过使用该系统,可使招聘工作效率极大地提高,同时统计功能可免去招聘人员后续人工处理的繁复工作,减少了工作量。
[1]李刚.轻量级Java EE企业应用实战:Struts 2+Spring+Hibernate整合开发[M].北京:电子工业出版社,2012.
[2]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2010.
[3]Craig Walls Ryan Breidenbach[美].Spring in Action(第二版)中文版[M].北京:人民邮电出版社,2008.