基于 JSF 与 Hibernate 的 Web 应用.doc
《基于 JSF 与 Hibernate 的 Web 应用.doc》由会员分享,可在线阅读,更多相关《基于 JSF 与 Hibernate 的 Web 应用.doc(6页珍藏版)》请在三一文库上搜索。
1、精品论文基于 JSF 与 Hibernate 的 Web 应用郭宏杰 1,张亚芳 21 中国人民解放军 94188 部队,西安 (710077)2 武汉理工大学计算机学院,武汉 (430070)E-mail: 摘要:JSF 作为新一代的 Web 应用框架,能使用户从复杂界面开发中解脱出来,使用拖拽 技术进行用户界面开发。而开源框架 Hibernate 不仅提供了强大的工具类,还通过配置文件 为应用程序提供数据持久服务,极大地简化和方便了程序员对数据库的访问。通过对两种技 术的研究,给出 JSF 和 Hibernate 整合的方法,并以一个职业技能鉴定系统为例,详细阐述 JSF 与 Hibern
2、ate 在构建 Web 应用系统中的应用。关键词:JSF;对象/关系映射;Hibernate1. 引言随着 Web 应用系统的日益复杂化,开发精致的前台用户界面变得越来越困难,JSF 就 是为解决这个问题而诞生的。依靠简洁美观的用户界面开发方式和更加模块化的程序代码, 大幅度降低了 Web 应用程序开发和维护难度。同时,在 Web 应用系统开发中,都离不开对 关系数据库的访问。而在关系数据库中数据以表格记录方式存储,这与在 Java 语言中数据 以对象方式存储必然会产生矛盾。Hibernate 解决了这两种不同存储方式中的映射问题,它 是最优秀的对象/关系映射工具,极大地减少数据持久化相关的编
3、程工作量,消除或者封装 针对特定厂商的 SQL 代码,并且使数据结果集从表格的形式转换成一系列的对象,从而实 现业务逻辑的计算和流程控制。本文以职业技能鉴定系统的权限管理模块为例,阐述 JSF 与 Hibernate 在 Web 应用系统中的整合,用 JSF 实现显示层和业务逻辑层,Hibernate 实现数 据持久层。2. 关键技术2.1 JSF框架JSF 是为基于 Java 的 Web 应用提供的一种用户界面开发框架,其设计目的是使人们在 服务器端更加轻松地开发和维护,而只将用户界面呈现给客户端1。它包括一组 API 和两个 自定义标记库,通过一个控制器 Servlet 提供 Web 应用
4、程序生命周期,并提供了一组标准的、 可重用的服务器组件来构建用户界面,而且能够在服务器上处理客户端事件、输入验证等用 户界面管理问题。JSF 按照 MVC 架构可以分为三个部分:Model(模型)、View(视图) 和 Controller(控制器)2。JSF 的结构如图 1 示。Model 层是进行业务操作的部分,由它实 现业务逻辑,JSF 中一般使用 Java Bean。View 层即用户界面,它是与用户交互的部分。 Controller 层在 Model 层与 View 层之间,控制他们 之间的交互 过程,在 JSF 中 javax.faces.webapp.FacesServlet 作
5、为 Controller,与 faces-config.xml 配置文件控制 Web 应用 的运作流程。-6-2.2 Hibernate概述2.2.1 Hibernate的概念与架构图 1 JSF 结构图Hibernate 是一个开放源代码的纯 Java 的对象关系映射和持久性框架,它的目标是对于 开发者通常的数据持久化任务,解放其中的 95%3,Java 语言许多高级特性:如内省,多态, 继承等,同时还对 JDBC 进行了非常轻量级的对象封装。Hibernate 本质上是一个提供数据库服务的中间件,Hibernate 具有很大的灵活性,但同 时它的体系结构比较复杂,提供了好几种不同的运行方式
6、。一般来说,在所有的应用程序开 发中,用到的最核心的就是 Configuration、Session、SessionFactory、Session 和 Transaction 接口,通过这些接口,不仅可以存储和获得持久对象,并且能够进行事务控制。2.2.2 Hibernate原理与配置Hibernate 通常运行在两种环境当中:可管理配置环境,不可管理配置环境4。前者是可 以管理一些资源:如连接池管理,事物管理,安全定义,典型的环境是 J2EE 服务器。后者 主要是一些桌面应用或运行在 Tomcat 容器中,本身不能管理资源,应用程序必须自己实现。 实际上 Hibernate 将这两种环境进行
7、了统一的抽象,对于开发者来说只有一种环境:可管理 环境。Hibernate 为不可管理环境提供了可管理配置支持。图 2 显示了 Hibernate 的工作原理,说明了 Hibernate 应用到 Database 和配置数据来提供 持久对象给应用程序,通过简单的设置配置文件 Hibernate.properties 和创建 XML 映射工具, 就可以代替大量复杂的 JDBC 编程。图 2 Hibernate 原理5Hibernate 配置主要集中在两类配置文件,Hibernate 本身的属性文件和 XML 映像配置 文件。前者主要是配置数据库相关信息,后者则是配置类所映像的数据库表的相关信息5
8、。3. 基于JSF和Hibernate的Web应用职业技能鉴定管理系统就是基于 JSF 和 Hibernate 整合模型开发的,该系统实现了计划 管理、报名管理、考务管理、评审管理和证书管理等功能。无论是信息录入、修改、查询、 删除还是统计、汇总都符合要求,实现了职业技能鉴定的网络化管理,方便各鉴定站互相交 流信息。依据用户权限管理模块阐述基于 JSF 和 Hibernate 整合模型开发的流程。管理员可 以登陆用户管理模块,在这个页面里管理员可以修改用户权限、增加新用户、删除系统原有 用户、分配用户的访问权限等操作。3.1 JSF和Hibernate的整合模型JSF 与 Hibernate
9、整合开发的 Web 应用系统主要集中在 J2EE 的中间层的开发,分别由 JSF 和 Hibernate 实现 MVC 模式中三个组件的创建和数据持久化。其中 MVC 模型组件是由 Hibernate 从数据库映射的类构成,它们分别代表了应用中的操作对象。其余的可以定义为 受管的 JavaBean,用来在视图组件和控制组件传递数据6。Hibernate 按照配置文件和 Mapping XML 文件进行相关的数据表到 Java 类的映射以及 Java 类之间的关联映射。图 3 为 JSF 和 Hibernate 的整合模型。图3 JSF和Hibernate的整合模型3.2 基于Hibernate
10、的数据持久层整合后的模型层的改变会触发持久化对象状态的改变,这时 Hibernate 通过 Properties 格式或者 XML 格式的属性文件和 Mapping XML 文件,将持久化对象的改变映射到数据库 管理系统的相应表格中,从而改变数据库的状态。同样,数据层数据状态的改变也会通过映 射文件对应到相应的持久化化对象上,从而改变 JSF 框架中的模型部分;模型部分的变化也 会通过视图组件反应到客户端的 Web 浏览器上。该整合模型通过使用 Hibernate 配置连接池 技术管理和处理数据库,当用户需要进行数据库操作时,中间层才从连接池申请一个连接, 数据库操作完毕,连接立即释放到连接池
11、中,以供其他用户使用。这样,不仅大大提高了数 据库连接的使用效率,使得大量用户可以共享较少的数据库连接而且省去了建立连接的时间 7。Hibernate 是 Java 应用和关系数据库之间的桥梁,负责 Java 对象和关系数据库之间的映 射。Hibernate 内部封装了通过 JDBC 访问数据库的操作,向上层应用提供了面向对象的数 据访问 API。在 Web 应用中使用 Hibernate 包含以下步骤:(1)创建 Hibernate 的配置文件;(2)创建持久化类;(3)创建对象/关系映射文件;(4)通过 Hibernate API 编写访问数据库的代码。依据用户权限管理模块创建用户类为例,
12、介绍数据持久层的开发流程:创建 Hibernate 要使用的持久化类(POJO),文件命名为 User.java,该类定义了类的属性和方法(setter, getter 方法)以及相关的登陆验证和权限设置。该类要想被 Hibernate 解析,就需要编写 Hibernate 要使用的对象/关系映射文件 User.hbm.xml 文件,该文件对用户类的属性与数据库 键值进行映射配置。Hibernate 从配置文件中读取和数据库连接有关的信息,在创建这两种 类型的文件前,对 Hibernate 进行配置很关键,其配置文件一般命名为 hibernate.cfg.xml,该文 件配置了数据库连接(池)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSF Hibernate Web 应用
链接地址:https://www.31doc.com/p-3625426.html