图书前言

JSF (JavaServer Faces)是一种用于构建Java Web应用的软件框架。它提供以组件为中心、事件驱动为基础的用户界面构建方法,可以简化和减轻Java Web应用的开发难度和开发强度。自JSF 1.2随Java EE 5于2006年发布后,该技术受到了业界的广泛响应和支持。在Java EE 5中,JSF成为Web层的三大主要技术(Servlet、JSP和JSF)之一。

2009年6月,JSF 2.0随Java EE 6一起发布。在Java EE 6中,JSF已取代JSP成为Web层的主要技术。与JSF 1.2相比,JSF 2.0不仅支持基于JSP的视图技术,也支持Facelets视图技术,而且将Facelets列为首选的视图语言。David Geary和Cay Horstmann合著的《Core JavaServer Faces(第3版)》已经用Facelets视图技术取代基于JSP的视图技术进行更新,并于2010年5月出版。

本书以JSF 2.0为背景,基于JSF 2.0推荐的Facelets视图技术,详细介绍JSF的各项核心技术及其应用。本书面向的读者要求具有一定的Java编程基础,对HTML语言最好有一定的了解。本书可以用作普通高等学校相关课程的教学用书,也可供广大Web应用开发人员学习和参考之用。

JSF技术用于构建Web应用,本书首先在第1章对Web及Web应用的起源、概念、原理和基本开发过程进行简单介绍,然后在第2章对JSF的作用、特点及相关概念和原理进行了总体介绍。第3章至第10章则分别对JSF的各单项技术及其应用进行详细介绍。大多数Web应用都是以数据库为中心的,本书最后两章介绍Java数据库访问技术JPA及其在Web应用开发中的应用,包括实体类的定义,实体管理以及Java持久性查询语言(JPQL) . 

全书立足基本理论和方法,注重实践与应用环节。对基本原理、技术和方法的介绍力求概念明确、结构清晰、逻辑严谨。以实际应用为出发点、本章所介绍内容为着眼点,精心设计各章的应用示例。以MVC架构为指导思想,介绍各应用示例的开发。各应用示例一般都包括模型、受管bean和JSF页面几部分。

本书还介绍了一个较为完整的Web应用(论坛)的开发,其功能包括登录、注册、浏览主题、发表主题、查看回复、回复主题等。该应用开发的介绍没有独立成章,而是随各章知识点的逐步介绍和推进,分步骤、分层次地展开。

本书采用JDK自身携带的Java DB为应用所需的数据库管理系统,Oracle公司官方支持的NetBeans IDE为应用开发平台。

本书提供相关的教学资源,包括教学课件以及所有应用示例的源代码。欢迎读者从清华大学出版社网站http://www.tup.tsinghua.edu.cn本书相应页面下载和使用。

由于作者学识水平有限,本书难免有错误和不妥之处,敬请广大读者批评指正。如果读者有好的建议或要求,请与作者联系. 

娄不夜

2013年2月