Java开源项目:Spring+Hibernate+Struts项目开发详解(配光盘)
分類: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: 覃庆炎 等编著
出 版 社: 清华大学出版社
出版时间: 2008-7-1字数: 653000版次: 1页数: 419印刷时间: 2008/07/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302173212包装: 平装内容简介
本书以Java开源项目为理念,以Spring+Hibernate+Struts开源项目为基础,由浅入深地讲解了轻量级J2EE系统构架技术的原理和开发过程。本书共分为4篇14章,分别以Hibernate、Struts、Spring开源项目为基础详细地介绍其开发原理和开发过程,基础实例篇讲解了新闻发布系统、在线拍卖系统和博客系统3个实用系统的开发过程,其他部分介绍了开源搜索引擎Lucene、模板引擎Freemarker、安全框架Acegi、上传组件Commons FileUpload等内容,并介绍了科研资料信息管理系统的开发过程。
本书结构脉络清晰,代码实例丰富且针对性强,适合缺乏项目经验的Java初、中级读者学习使用,也可作为IT培训班的教材。
目录
第一篇 基础应用篇
第1章 轻量级J2EE构架技术
1.1 Java Web应用开发基础知识
1.1.1 部署Web应用程序
1.1.2 组织Web应用程序源代码
1.1.3 Web应用程序开发流程
1.2 轻量级开发技术
1.2.1 轻量级开发概念
1.2.2 轻量级容器
1.3 轻量级J2EE构架技术
1.3.1 业务逻辑层
1.3.2 数据持久层
1.3.3 视图表现层
1.4 基于Java开源项目构架轻量级J2EE Web应用
1.4.1 Java开源Web框架Struts
1.4.2 Java开源持久层框架Hibernate
1.4.3 Java开源J2EE框架Spring
1.4.4 Spring+Hibernate+Struts整合构架轻量级J2EE Web应用
1.5 本章小结
第2章 搭建开发平台
2.1 配置开发环境
2.1.1 下载和安装JDK
2.1.2 下载和安装开源应用服务器Tomcat
2.1.3 下载和安装开源编译工具Ant
2.1.4 下载和安装开源数据库MySQL
2.1.5 配置环境变量
2.2 安装开发工具
2.2.1 下载和安装开源开发工具Eclipse
2.2.2 下载和安装Eclipse语言包
2.3 Ant下常用的Web项目构建脚本
2.3.1 Ant下的Web应用服务器控制
2.3.2 Ant下的Web项目构建与部署
2.3.3 Ant下的Web项目管理与监控
2.4 开发一个简单的Java Web测试实例
2.4.1 创建Java Web工程HelloWorld
2.4.2 编辑HelloWorld源代码
2.4.3 部署HelloWorld
2.4.4 运行HelloWorld
2.5 本章小结
第3章 Spring+Hibernate+Struts整合应用入门实例:注册登录系统
3.1 概述
3.2 下载Spring、Struts、Hibernate以及相应的JAR包
3.2.1 配置运行环境
3.2.2 配置开发环境
3.3 注册登录系统的目录结构
3.4 创建实体对象modle
3.4.1 基础业务对象BaseObject
3.4.2 创建实体对象
3.5 创建DAO类
3.5.1 创建DAO基类
3.5.2 创建实体对象User和Role相应的DAO文件
3.5.3 实现实体对象User 和Role相应的DAO文件的接口
3.5.4 配置applicationContext-hibernate.xml文件
3.5.5 为DAO编写单元测试代码DaoTest
3.6 创建Managers
3.6.1 创建基础逻辑处理对象Manager接口
3.6.2 创建实体对象User和Role的Managers接口
3.6.3 实现实体对象User和Role的Managers接口
3.6.4 配置applicationContext-service.xml文件
3.6.5 为Managers编写单元测试代码ManagerTest
3.7 新用户注册
3.7.1 创建UserForm、RoleForm以及AddressForm
3.7.2 创建SignupAction实现用户注册
3.7.3 为SignupAction编写单元测试代码SignupActionTest
3.8 用户登录
3.8.1 创建UserAction实现用户登录
3.8.2 为UserAction编写单元测试代码UserActionTest
3.9 部署运行注册登录系统
3.9.1 部署registration.war
3.9.2 配置数据库
3.9.3 运行注册登录系统
3.10 本章小结
第4章 数据持久层技术Hibernate
4.1 Hibernate框架概述
4.1.1 概述
4.1.2 核心接口
4.2 Hibernate开发环境配置
4.2.1 下载Hibernate
4.2.2 下载和安装Hibernate开发插件
4.2.3 创建由Spring控制的数据源
4.2.4 创建SessionFactory
4.2.5 配置Hibernate的基本属性
4.3 Hibernate对象持久化
4.3.1 POJO概述
4.3.2 构建数据持久层的基类
4.3.3 实现equals()和hashCode()方法
4.4 Hibernate数据映射
4.4.1 基本的对象关系映射
4.4.2 一对多映射
4.4.3 多对一映射
4.5 数据库操作的实现
4.5.1 编写CRUD(创建、检索、更改、删除)操作的DAO(数据进入层)接口
4.5.2 编写applicationContext-hibernate. xml文件
4.6 本章小结
第5章 表现层技术Struts
5.1 Struts框架概述
5.1.1 概述
5.1.2 Struts的体系结构与工作原理
5.2 Struts框架入门
5.2.1 在Eclipse中建立J2EE Web应用程序目录结构
5.2.2 编写视图
5.2.3 编写ActionForm Bean
5.2.4 编写Action类
5.2.5 配置struts-config.xml文件
5.2.6 调试运行strutsSample
5.3 ActionForm和DynaActionForm
5.3.1 创建ActionForm
5.3.2 使用DynaActionForm
5.3.3 注册登录系统中创建UserForm
5.4 Struts Validator验证框架
5.4.1 Validator框架入门
5.4.2 Validator 验证规则
5.4.3 为DynaActionForm创建验证规则
5.5 Actions
5.5.1 创建Action
5.5.2 在注册登录系统中创建SignupAction
5.6 Struts常用标签库
5.6.1 JSP的局限性
5.6.2 Struts标签库
5.6.3 HTML标签库
5.6.4 Bean标签库
5.6.5 logic标签库
5.7 在注册登录系统中集成Struts
5.7.1 配置web.xml
5.7.2 配置struts-config.xml文件
5.8 本章小结
第6章 业务逻辑层技术Spring
6.1 Spring概述
6.1.1 Spring的发展历史
6.1.2 Spring的模块结构
6.1.3 Spring使J2EE开发变得更容易
6.2 BeanFactory的工作原理
6.2.1 控制反转
6.2.2 BeanFactory
6.2.3 Bean的生命周期
6.2.4 ApplicationContext
6.3 Spring集成Hibernate
6.3.1 概述
6.3.2 管理Hibernate资源
6.3.3 在ApplicationContext中的Bean声明
6.3.4 通过HibernateTemplate和HibernateDaoSupport访问Hibernate
6.3.5 Spring中配置Hibernate
6.4 Spring集成Struts
6.4.1 注册Spring plug-in
6.4.2 实现Spring-aware-Strutsactions
6.4.3 代理Action
6.5 AOP
6.5.1 AOP的概念
6.5.2 创建Advice
6.5.3 定义PointCuts
6.5.4 使用ProxyFactoryBean创建AOP代理
6.5.5 使用Autoproxying创建AOP代理
6.6 声明式事务处理
6.6.1 事务处理的概念
6.6.2 Spring中的编程式事务处理
6.6.3 声明式事务处理
6.7 本章小结
第二篇 基础实例篇
第7章 新闻发布系统
7.1 系统功能概述
7.2 系统需求分析
7.2.1 系统功能模块划分
7.2.2 数据库逻辑结构设计
7.3 系统框架搭建
7.3.1 模型层的实现
7.3.2 数据持久层的实现
7.3.3 业务逻辑层的实现
7.3.4 视图表现层的实现
7.4 用户管理模块
7.4.1 数据操作实现
7.4.2 业务逻辑实现
7.4.3 表现层的实现
7.5 新闻信息管理模块
7.5.1 数据操作实现
7.5.2 业务逻辑实现
7.5.3 表现层的实现
7.5.4 配置struts-config.xml
7.6 权限管理模块
7.6.1 数据操作实现
7.6.2 业务逻辑实现
7.6.3 表现层的实现
7.7 本章小结
第8章 在线拍卖系统
8.1 系统功能概述
8.2 系统需求分析
8.2.1 系统功能模块划分
8.2.2 数据库逻辑结构设计
8.3 系统框架搭建
8.3.1 建立工程目录结构
8.3.2 数据持久层的实现
8.3.3 业务逻辑层的实现
8.3.4 视图表现层的实现
8.4 注册登录模块
8.4.1 数据操作实现
8.4.2 业务逻辑实现
8.4.3 表现层的实现
8.5 拍卖商品模块
8.5.1 数据操作实现
8.5.2 业务逻辑实现
8.5.3 表现层的实现
8.6 实名认证模块
8.6.1 数据操作实现
8.6.2 业务逻辑实现
8.6.3 表现层的实现
8.7 本章小结
第9章 博客系统
9.1 系统功能概述
9.2 系统需求分析
9.2.1 系统功能模块划分
9.2.2 数据库逻辑结构设计
9.3 系统框架搭建
9.3.1 建立工程目录结构
9.3.2 数据持久层的实现
9.3.3 业务逻辑层的实现
9.3.4 视图表现层的实现
9.3.5 Action基类
9.3.6 页面视图
9.4 注册登录模块
9.4.1 数据操作实现
9.4.2 业务逻辑实现
9.4.3 表现层的实现
9.4.4 部署运行
9.5 发布/管理日志模块
9.5.1 数据操作实现
9.5.2 业务逻辑实现
9.5.3 表现层的实现
9.5.4 部署运行
9.6 留言板模块
9.6.1 数据操作实现
9.6.2 业务逻辑实现
9.6.3 表现层的实现
9.6.4 部署运行
9.7 本章小结
第三篇 高级应用篇
第10章 开源搜索引擎Lucene
10.1 Lucene简介
10.1.1 概述
10.1.2 Lucene全文检索的实现机制
10.1.3 Lucene框架剖析
10.1.4 建立索引
10.1.5 搜索文档
10.2 下载并测试Lucene
10.2.1 下载Lucene
10.2.2 配置Lucene
10.2.3 测试Lucene
10.3 在Web应用程序中集成Lucene
10.3.1 实例需求分析
10.3.2 建立Dynamic Web Project
10.3.3 设计Web工程体系结构
10.3.4 实现用户接口
10.3.5 实现控制器
10.3.6 实现搜索
10.3.7 实现索引
10.4 部署并测试lucenesample
10.5 本章小结
第11章 Spring构架中模板引擎集成
11.1 Freemarker模板引擎简介
11.2 Freemarker脚本语言简介
11.2.1 模板
11.2.2 数据模型
11.3 搭建Freemarker开发环境
11.3.1 下载Freemarker
11.3.2 下载和安装Freemarker开发插件
11.4 Freemarker开发实例
11.4.1 实例需求分析
11.4.2 建立工程——Freemarker-Sample
11.4.3 创建Freemarker宏模板
11.4.4 客户信息录入页面
11.4.5 客户信息添加成功页面
11.4.6 客户信息列表页面
11.5 本章小结
第12章 Spring集成Acegi安全框架
12.1 Acegi安全框架概述[8]
12.2 Acegi安全框架体系结构[8]
12.2.1 Acegi安全框架组件
12.2.2 控制反转
12.2.3 XML配置文件
12.3 安全过滤器[8]
12.3.1 Session Integration Filter
12.3.2 Authentication ProcessingFilter
12.3.3 Logout Processing Filter
12.3.4 Exception Translation Filter
12.3.5 Interceptor Filter
12.4 在Web应用程序中集成Acegi安全框架
12.4.1 建立一个新的工程
12.4.2 设计Web工程目录结构
12.4.3 配置Acegi安全框架
12.5 配置acegisecurity-config.xml文件
12.6 部署并运行acegisample
12.7 本章小结
第13章 Spring构架中上传组件集成
13.1 Commons FileUpload组件简介
13.2 Commons FileUpload 开发流程
13.3 Commons FileUpload开发环境搭建
13.3.1 下载Commons FileUpload
13.3.2 配置Commons FileUpload
13.4 Commons FileUpload开发实例
13.4.1 实例需求分析
13.4.2 建立工程——FileUploadSample
13.4.3 编写前台页面
13.4.4 编写Servlet来负责文件的上传
13.4.5 部署和测试
13.5 本章小结
第四篇 高级实例篇
第14章 科研资料信息管理系统
14.1 系统功能概述
14.2 系统需求分析
14.2.1 系统功能模块划分
14.2.2 数据库逻辑结构设计[12]
14.3 系统各模块效果图[12]
14.4 系统基础框架搭建
14.4.1 数据持久层的实现[12]
14.4.2 业务逻辑层的实现[12]
14.4.3 视图表现层的实现[12]
14.5 其他高级框架集成
14.5.1 集成Commons FileUpload组件
14.5.2 集成Acegi安全框架
14.5.3 Freemarker模板引擎
14.5.4 集成Struts-Menu菜单框架[12]
14.5.5 集成ValueList标签库[12]
14.5.6 集成Log4j日志管理组件
14.6 用户信息管理模块
14.6.1 数据操作实现[12]
14.6.2 业务逻辑实现[12]
14.6.3 表现层的实现[12]
14.7 用户组信息管理模块
14.7.1 数据操作实现[12]
14.7.2 业务逻辑实现[12]
14.7.3 表现层的实现[12]
14.8 系统权限管理模块
14.8.1 数据操作实现[12]
14.8.2 业务逻辑实现[12]
14.8.3 表现层的实现[12]
14.9 文件信息管理模块
14.9.1 数据操作实现[12]
14.9.2 业务逻辑实现[12]
14.9.3 表现层的实现[12]
书摘插图
第一篇 基础应用篇
第1章 轻量级J2EE构架技术
知识点:
Java Web应用开发基础知识
轻量级开发技术
轻量级J2EE构架技术
基于Java开源项目框架轻量级J2EE Web应用
本章导读:
在Java应用领域中,有许多优秀、成熟的开源软件,比如Struts、Hibernate以及Spring,利用它们同样可以打造优越、灵巧的J2EE应用框架。本章首先讨论Java Web应用开发的基础知识,接着简单的介绍基于开源项目Sprin9、Hibernate以及Struts整合构建轻量级J2EEWeb应用。
1.1 Java Web应用开发基础知识
本节首先讨论Java Web应用开发的相关基础知识,以著名开源应用服务器Tomcat为Web应用程序的Web容器来讨论如何组织源代码,如何部署Web应用以及简单地介绍开发Web应用程序的一般流程。
1.1.1 部署Web应用程序
在讨论如何组织Web应用程序源代码目录结构之前,有必要先来了解一下Web应用程序在运行时的目录结构。对于Web应用程序在运行时的目录结构,在Servlet API Specification 2.2版本之前,在不同的服务器平台之间并没有统一的规范,但是,在2.2版本(或更高)规定,不同的服务器平台必须采用同一个标准的Web应用程序结构,下面将会进行详细的讨论。
一个Web应用程序通常被定义为有着标准层次结构的目录和文件,部署Web应用程序有两种方式,一种方式是采用不打包(Unpacked)的方式,每一个目录和文件以文件系统的形式存在;另一种方式则是采用打包(Packed)方式,通常是一个WAR文件。通常情况下,在程序开发的过程中采用前者会比较方便,而在程序发布时一般是采用后者。
……