标题：搞定J2EE核心技术与企业应用：Ajax，JSP，Struts 2，Spring，Hibernate
图书信息
搞定J2EE核心技术与企业应用：Ajax，JSP，Struts 2，Spring，Hibernate
常建功，王向华编著  搞定J2EE核心技术与企业应用
ISBN 978-7-121-16608-2
2012年6月出版
定价：89.00元（含光盘1张）
16开
768页
从现在开始，让我们踏上J2EE的成功之路吧！
内容提要
本书是笔者在多年项目开发过程中的经验总结，它通过丰富的实例由浅入深、循序渐进地介绍了目前采用Java进行Web开发的各种框架的使用方法，从而帮助软件设计人员快速掌握这些Web开发技术的使用，并能将其应用到实战中。
本书在编排上力求让读者能够快速掌握Java Web的设计方法。首先对JavaEE的来源、整体框架和核心技术，以及MVC模式的设计思想、规范及优缺点进行了讲解；然后对Java Web环境的建立、数据库的搭建、一些基本技术（比如JavaScript、JSP、Servlet、JDBC）进行了讲解；接着对Ajax、Struts 2、Spring 3、Hibernate 3进行了讲解；又对Log4j、Dom4j、JUnit和 JFreeChart等工具的使用方法进行了介绍。本书的目的就是使读者快速学会工具的使用。最后，笔者按照软件的开发过程，采用面向对象的设计思想，通过不同的技术整合来进行一些项目实战。
本书适用于初、中、高级软件设计人员阅读，同时也可用做高校相关专业和社会培训班的教材。
作者介绍
常建功
毕业于西安电子科技大学，北大青鸟西安校区讲师。从事Java Web项目开发6年，熟悉SSH等开源框架，擅长SQL Server、Oracle和MySQL数据库技术。先后参与开发了国家二级项目陕西省渭河信息管理系统和陕西省雨水情查询系统等多个大中型项目，承担项目分析、项目设计和项目维护等多项工作。
前 言
前几年，JSP+Servlet是采用Java进行Web开发的常用技术，但后来Struts 2逐渐流行起来，最后Spring 3成了当仁不让的霸主，而Hibernate 3成了持久层处理技术的代表。其实这几种技术各有千秋，因此，Struts 2+Spring 3+Hibernate 3的组合成为了采用Java进行Web开发的主流。
通过本书，读者可以了解Ajax、JSON、JSF 2、Struts 2、Spring 3、Hibernate 3、JSP、Servlet、JDBC、JPA 2等目前最主流、应用最广泛的开发技术，还可以掌握Eclipse、Tomcat、JUnit、Log4j、JFreeChart、Dom4j等辅助工具的使用方法；通过本书的示例，读者还可以掌握面向对象的技术方法。本书通过多种前台技术和后台技术的不同组合，让读者深入地了解这些流行架构的使用方法。
如何学习Java Web开发技术
在学习Java Web开发技术时，首先要了解它的基本原理和相关的技术，目的是真正明白什么是J2EE，从而建立起一种大局观。然后通过对Struts 2、Spring 3等流行框架的学习，快速掌握使用它们来开发系统的技术，从而增强学习J2EE的信心。在初步掌握了Struts 2、Spring 3等技术后，再回过头来学习最基本的JSP、Servlet、JDBC等技术，因为不管是哪个流行框架，最终还是通过JSP、Servlet技术实现的。因此深刻地理解这些技术，对于更好地使用那些流行框架是有很大好处的。在领悟了最本质的技术后，就会对Struts 2、Spring 3、Hibernate 3等框架有新的认识，也能够灵活地对这些框架进行组合应用了，本书就是按照这个思路来编排的。
与其他书籍相比，本书有何特点
（1）技术全面
本书讲解了Ajax、JSON、JSF 2、Struts 2、Spring 3、Hibernate 3、JSP、Servlet、JDBC、JPA 2等技术，涵盖了目前采用Java进行Web开发的主流技术。除此之外，还讲解了各种Java Web开发的辅助工具，比如JUnit、Log4j、JFreeChart、Dom4j等，读者通过阅读本书即可掌握Java Web开发所需要的相关工具和软件的使用。
（2）由浅入深
让读者能很快地进行Java Web开发。每章都从一个简单的示例入手，让读者快速了解本章内容，然后再详细讲解本章涉及的基本原理和知识点，最后，通过一个详细的示例来巩固读者的学习成果，这样由浅入深的过程符合读者的接受过程。
（3）实战性强
本书选用的实例都是非常经典的，具有很强的实战性，比如网上考试等系统，读者在这些实例的基础上稍加修改，就可以直接应用，能够很好地满足实际的业务需求。
（4）采用面向对象的思想
本书的每个实例都采用面向对象的思想进行设计开发，首先从需求的提出开始，然后进行需求分析、架构设计、系统设计、数据库设计、编码、测试、部署，最终到程序的演示，使开发人员能够从头到尾了解整个系统的开发过程。
本书包括的内容
本书主要包含5部分的内容。
第一部分首先对J2EE的来源、整体框架和核心技术，以及MVC模式的设计思想、规范及优缺点进行了讲解，然后对Java Web环境的建立、数据库的搭建进行了介绍。
第二部分主要是对一些基本技术（如JavaScript、Servlet、JSP、JDBC）进行讲解。
第三部分主要是对Ajax、Struts 2、Spring 3、Hibernate 3进行讲解。
第四部分主要是对Log4j、Dom4j、JUnit和JFreeChart等工具的使用方法进行介绍。
第五部分笔者精选了大量的案例，在讲解时按照软件开发的过程，采用面向对象的设计思想，通过不同技术的整合来实现这些案例，使读者最终能够达到实战的目的。
书中案例列表
书中采用了大量的案例，每个案例都有针对性地讲解若干技术的组合，这样可以快速提高读者的开发水平。
● 档案管理系统：采用UML+JSP+Spring 3+Struts 2实现，参考本书第9章。
● 权限管理系统：采用JSP+Spring 3+EJB 3实现，参考本书第10章。
● 图书管理系统：采用JSP+Spring 3+Hibernate 3实现，参考本书第11章。
● 注册管理系统：采用JSP+JavaBean实现，参考本书第16章。
● 新闻发布系统：采用JSP+JavaBean+DAO实现，参考本书第17章。
● 网上购物系统：采用Ajax+Struts 2+Hibernate 3实现，参考本书第18章。
● 用户管理系统：采用Spring 3+Hibernate 3实现，参考本书第19章。
● 留言簿管理系统：采用JSF 2+Struts 2+Spring 3实现，参考本书第20章。
● 网上考试系统：采用Struts 2+Spring 3+Hibernate 3+JPA 2实现，参考本书第21章。
适合阅读本书的读者
本书具有实战性强、技术全面、内容量大、示例丰富的特点，力求以通俗的语言及丰富的实例来指导读者透彻掌握如何将目前流行的Ajax、JSON、JSF 2、Struts 2、Spring 3、Hibernate 3、JSP、Servlet、JDBC、JPA 2等技术运用在实际的程序设计中。但本书并不对这些技术进行深入的讲解，有需要的读者可以参考其他专业书籍以了解某一技术。本书适用于初、中、高级软件设计人员，尤其是对想学习Java Web开发的各种流行技术，而又不得其法的开发人员阅读，同时也可用做高校相关专业和社会培训班的教材。
作 者 
目 录
第0章 Java Web开发总览
在阅读本书之前，请各位读者务必先阅读本章的内容。本章主要描述项目开发的流程、如何进行架构设计、如何设计包结构等内容，这些内容是本书编写的基础。通过对本章节的阅读，读者可以了解本书各章节安排的基本指导思想，本书精选案例的设计思路。
第一部分
第1章 Java Web开发思想
随着IT技术的发展和企业对信息化需求的日益增加，在软件开发技术方面逐渐分为了两个阵营：Java和.NET。因为Java在安全性、跨平台性及分层次的架构方面有着不可比拟的优势，所以特别适合于大型企业级应用的开发，JavaEE就是Java平台中专门为企业应用制定的标准框架。本章将从JavaEE的发展讲起，在读者了解了JavaEE的运行模式后，再逐个讲解JavaEE的核心技术，然后通过对MVC模式的讲解，使读者认识到MVC是如何实现JavaEE框架的，最后讲解Java Web开发所需的常用技术。
第2章 搭建Java Web开发和运行环境
要进行Java Web程序开发，就离不开编译Java的环境JDK，也离不开运行JSP和Servlet的容器，本书选择Tomcat 7，此外还需要能够快速开发代码的辅助工具Eclipse和MyEclipse。有很多初学者会在环境的配置上困扰，因此在开发Java Web程序之前，有必要先介绍一下这些软件和工具的安装、配置和使用方法。
本章首先建立Java开发环境，然后配置Tomcat 7和MyEclipse，通过本章开发环境的搭建，使读者能够在此基础上开发、创建和发布Web应用程序。
第3章 搭建数据库开发环境
虽然前面讲解了如何搭建Java的开发环境，以及Java Web的运行环境，但这对于实际的Java Web开发来说还是不够，目前绝大多数的Java Web应用，都是建立在数据库基础上的，因此本章将讲解数据库环境的搭建。
本章首先对MySQL数据库进行简单的介绍，然后重点讲解MySQL数据库的安装和使用方法，最后还简单介绍了Oracle数据库。
第二部分
第4章 JavaScript技术详解
JavaScript在页面控制方面起着不可代替的作用，但它在编程方面的一些不好的习惯也饱受诟病，但自从Prototype推出以后，开发人员突然发现，原来JavaScript可以使用面向对象的方式编程，也可以促使开发人员养成良好的编程习惯。
本章首先对JavaScript的基础知识进行介绍，然后重点讲解JavaScript的函数、对象和事件处理机制，以及如何使用JavaScript来面向对象编程，最后着重讲解XMLHttpRequest对象，从而使读者真正理解JavaScript的强大功能。
第5章 Servlet技术详解
JavaScript、Servlet、JSP和JDBC是进行Java Web开发必备的基本技术。上一章讲解了JavaScript的基础知识，本章重点讲解Servlet的基础知识。本章首先对Servlet进行简要的介绍，然后详细讲解Servlet的生命周期，最后通过示例演示Servlet的使用方法。
第6章 JSP技术详解
JavaScript、Servlet、JSP和JDBC是进行Java Web开发必备的基本技术。上一章讲解了Servlet的基础知识，本章重点讲解JSP的基础知识。JSP是一种纯Java平台技术，采用JSP开发的Web应用是跨平台的，既可以在Windows下运行，也可以在UNIX下运行。
第7章 JDBC技术详解
一般来讲，现在的Java Web开发已经很少直接使用JDBC进行数据库的相关操作了，一般都是自己对JDBC进行封装，或者直接使用开源的ORM产品，但万变不离其宗，最终它们都离不开对JDBC的操作，因此了解JDBC的原理还是非常必要的。
本章首先介绍JDBC的基础知识，然后通过示例讲解如何使用JDBC操作数据库，最后讲解事务管理和数据库连接池的相关知识。
第三部分
第8章 Ajax技术详解
近两年来，Ajax逐渐成为一个炙手可热的名词，其良好的用户体验，得到人们越来越多的推崇。它整合了XMLHttpRequest、JavaScript、DOM、CSS、XML等众多技术，使得原来笨拙的Web界面变得交互性十足。
本章从Ajax的来源讲起，介绍其工作原理、发展趋势和应用示例，然后分别介绍Ajax的核心技术，最后介绍目前比较流行的Ajax实现框架，并对它们进行比较。目的是让读者明白什么是Ajax？如何应用Ajax。
第9章 Struts 2技术详解
要学习Java Web开发技术，就绕不开开源框架Struts 2，尽管现在Spring 3比较流行，但Struts 2仍然拥有大量的爱好者，特别是Struts 2的发布，更是有了革命性的进步。本章首先对Struts 2的基本情况和发展历史进行简要介绍，然后通过一个简单的示例让读者快速了解Struts 2的使用方法，接下来着重讲解Struts 2的特性，以加深认识。
第10章 Spring 3技术详解
如今在Java Web开发中，占据统治地位的无疑是Spring 3框架了，它所具有的整合功能，使得它能很好地和其他框架结合使用，从而为Java Web开发人员进行企业级的应用开发提供了一个一站式的解决方案。
本章首先讲解Spring 3的历史和整体框架；然后建立Spring 3的开发环境，接着通过一个入门示例让读者建立起对Spring 3开发的初步印象；最后讲解Spring 3在事务处理、与其他框架整合方面的一些特性。
第11章 Hibernate 3技术详解
Hibernate 3是目前最流行的开源持久层框架，它对JDBC进行了非常轻量级的封装，使得开发人员可以使用面向对象的思想来设计数据库。
本章首先对Hibernate 3进行简要介绍，并讲解它的下载和配置，然后重点讲解Hibernate 3的核心类，以及对JPA 2的支持、映射关系和缓存机制，最后通过示例讲解如何将Struts 2、Spring 3和Hibernate 3进行整合。
第四部分
第12章 Log4j使用指南
在Log4j出现以前，在应用程序中添加日志记录最常用的做法就是在代码中添加打印语句，然后通过控制台或日志文件来观察变量的变化，或者跟踪代码运行的踪迹。现在，Log4j是承担这个功能的最佳选择。
本章首先简要介绍Log4j，以及为什么要使用Log4j，然后讲解如何下载和配置Log4j，重点讲解Log4j的使用方法。
第13章 JUnit使用指南
JUnit是由Erich Gamma和Kent Beck编写的一个回归测试框架，使用起来非常简单，目前绝大多数开源框架都使用JUnit进行单元测试。
本章首先对JUnit进行介绍并阐述为什么要使用JUnit，然后介绍JUnit的下载和安装、JUnit的使用方法，最后介绍JUnit的新特性。
第14章 JFreeChart使用指南
在Java Web开发中经常会用到图表，比如柱状图、饼图、条形图等，使用JFreeChart可以很方便地生成这些图表。本章首先对JFreeChart进行介绍，然后介绍JFreeChart的下载和安装，最后介绍JFreeChart的使用方法。
第15章 Dom4j使用指南
在当前的Java Web开发中，XML文件的使用越来越频繁，如何创建和解析XML文件就变得非常重要了，而Dom4j就是一个非常好用的读/写XML文件的工具。
本章首先对Dom4j进行介绍，并阐述为什么要使用Dom4j，然后介绍Dom4j的下载和安装，最后介绍Dom4j的使用方法。
第五部分
第16章 注册管理系统（JSP+JavaBean）
在Struts 2和Spring 3这些框架出现之前，第一代的Java Web开发技术就是JSP+JavaBean。采用这种技术组合开发速度非常快，但经常会造成代码逻辑混乱，后期维护困难。虽然现在新开发的项目基本没有人再使用这种技术组合，但作为最基本的技术，本书将通过注册管理系统详细地讲解一下。
第17章 新闻发布系统（JSP+Servlet+DAO）
每个企业都会用到新闻发布系统，对于企业内网来说，发布一些公司的新闻，以供内部员工了解公司的运营；对于企业外网来说，也可以让外部的客户了解企业的情况。
本章使用最基本的JSP+Servlet+DAO来实现一个简单的框架，实现和使用Spring 3+JPA 2类似的功能，然后通过该框架实现新闻发布系统。
第18章 网上购物系统（Ajax+Struts 2+Hibernate 3）
随着当当网、淘宝网的不断发展，越来越多的人开始在网上购物了。网上购物系统是如何实现的呢？本章就来讲解一下它的实现方式。Ajax技术能够极大地提升用户的操作体验，因此本章采用Ajax+Struts 2+Spring 3的方式实现网上购物系统，主要包括货物的维护与陈列、用户的浏览和购买，以及购物车的维护等基本功能。
第19章 用户管理系统（Spring 3+Hibernate 3）
所有的信息化系统都离不开对用户的管理，比如人事管理系统中需要对员工信息进行管理，学生管理系统中需要对学生信息进行管理，本章将采用Spring 3+Hibernate 3的整合来进行讲解。
本章的主要目的是使读者通过对Spring 3+Hibernate 3整合方法的学习，熟练地掌握这种组合方式，为后面的学习打下良好的基础。
第20章 留言簿管理系统（JSF 2+Struts 2+Spring 3）
在博客出现以前，论坛和留言簿是网站用来和浏览者交流的主要方式，本章就来探讨一下留言簿的实现原理。本章采用JSF 2作为视图层的实现技术，采用Struts 2的控制器技术，采用Spring 3来整合Struts 2和JPA 2。
第21章 网上考试系统（Struts 2+Spring 3+Hibernate 3+JPA 2）
标准化的考试变得越来越流行，因为参加考试人员在网上答题，提交后计算机就会自动判卷，成绩马上出来，组织考试的人员再也不用打印试卷和判卷了，节省了很大的工作量，因此本章探讨一下网上考试系统的实现原理。
网上考试系统主要包括试题的维护、试卷的生成、参加考试，以及查看考试成绩等功能，本章按照标准的软件开发过程来进行，以使读者能够从头到尾了解整个网上考试系统的开发过程。