人力资源管理系统-毕业论文.doc_第1页
人力资源管理系统-毕业论文.doc_第2页
人力资源管理系统-毕业论文.doc_第3页
人力资源管理系统-毕业论文.doc_第4页
人力资源管理系统-毕业论文.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 随着计算机的普及和计算机科学技术的飞速发展 人们开始越来越多地利用计算机解决实际问题 员工信息管理是企业信息管理的重要部分 面对大量的人事信息 采用人力处理即浪费时间 又浪费 人力和物力 并且数据的准确性低 因此 开发一个界面友好 易于操作的人力资源管理软件进行自 动化处理变得十分重要 这正是本系统开发的目的和意义 本文所阐述的人力资源管理系统 以浏览器 服务器模式高效地实现了人力资源管理系统的各项功能 可进行多条件查询 更新 密码设置 工资 和奖金的统计发放等功能 提升了企业的效率和竞争力 满足了现代企业管理的需要 JSP 继承了所有 Java 语言的特点 而且发展前景十分的广阔 因此本项目才用 Jsp 语言作为根本 选用经典的 Struts 作为开发架构 在数据持久层方面则使用了 Hibernate 关键字关键字 互联网 JSP 目 录 第一章第一章 序言序言 5 5 一 项目背景 5 二 项目目标与期望 5 三 项目设计原则 5 一 实用性原则 5 二 经济性原则 5 三 扩充性原则 5 第二章第二章 系统分析系统分析 6 6 一 需求分析 6 二 技术可行性 6 一 程序语言的选择 6 二 语言优势 6 三 操作可行性 7 三 环境可行性分析 7 一 软件环境 7 二 硬件环境 7 四 系统结构可行性分析 7 一 B S 模式简介 7 二 B S 模式的优点 8 第三章第三章 系统设计系统设计 8 8 一 总体设计 8 二 数据库设计 8 一 数据库的需求分析 8 二 数据库表的具体设计 9 三 详细设计 11 一 功能设计 11 二 具体设计 12 四 开发架构 12 一 Struts 架构简介 12 五 数据持久层 13 一 Hibernate 概述 14 第四章第四章 系统实现系统实现 1515 一 用户操作文件总体架构 15 一 用户登录模块设计 15 二 人员管理模块设计 19 二 文件架构图 28 一 人力资源管理系统架构图 28 二 奖惩文件架构图 28 三 人员管理架构图 29 四 薪金管理架构图 29 五 招聘管理文件架构图 29 三 技术难点 30 一 中文乱码 30 二 图片处理 30 三 HQL 语言 30 四 安全性 30 第五章第五章 系统测试系统测试 3030 一 测试的定义及目的 31 二 测试的原则 31 三 人力资源管理系统的测试 31 总结 31 参考文献参考文献 3232 第一章 序言 一 项目背景 有效力管理企业的人力资源 为企业提供强有力的储备力量 使之成为企业发展的主动力 通过 人力资源的有效管理 掌握最新的 准确的企业人力资源信息 并对其进行复杂的统计与分析 从而 充分发挥每个员工的潜能 为企业创造更大的价值 二 项目目标与期望 1 增加员工间竞争机制 鼓舞大家工作积极性 2 采取电脑管理人的方法 为企业节省人力 物力 三 项目设计原则 一 实用性原则 充分考虑到在人力资源管理中可能遇到的种种问题 尽量全面的做好需求分析 以减少日后更新 软件的次数 二 经济性原则 建立适合企业自身需求的网络平台 提供广泛的涵盖用户多种需求的功能 数据处理方式灵活以 满足需求 节省网站建设成本 并确保其较好的拓展性和开放性 同时网站具有基于 WEB 界面的管理 后台 能够自主的对网站中大部分内容作更新 修改操作 节省了企业网站的运营成本 提高了信息 更新 传播效率 三 扩充性原则 网站的整体规划及框架设计是具可扩充性的 前台页面的设计能保证网站在增加栏目后不会破坏 网站的整体结构 后台数据库的设计具有高度的扩充性 能够根据需要对栏目 类别的增 删 修改 第二章 系统分析 一 需求分析 通过网络人力资源管理系统对企业人力资源进行管理 使企业人力资源管理适应时代的发展要求 大大提高了企业的核心竟争力 二 技术可行性 一 程序语言的选择 二 语言优势 将内容的生成和显示进行分离 使用 JSP 技术 Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面 使用 JSP 标识或者小脚本来生成页面上的动态内容 生成的内容的逻辑被封装在标识和 JavaBeans 组件中 那么 其他人 如 Web 管理人员和页面设计者 能够编辑和使用 JSP 页面而不影响内容的生成 一次编写 到处运行 作为 Java 平台的一部分 JSP 拥有 Java 编程语言 一次编写 到处运行 的特点 随着越来越多的 供应商将 JSP 支持添加到他们的产品中 您可以使用自己所选择的服务器和工具 但并不影响当前的应 用 JSP 的平台适应性更广 这是 JSP 比 ASP 的优越之处 几乎所有的平台都支持 Java 它们可以在任何平台下通行无阻 虽然 NT 的 OS 占据了很大的市场的份额 但在服务器方面 UNIX 的优势仍然很大 从一个平台移植到另一个 平台 JSP 和 JavaBeans 甚至不用重新编译 因为 Java 字节码都是标注的字节码与平台无关 健壮的存储管理和安全性 由于 JSP 页面的内置脚本语言是基于 Java 编程语言的 而且所有的 JSP 页面都被编译为 Java Servlet JSP 页面就具有 Java 技术的所有优点 包括健壮的存储管理和安全性 数据库连接技术 很多的 OS 中都带有 JDBC 驱动程序 Java 就通过 JDBC 与数据库连接 执行查询 提取数据等操作 Sun 公司还提供了 JDBC ODBC 的桥连方式 因此 Java 也可以访问带有 ODBC 驱动的数据库 目前大多 数数据库系统都带有 ODBC 驱动 所以 Java 能访问诸如 Oracle Sybase MS SQL Server 和 Access 等类型 的数据库 三 操作可行性 对于用户来说 本系统只要求使用者掌握一定的上网经验 经过仔细设计和测试之后的系统具有操 作简单 方便灵活等优点 足可以满足各种用户的不同需求 同时也方便了公司的内部管理 管理人 员及用户一定会在短时间内掌握并熟练使用 只要动一动鼠标键盘就可以达到想要的效果 三 环境可行性分析 一 软件环境 操作系统 Win2k Server sp4 数据库 Microsoft SQL Server 2000 Enterprise Edition sp4 Web 服务器 TOMCAT IDE Eclipse3 1 1 Myeclipse4 1 1GA Lomboz emf Dreamweaver8 外部包 Struts jar Hibernate jar 二 硬件环境 AMD Athlon 64 3000 KingMax PC3200 512MB 2 Gainward NV35XT Seagate SATA 8M 120GB 2 四 系统结构可行性分析 一 B S 模式简介 本系统采用 B S 模式 B S Browser Server 结构即浏览器和服务器结构 它是随着 Internet 技术的兴起 对 C S 结 构的一种变化或者改进的结构 在这种结构下 用户工作界面是通过 WWW 浏览器来实现 极少部分事 务逻辑在前端 Browser 实现 但是主要事务逻辑在服务器端 Server 实现 形成所谓三层 3 tier 结构 这样就大大简化了客户端电脑载荷 减轻了系统维护与升级的成本和工作量 降低了用户 的总体成本 TCO 以目前的技术看 局域网建立 B S 结构的网络应用 并通过 Internet Intranet 模式下数据库应用 相对易于把握 成本也是较低的 它是一次性到位的开发 能实现不同的人员 从不同的地点 以不同的接入方式 比如 LAN WAN Internet Intranet 等 访问和操作共同的数据库 它能有效地保护数据平台和管理访问权限 服务器数据库也很安全 特别是在 JAVA 这样的跨平台语言 出现之后 B S 架构管理软件更是方便 快捷 高效 二 B S 模式的优点 维护和升级方式简单 第三章 系统设计 系统设计是在系统分析的基础上由抽象到具体的过程 主要目标是将系统分析阶段所提出的反映了 信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理 技术 方案 为下一阶段系 统实施提供必要的技术资料 应符合系统性 灵活性 可靠性 经济性的要求 一 总体设计 图 3 1 人力资源管理系统功能模块图 本系统从前台页面到后台数据库设计完全由我个人设计完成 二 数据库设计 一 数据库的需求分析 依据项目的处理需求 对应数据表的设计及功能如下 培训信息表 主要用于保存培训信息 奖惩表 主要用于保存奖惩信息 应聘信息表 主要用于保存应聘信息 薪金表 主要用于保存薪金信息 用户表 主要用于保存用户信息 人力规划 招聘信息管 理 企业人才库 培训计划 培训实施 培训材料 薪酬登记 薪酬修改 薪酬查询 添加用户 用户管理 主管部门审 批 人事部门审 批 员工考勤登 记 员工考勤登 记 考勤分析报 表 考勤规划设 置 人事管理考勤管理招聘管理培训管理薪酬管理系统管理 人力资源管理系统 二 数据库表的具体设计 表 3 1 培训信息表 字段名数据类型长度是否主键描述 idint4是数据库流水号 namevarchar100培训名称 purposevarchar500培训目的 begintimedatetime8开始培训时间 endtimedatetime8结束培训时间 datumvarchar2000培训人员 teachervarchar50培训讲师 studentvarchar50学生 createtimedatetime8创建时间 educatebit1培训级别 effectvarchar500培训影响度 summarizevarchar2000培训材料 表 3 2 奖惩表 字段名数据类型长度是否主键描述 Idint4是数据库流水号 Namevarchar2000奖惩名称 Reasonvarchar50奖惩原因 explainvarchar50描述 createtimedatetime8创建时间 表 3 3 应聘信息表 字段名数据类型长度是否主键描述 idint4是数据库流水号 namevarchar50姓名 sexbit1性别 ageint4年龄 jobvarchar50应聘职位 specialtyvarchar50所学专业 experiencevarchar50工作经验 studyeffortvarchar50在校所学专业 schoolvarchar50毕业学校 telvarchar50电话 emailvarchar50电子邮件 createtimedatetime8创建时间 contentntext16详细经历 isstockbit1标识 表 3 4 薪金表 字段名数据类型长度是否主键描述 idint4是数据库流水号 namevarchar50员工姓名 basicfloat8基本薪资 eatfloat8饭补 housefloat8房补 dutyfloat8全勤奖 scotfloat8赋税 punishmentfloat8额外补助 otherfloat8罚款 granttimedatetime8发放时间 totalizefloat8总计 表 3 5 用户表 字段名数据类型长度是否主键描述 idint4是数据库流水号 usernamevarchar50用户名称 passwordvarchar50用户密码 sexbit1用户性别 birthdaydatetime8用户出生年月日 createtimedatetime8用户创建的时间 isadminbit1是否超级管理员 contentvarchar2000管理员级别 三 详细设计 一 功能设计 本系统主要用于对企业中的 人 进行管理 具体地讲 人力资源管理系统就是通过人力资 源规划 员工考核 薪酬管理 员工激励 人才培训和开发等一系列手段来提高劳动生产率 最终达 到发展目标的一种管理行为 具体实现目标如下 实现对员工信息进行全面管理的功能 设置人力资源基础信息管理功能 设置员工考勤管理功能模块 员工薪酬信息管理 实现企业员工培训信息全程跟踪的功能 实现企业的招聘信息 应聘信息的管理功能 企业人才库管理功能 系统用户信息的管理 系统最大限度地实现了易安装性 易维护性和易操作性 系统运行稳定 安全可靠 二 具体设计 人力资源管理系统是针对中小企业对现有员工和新聘员工的一个 WEB 管理平台 主页功能模块主 要包括以下功能模块 人员管理 主要包括浏览人员信息 添加人员信息 人员信息的添加 人员信息的修改 招聘管理 主要包括应聘人员信息的详细查看 删除 添加以及信息入库 培训管理 主要包括培训计划的详细信息 信息删除 添加培训计划和填写培训总结 奖惩管理 主要包括奖惩详细信息 删除详细信息 添加详细信息 修改详细信息 薪金管理 主要包括薪金的修改 添加 删除 四 开发架构 一 Struts 架构简介 Struts 就是一种基于 MVC 经典设计模式的框架 也是当前 Web 开发中比较成熟的一种框架 1 经典的 经典的 MVC 模式模式 MVC Model View Controller 模式 即模型 视图 控制器模式 其核心思想是将整个程序代码分成 相对独立而又能协同工作的 3 个组成部分 图 3 1 MVC 设计模式的结构 五 数据持久层 数据是软件系统中不可缺少的环节 数据持久化的解决之道也一直是企业计算标准中最有影响力的 部分 如今关系型数据库已经稳定地占据着主要的数据库市场 XML 技术和 XML 数据库技术也日渐成熟 模 型 视图 1视图 2 控制器 事 件 改变改变 改变 更新更新 获得数据获得数据 一 Hibernate 概述 Hibernate 在英文中的意思是 冬眠 从这个角度也可以体会到 Hibernate 架构下提供的相关技术可 以实现度十角状态的持久性保存 在传统的数据库编程中 开发人员要面对大量重复行代码的编写 以实 现对不同数据表中的数据的获取 并将获取到的记录数据封装成对象 在处理完成之后 如果需要进行对 象状态的存取 需要将对象中的数据拆卸成数据库记录中的对应字段的值 然后向数据库中进行存取 这种工作方式显然没有实现真正意义上的数据存取阶段的面向对象 虽然数据存取过程中的工作步 骤是基本固定的 但是由于操作的数据表中字段列表数据的不同 使得开发人员必须要不厌其烦地书写与 相应的实体类对应的封装处理过程 而在 Hibernate 中 类似这种重复性高 工作量大 但是又必须保证高质量完成的体力活 全部由 Hibernate 接管过去 这对广大的 Java 开发人员无疑是个非常好的消息 Hibernate 本质上是一个面向 Java 开发环境的对象 关系数据库映射工具 在 Hibernate 之前 开发人 员要将面向对象的软件和关系数据库结合在一起 往往会费长麻烦 而借助 Hibernate 对象 关系数据库映 射技术 可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于 SQL 的关系模型数 据结构中去 图 3 2 Hibernate 工作示意图 Java 应用 Hibernate HQL 语句 数据库 SQL 语句 XML 映射 文件 第四章 系统实现 一 用户操作文件总体架构 用户操作模块主要包括用户登录和人员管理模块 具体功能如下 用户登录模块 用于登录系统 人员管理模块 用于浏览 添加和修改人员信息 一 用户登录模块设计 用户登录模块是用户进入主页面的入口 其运行结果如图所示 图 4 1 用户登录模块运行结果 系统登陆是人力资源管理中最先使用的功能 因为用户登陆在数据库中使用的是人员表 人员表 中有一个 isadmin 字段 是来标识是否是管理员的 在登陆时要根据数据库的这个字段来判断此用户 是否具有管理员的权限 在网页里添写用户名和密码后点击 登陆 按钮 网页会访问一个 URL 这 个 URL 是 logon do action logon 代码如下 用户名 密码 在这个表单的 name 的值是 usersForm 它是 Struts 的 ActoinForm 的实现类在配置文件中的名字 如下所示 action 是 Struts 的 Action 的 URL 他们在 Struts 的配置文件中都是已经配好的 如下所示 在这个配置文件中 可以了解到如下信息 根据 name userForm 可以找到与之相对应的 ActionForm 的实现类 com bOS bPRO PersonManage actionform UsersForm 根据 type com bOS bPRO PersonManage action UsersAction 可以找到处理用户数据的 Action 类 根据和可以了解 这个 Action 返回 success 时 页面会被转到 manage jsp 文件 这就是登陆成功的页面 如果当 Action 返回 failed 时 页面会被转到 failed jsp 文 件 这个文件是当用户登陆失败将要转到的页面 Struts 的 Action 的实现类是这个登陆页的核心内容 就来看看它是怎么实现的吧 如下所示 package com bOS bPRO PersonManage action import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse import net sf hibernate HibernateException import org apache struts action Action import org apache struts action ActionForm import org apache struts action ActionForward import org apache struts action ActionMapping import com bOS bPRO PersonManage actionform UsersForm import com bOS bPRO PersonManage en Users import com bOS bPRO PersonManage service UsersDao public class UsersAction extends Action private UsersDao dao new UsersDao public ActionForward execute ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws Exception String action request getParameter action System out println nUsersAction action action if action null equals action return mapping findForward error else if listuser equals action return listUser mapping form request response else if adduser equals action return addUsers mapping form request response else if logon equals action return logon mapping form request response else if updateuser equals action return updateUser mapping form request response else if deleteuser equals action return deleteUser mapping form request response else if selectuser equals action return selectUser mapping form request response return mapping findForward error private ActionForward selectUser ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws HibernateException Long id new Long request getParameter id Users u dao loadUsers id longValue request setAttribute user u return mapping findForward success private ActionForward deleteUser ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws HibernateException Long id new Long request getParameter id Users users new Users users setId id dao deleteUsers users return mapping findForward success private ActionForward updateUser ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws HibernateException UsersForm usersform UsersForm form Users users usersform populate dao updateUsers users return mapping findForward success private ActionForward logon ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws HibernateException UsersForm usersform UsersForm form Users users new Users users setUsername usersform getUsername users setPassword usersform getPassword boolean flag dao logonUsers users if flag request getSession setAttribute users users return mapping findForward success else return mapping findForward failed private ActionForward addUsers ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws HibernateException UsersForm usersform UsersForm form Users users usersform populate dao addUsers users return mapping findForward success private ActionForward listUser ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response throws HibernateException request setAttribute list dao listUser return mapping findForward success Struts 的 Action 实现类的 execute 方法是最先被执行的 这个方法本身也没有具体的事务 而 是根据 action 的参数不同执行相应的方法 在登陆页里面可以找到有一个 action logon 的字样 它的目的就是在这里做逻辑判断 当 action logon 时调用 logon 方法 logon 方法从 UsersForm 中得到用户提交的数据 然后在调用 UsersDao 的 logonUsers 方法 并且把 UsersForm 转成 Users 类做为 logonUsers 方法的参数 调用后会返回一个 boolean 型的值 如果为真 则返回 mapping findForward success 否则返回 mapping findForward failed 也就是当用户 登陆成功后 返回给用户登陆成功的页面 登陆失败后返回用户一个登陆失败的页面 那么 UsersDao 的 logonUsers 方法是根据什么得到的返回值呢 现在就让我们看看这个方法 如下所示 public boolean logonUsers Users users throws HibernateException Session session HibSessionFactory currentSession Transaction tx session beginTransaction Query query session createQuery select count from Users as u where u username name and u password password and u isadmin isadmin query setString name users getUsername query setString password users getPassword query setByte isadmin new Byte 1 byteValue List list null list query list mit HibSessionFactory closeSession if list null Iterator it list iterator if it hasNext if Integer it next intValue 1 return true return false 这个方法先通过 HibSessionFactory 得到一个 Hibernate 的 Session 并且开始一个事务 Session 再像使用一个欲编译似的命令似的东西 设定参数 提交事务和最后在关闭 Session 得到一个 List 里面就存储着所有查询出的结果 根据这个结果就可以判断出该用户是否有登陆的权根了 在返回 true 或者 false 就这样合法的用户就可以顺利的登陆了 那刚才那些有些类似于欲编译的东西是什 么呢 这些就是 Hibernate 特有的查询语言 被称为 Hibernate 查询语言 HQL 而它本身也就是使 用的 JDBC 的欲编译技术 二 人员管理模块设计 人员管理模块主要包括浏览人员信息 添加人员信息 人员信息的添加 人员信息的修改 此模 块文件架构如图 4 所示 各项管理工作都是在用户成功登陆后的管理页面进行的 在管理控制页面的左侧是各项的相关链 接 右侧是操作平台 管理控制页面右侧实际上是一个 iframe 如下所示 在左侧的链接中使用 target frame 就可以在这个 iframe 中打开新的链接了 单击 添加人员信息 即打开添加人员信息的页面如图所示 图 4 2 添加人员信息页面 添加人员信息的链接是这样的 如下所示 添加人员信息 在 Struts 配置文件中 添加人员信息的链接没有使用 ActionForm 类 也没有使用 Action 的实现 类 如下所示 adduser jsp 文件 只是一个普通的 JSP 文件 但是它的表单元素都是与 UsersForm 相对应的 UsersForm 如下所示 package com bOS bPRO PersonManage actionform import com bOS bUtil DateUtil import javax servlet http HttpServletRequest import org apache struts action ActionErrors import org apache struts action ActionForm import org apache struts action ActionMapping import com bOS bPRO PersonManage en Users public class UsersForm extends ActionForm public String getContent return content public void setContent String content this content content private Long id private String username private String password private Byte sex private String birthday private String createtime private Byte isadmin private String content public String getCreatetime return createtime public void setCreatetime String createtime this createtime createtime public Long getId return id public void setId Long id this id id public Byte getIsadmin return isadmin public void setIsadmin Byte isadmin this isadmin isadmin public String getPassword return password public void setPassword String password this password password public String getUsername return username public void setUsername String username this username username public void reset ActionMapping arg0 HttpServletRequest arg1 this id null this username null this password null this isadmin null this createtime null this content null this sex null this birthday null public ActionErrors validate ActionMapping arg0 HttpServletRequest arg1 return null public String toString StringBuffer toStr new StringBuffer toStr append UsersForm n toStr append id this id n toStr append username this username n toStr append password this password n toStr append sex this sex n toStr append birthday this birthday n toStr append createtime this createtime n toStr append isadmin this isadmin n toStr append content this content n toStr append n return toStr toString public String getBirthday return birthday public void setBirthday String birthday this birthday birthday public Byte getSex return sex public void setSex Byte sex this sex sex public Users populate Users u new Users u setId getId u setIsadmin getIsadmin u setContent getContent u setUsername getUsername u setPassword getPassword u setSex getSex u setBirthday DateUtil parseToDate getBirthday DateUtil yyyyMMdd u setCreatetime DateUtil parseToDate getCreatetime DateUtil yyyyMMddHHmmss return u UsersForm 类中的 reset 方法作用是当用户点击 重置 按钮时 清空 input 输入框的内容 toString 方法覆盖了 Object 和 toString 方法 populate 方法很有 它把 UsersForm 转化成 Users 实体类 大大方便了程序在对数据库操作时使用的方便 而且这个方法中还把用户的生日等表 单元素的值由字符型转成日期类型 在 adduser jsp 页面中的 action 上可以看到它要提交的 URL 如下所示 配置文件中 modifyuser 的 Action 实现类是 com bOS bPRO PersonManage action UsersAction 如下所示 在 UsersAction 找到参数 action 等于 adduser 时所调用的方法 addUsers 它只是把从 UserForm 表单转化成的 User 类做为参数传给了 UsersDao 的 addUsers 方法 在由这个方法向数据库 添加人员信息 如下所示 public void addUsers Users users throws HibernateException users setCreatetime new java util Date Session session HibSessionFactory currentSession Transaction tx session beginTransaction session save users mit HibSessionFactory closeSession 如果添加成功页面会被发转到 user do action listuser 的 URL user do 的配置文件如下所示 这样就在页面做一次提交时它访问了二次 UsersAction 第一次的作用是向数据库中添加信息 随后又把所有人员信息取出来显示给用户 同样 UsersAction 还只是调用 UsersDao 取数据库的具体 操作在 UsersDao 文件中 他这次调用的是 listUser 方法 如下所示 public List listUser throws HibernateException Session session HibSessionFactory currentSession Transaction tx session beginTransaction Query query session createQuery select u from Users as u order by createtime List list query list mit HibSessionFactory closeSession return list UsersAction 取出从 UsersDao 中数据 在把它存到 request 里 然后返回 return mapping findForward success 在 Strutsr 的配置文件里返回页是 listuser jsp 所有用户的信 息都在这个页中显示出来 如下所示 浏览人员信息 人员姓名 登陆密码 性别 出生日期 是否管理员 简介 执行操作 0 Iterator it list iterator while it hasNext Users u Users it next a href selectuser do action selectuser a href modifyuser do action deleteuser Users users new Users users setId id dao deleteUsers users return mapping findForward success 在这个方法里得到页面提交过来的用户 ID 把这个 id 存在 Users 表中的实例中 传给 dao 的 deleteUsers 方法 我们可以看到关于数据库方面的操作都被封装在 Dao 中 具体的删除操作的代码 如下所示 public void deleteUsers Users users throws HibernateException Session session HibSessionFactory currentSession Transaction tx session beginTransaction session delete users mit HibSessionFactory closeSession 删除用户时和添加用户一样都是先得到一个 Hibernate 的 Session 后调用它的 delete 方法就 可以了 操作完成后千万记得要提交事务 即调用 commit 方法 和关闭 Session 修改人员的信息时必须先把要修改的人员信息先查找出来 让用户可以直观的根据以前的信息修 改 这样在点击修改时也要传给 Action 一个用户 ID 用来查询出用户信息 如下所示 a href selectuser do action selectuser Users u dao loadUsers id longValue request setAttribute user u return mapping findForward success 这个方法使在调用 Dao 的 loadUsres 的方法后 得到一个 Users 的返回值 里面存着与此 id 相 对应的人员信息 然后在把它存在 request 里 loadUsres 方法实现如下所示 public Users loadUsers long id throws HibernateException Session session HibSessionFactory currentSession Transaction tx session beginTransaction Users u Users session load Users class new Long id mit HibSessionFactory closeSession return u Hibernate 在使用这个 load 方法时比较特别 需要传入实体类的 class 和要查询的用户 ID 得到的返回值需要做一下强制类型转换 显示用户信息的页面在 updateuser jsp 中 如图所示 图 4 5 修改用户信息页面 实现代码如下所示 修改人员信息 input type hidden name id value 人员姓名 input name username type text class input value 登陆密码 input name password type text class input value 性别 input name sex type radio value 1 男 input name sex type radio value 0 女 出生日期 input name birthday type text class input value 是否管理员 input name isadminhelp type checkbox onClick javascript adminChecked value input type hidden name isadmin value 人员简介 没有查到该人员信息 首先要从 request 中取出人员信息 在转化成 Users 类型 然后显示在页面中 在显示是否是管 理员的项时比较人特别 如下所示 是否管理员 input name isadminhelp type checkbox onClick javascript adminChecked value input type hidden name isadmin value 实际想要提交的表单的名字是 isadmin 而在显示 checkbox 时用的 name 是 isadminhelp Isadmin 确使用 hidden 类型做为表单提交名字 这和 checkbox 的特性有关 在使用 javascrip 对 checkbox 的 value 控制时 当 value 的值如果像这样 value 被写死时 使用 javascrip 是对 value 的值改变后 在提交表单时是无效的 于是我们就用 hidden 做为表单提交项 而 input name isadminhelp type checkbox onClick javascript adminChecked value 只是在显示给用户的看的 在表单不接收 isadminhelp 的 value 只接收 isadmin 的 value 二 文件架构图 一

温馨提示

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

评论

0/150

提交评论