人力资源管理系统招聘模块的设计与实现本科论文(编辑修改稿)内容摘要:

院本科毕业论文 3 多公司认可为具有战略意义的重要框架。 [5] Hibernate 是 一个 开放源代码 的对象关系映射框架,它对 JDBC 进行了非常轻量级的 对象封装 ,使得 Java 程序员 可以随心所欲的使用对象编程思维来操纵数据库。 它是第一个功能健全的解决关系对象影射解决方案。 虽然在功能上,它没有 TopLink 多样。 但在那些最常用的功能上, Hibernate 实现的更加健壮,并且有一个非常专业的团队提供全职的开发。 Hibernate 并不是全新的,它的 ORM思想在这个领域很普遍,但它提供的编程模型比其他任何竞争者都容易使用、都来的直接,它为 ORM 的使用提供了更加易用、廉价的途径。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序实用,也可以在Servlet/JSP 的 Web 应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB的 J2EE架构中取代 CMP,完成 数据持久化 的重任。 [6] 论文主要工作 /组织结构 本论文是基于人力资源管理系统项目来实现的。 论文 在第一章 首先介绍了人力资源 管理的内容,强调了现代企业对于一个稳健高效的人力资源管理系统需求的重要性 ,接着介绍了开发项目使用的技术的发展情况。 在第二章会详细的讨论项目开发的实际过程中所使用到的技术。 接着在第三章,作者会介绍人力资源管理系统中负责招聘的模块的功能,详细展示整个招聘流程。 第四章会结合项目的开发过程来讨论 SSH框架和 Oracle 数据库的使用 ,重点解决在实际开发中遇到的一些问题。 最后在第五章会对系统进行总结和展望。 南京大学软件学院本科毕业论文 4 第二章 基于 SSH 框架的 web 技术概述 Struts 框架 Struts 是 Jakarta 的一个字项目,它 提供了一种方法,可以在一个 Web 应用程序中一起使用 Java Server Pages(JSP)和 Servlet。 它的目的是要解决完全由 JSP或 Servelt 实现的传统应用程序中固有的问题。 Struts 只是一个 MVC 框架,用于快速开发 JavaWeb 应用程序,这样以 3 层的结构来开发软件项目,不但使开发的机构明了,而且还有助于项目的维护。 Struts 框架视图如图 所示。 Struts 的重点在 C(Controller)控制端,也为 V(View)视图端提供了一系列定制的标签。 但 Struts 几乎没有涉及 M(Model)模型端,所以 Struts 可以采用 Java 实现任何形式的商业逻辑,比如使用 Spring 来实现业务的功能。 [7] 图 Struts 框架 MVC 流程图 Model 部分 采用 JavaBean或 EJB 组件或 Spring 的 Bean 来设计和实现系统的业务逻辑。 根据不同的请求从 Action 派生具体的 Action 处理对象。 Action 处理对象则根据需要完成的任务来调用由 Bean 构成的业务组件。 Action 还可以创建 ActionFrom 的派生类实现对客户端表单书籍的封装及简单的校验。 View 部分 采用 JSP 实现。 Struts 提供了丰富的标签库,通过标签库可以南京大学软件学院本科毕业论文 5 减少 脚本 的使用,自定义的标签库可以实现与 Model 的有效交互,并增加了现实功能。 对应上图的 JSP 部分。 Controller 组件 有两个部分组成 ——系统核心控制器,业务逻辑控制器。 系统核心控制器,对应上图的 ActionServlet。 该控制器由 Struts 框架提供,继承 HttpServlet 类,因此可以配置成标注的 Servlet。 该控制器负责拦截所有的 HTTP 请求 ,然后根据用户请求决定是否要转给业务逻辑控制器。 业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用 Model来完成处理。 对应 Action 部分。 下面介绍一些 Struts 框架中重要的组件。 Struts 配 置文件 : 这是 将 struts 组 件 结 合 在 一 起 的 配 置 文 件。 该文件在服务器启动时加载到计算机内容,指导整个应用程序的工作, 是核心配置文件。 ActionServlet: ActionServlet 类是 Struts 的控制中心类,所有的 URL地址映射、 ActionForm的匹配和 Action的执行都需要这个类进行导航。 ActionClass: Action 类真正实现应用程序的事务逻辑,它们负责处理请求。 ActionForm:封装用户的请求数据,传递给 Action 类; ActionMapping : 将特定请求映射到特定 Action 的相关信息存储在ActionMapping 中, ActionServelt 将 ActionMapping 传送 到 Action 类的perform()方法, Action 将使用 ActionMapping 的 findForward()方法,此方法返回一个指定名称的 ActionForward,这样 Action 就完成了本地转发。 若没有找到具体的 ActionForward,就返回一个 null。 ActionForward: 用来指示操作转移的对象 ActionError: 用来存储和回收错误 Struts 标记库 : 可以减轻开发显示层次的工作 : 对应于图 ,我们可以简单描述一个 Struts 应用程序的简要执行流程: ( 1) 客户端浏览器发出 请求; ( 2) 服务器端的 Struts 中心类 ActionServlet 找到 文件,并放入到内存,将文件中的内容作为请求路径映射; ( 3) ActionServlet 类在 文件中找到相关的请求路径映射后填充 ActionForm类,将前台传进来的表单域打包成 Bean; ( 4) 然后转到 Action 类进行业务逻辑功能的实现,比如增、删、改、查数据库中的数据; ( 5) 再通过 文件 的映射,找到功能逻辑处理结束后显示南京大学软件学院本科毕业论文 6 个客户端用户看到的页面,转发功能通过 ActionForward 对象实现。 在第四章中, 作者还将结合实际的项目来探讨 Struts 的应用。 Spring 框架 Spring 是一个开放源代码的轻量级 Java 框架。 主要作用是为了解决企业应用程序维护的复杂性而创建的。 Spring框架的解决办法就是分层构架,分层构架允许程序员选择使用哪一个组件,同时为 JavaEE应用程序开发提供集成的容器。 Spring 框架就是实现了 AOP 功能的 IOC 容器。 在 IOC 容器的基础上加入AOP 不仅可以做到松耦合开发,还具有面向切面编程的功能。 七大模块的 架构,如图 所示。 图 Spring架构 Spring core:Spring core 提供 Spring 框架的基本功能。 Spring core 的主要组件是 Beanfactory,它是工厂模式的实现。 BeanFactory使用控制反转 (IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 基于 IOC 这种核心容器,可以将软件项目以松耦合的结构进行开发,这样可以有利于软件项目的维护。 Spring ORM: Spring框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、 Hibernate、和 iBatis SQL Map。 所有这些都遵从 Spring的通用事务和 DAO 异常层次结构。 Spring Web:Web 上下文模块建立在应用程序上下文模块之上,为基于 web的应用程序提供上下文。 所以 Spring 框架支持与 Jakarta Struts 的集成。 Web 模块还简化了处理多部分 mulpart 请求,以及将请求参数绑定到域对象的工作。 IOC 全称 Inversion Of Control,有些资料上页使用 DI 全称 Dependency Injection,中文名称为:依赖注入。 IOC 容 器就是去管理 Bean,创建 Bean 的一南京大学软件学院本科毕业论文 7 个内存区,在这个内存区中可以将操作 Bean的代码以面向接口的方式进行开发,这样基于接口的多态性,程序结构的分层就更加灵活化,维护和扩展也更方便。 IOC 概念从编程技术上来讲是将接口和实现想分离。 在 Spring中 IOC 容器占据了核心的功能,通过 IOC 容器就可以将 Java Bean完全管理,包括创建、销毁,还可以对数据库的 Java Bean进行自动化的事务 ,包括一些企业级的应用如 JNDI、 JavaMail 也被支持,先前的 EJB 容器由于侵入式的开发,如事务、状态类必须在支持 EJB 的容器中进行开发,这对平台的移植性造成了很大的影响,所以 Spring的 IOC 容器完全脱了平台,用最简单的 Java Bean技术实现接口与分离,并且对组件的调配提供很好的支持。 [8] Spring 框架的功能可以用在任何 JavaEE 服务器中,大多数功能也适用于不受管理的环境。 Spring 的核心要点是:支持不绑定到特定 JavaEE 服务容器的可重用业务和数据访问对象。 毫无疑问,这样的对象可以再不同 JavaEE环境 (Web或 EJB)中独立应用程序,测试环境之间重用。 Hibernate 框架 JBoss 公司 的 Hibernate 开源项目为企业级开发中的数据库持久层技术注入了新鲜的血液,它不仅对跨数据库、事务封装、 ORM 映射、延迟加载等这些细节技术提供了完善的解决方案,也对一些在程序开发中容易忽略的问题进行了良好的封装和规划,具体有以下几个方面: ( 1) 通过使用 ORMObjectrelational mapping 映射,以 Bean的形式操作数据库中的记录; ( 2) 强大的一级、二级缓存机制结合数据库连接池 POOL,这样使CURD 操作效率得到大大提升 ( 3) 在对 SQL 的可维护性 Hibernate 也做得非常优秀,将系统中大量的SQL语句放入 XML文件中进行统一管理,有助于项目的总体设计及维护修改 ; ( 4) Spring+Hibernate+范型是一个强大的组合,这样可以免去编写大量的DAO 代码,减少了工作量,而且维护性大大增强。 [9] Hibernate 的框架结构图如图 所示: 南京大学软件学院本科毕业论文 8 图 结构 Hibernate 的核心接口一共有 5 个,分别为 :Session、 SessionFactory、Transaction、 Query 和 Configuration。 这 5 个核心接口在任何开发中都会用到。 通过这些接口,不 仅可以对持久化 对象 进行存取,还能够进行事务控制。 下面对这五个核心接口分别加以介绍。 [10 ] Session接口负责执行被持久化对象的 CRUD操作 (CRUD的任务是完成与 数据库 的交流,包含了很多常见的 SQL语句。 )。 但需要注意的是 Session对象 是非线程安全的。 同时, Hibernate 的 session 不同于 JSP 应用中的HttpSession。 这里当使用 session 这个术语时,其实指的是 Hibernate 中的session,而以后会将 HttpSession 对象称为用户 session。 SessionFactory 接口负责初始化 Hibernate。 它充当数据存储源的代理,并负 责创建 Session 对象。 这 里用到了 工 厂模式。 需要 注意的是SessionFactory 并不是轻量级的,因为一般情况下,一个项目通常只需要一个 SessionFactory 就够,当需要操作多个数据库时,可以为每个数据库指定一个 SessionFactory。 Configuration接口负责配置并启动 Hibernate,创建 SessionFactory对象。 在 Hibernate 的启动的过程中, Configuration 类的实例首先定位映射文档位置、读取配置,然后创建 SessionFactory 对象。 Transaction 接口负责事务相关的操作。 它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 Query 和 Criteria 接口负责执行各种数据库查询。 它可以使用 HQL 语言或 SQL 语句两种表达方式。 Hibernate 的完美主要是体现在 ORM 上。 ORM 的概念是数据持久层的一种子实现,它通过将映射的机制,把一条数据库中的记录处理成一个 Java 的class(bean)处理,这样在 CURD 的处理上,真正 实现了以面向对象开发,也将软件的后期维护的周期大大缩短 南京大学软件学院本科毕业论文 9 Tomcat 服务器 Tomcat 是一个免费开源的 Servlet 容器,它是 Apache 基金会 Jakarta 项目中的一个核心项目,由 Apache、 Sun 和其他一些公司及个人共同开发而成。 由于有了 Sun公司的参与和支持,最新的 Servlet 和 JSP 规范总能在 Tomcat 中得到体现。 Tomcat 不仅是一个 Servlet 容器,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。