人力资源管理论文设计 下载本文

6、实现企业的招聘信息、应聘信息的管理功能。 7、企业人才库管理功能。 8、系统用户信息的管理。

9、系统最大限度地实现了易安装性、易维护性和易操作性。 10、系统运行稳定、安全可靠。 5.1.2 模块设计

人力资源管理系统是针对中小企业对现有员工和新聘员工的一个WEB管理平台。主页功能模块主要包括以下功能模块:

管理员管理:主要包括管理员的登录、添加、删除、及密码的修改。 人员管理:主要包括浏览人员信息、添加人员信息、人员信息的添加、人员信息的修改。

招聘管理:主要包括应聘人员信息的详细查看、删除、添加以及信息入库。 培训管理:主要包括培训计划的详细信息、信息删除、添加培训计划和填写培训总结。

奖惩管理:主要包括奖惩详细信息、删除详细信息、添加详细信息、修改详细信息。

薪金管理:主要包括薪金的修改、添加、删除。

5.2 系统的运行及实现

5.2.1 管理员管理模块设计

管理员管理模块主要包括登录,浏览、添加和修改人员信息。登录是用户进入主页面的入口,其运行结果如图5.1 所示。

图5.1 登录模块运行结果

系统登录是人力资源管理中最先使用的功能,因为用户登录在数据库中使用的是管理员表,管理员表中有一个rights字段,是来标识管理员的权限。在登录时要根据数据库的这个字段来判断此用户是否具有管理员的权限。在网页里添写用户名和密码后点击【登录系统】按钮,网页会访问一个URL,这个URL是

“logon.do”代码如下:

这个表单的action是Struts的Action的URL,它们在Struts配置文件struts-config.xml中是已经配好的,如下所示:

type=\ scope=\ name=\ input=\

在这个配置文件中,可以了解到如下信息:

1、根据name=\可以找到与之对应的actionForm的实现类\。

2、根据type=\可找到处理用户数据的Action类。

3、根据input=\如果当Action验证登录失败时,页面会被返回login.jsp登录页面。

4、根据

LoginAction 是登录时Struts的Action的实现类,是这个登录页的核心内容,主要代码如下所示:

public ActionForward execute(ActionMapping mapping,

ActionForm form, HttpServletRequest request, HttpServletResponse

response)

throws

Exception {

String adminName = request.getParameter(\ String password = request.getParameter(\ String rights = request.getParameter(\ Admin admin = new Admin(); admin.setAdminName(adminName); admin.setPassword(password); admin.setRights(rights); boolean flag = false;

AdminDAO adminDao = new AdminDAOImpl(); flag = adminDao.loginCheck(admin); if (flag) {

}

}

if (rights.equals(\ // 管理员登录 request.getSession().setAttribute(\//System.out.println(admin.getAdminName()); return mapping.findForward(\

}else if (rights.equals(\

//普通用户登录

request.getSession().setAttribute(\return mapping.findForward(\

request.getSession().setAttribute(\登录出错

ActionMessages errors = new ActionMessages(); ActionMessage error = new ActionMessage(\ errors.add(\

this.saveErrors(request,errors); }

Struts的Action实现类的execute()方法是最先被执行的,首先从request中得到用户提交的数据,然后在调用AdminDAO()的loginCheck ()方法。并且把数据封装成admin类做为loginCheck ()方法的参数。调用后会返回一个boolean型的值。如果为真,则返回“mapping.findForward(\”否则返回

return mapping.getInputForward();

“mapping.getInputForward();”也就是当用户登录成功后,返回给用户登录成功的页面,登录失败后返回用户一个登录页面。该方法的实现如下所示:

public boolean loginCheck(Admin admin) {

}

//boolean flag = false;

Session session = HibernateSessionFactory.getSession(); Transaction t = session.beginTransaction();

Query query = session.createQuery(\count(*) from Admin as a where a.adminName=? and a.password=? and a.rights=?\ query.setString(0,admin.getAdminName()); query.setString(1,admin.getPassword()); query.setString(2,admin.getRights()); List list = null; list = query.list(); t.commit();

HibernateSessionFactory.closeSession(); if (list!=null) { }

return false;

Iterator it = list.iterator(); if (it.hasNext()) { }

if (((Integer)it.next()).intValue()==1) { }

return true;

这个方法先通过HibSessionFactory得到一个Hibernate的Session并且开始一个事务,Session再像使用一个欲编译似的命令似的东西,设定参数、提交事务和最后在关闭Session。得到一个List里面就存储着所有查询出的结果。根据这个结果就可以判断出该用户是否有登录的权根了,在返回true或者false。就这样合法的用户就可以顺利的登录了。那刚才那些类似于欲编译的东西是什么呢,这些就是Hibernate特有的查询语言,被称为Hibernate 查询语言(HQL),而它本身也就是使用的JDBC的欲编译技术。

5.2.2 系统主页设计

管理员登录系统后进入系统主页,运行效果如图5.2所示。

图5.2 系统主页运行结果

进入主页后可以看到各个功能模块,如果是超级管理员登录,超级管理员进行所有操作,如管理员的添加、浏览、删除及修改。例如添加管理员实现如图5.3所示。

图5.3 添加管理员页面运行结果

如果是普通管理员登录,只能对本身信息进行操作,不能对管理员模块进行操作,但是可以对其他所用模块进行操作。 5.2.3 员工管理模块设计

员工管理模块主要包括浏览员工信息、添加员工信息、员工信息的修改、员