第一篇 基础应用篇 2
第1章 轻量级J2EE构架技术 2
1.1 Java Web应用开发基础知识 2
1.1.1部署Web应用程序 2
1.1.2组织Web应用程序源代码 5
1.1.3 Web应用程序开发流程 7
1.2轻量级开发技术 8
1.2.1轻量级开发概念 8
1.2.2轻量级容器 8
1.3轻量级J2EE构架技术 9
1.3.1业务逻辑层 9
1.3.2数据持久层 10
1.3.3视图表现层 11
1.4基于Java开源项目构架轻量级J2EE Web应用 12
1.4.1 Java开源Web框架Struts 12
1.4.2 Java开源持久层框架Hibernate 13
1.4.3 Java开源J2EE框架Spring 14
1.4.4 Spring+Hibernate+Struts整合构架轻量级J2EE Web应用 14
1.5本章小结 16
第2章 搭建开发平台 17
2.1配置开发环境 17
2.1.1下载和安装JDK 17
2.1.2下载和安装开源应用服务器Tomcat 19
2.1.3下载和安装开源编译工具Ant 21
2.1.4下载和安装开源数据库MySQL 21
2.1.5配置环境变量 22
2.2安装开发工具 23
2.2.1下载和安装开源开发工具Eclipse 24
2.2.2下载和安装Eclipse语言包 25
2.3 Ant下常用的Web项目构建脚本 26
2.3.1 Ant下的Web应用服务器控制 27
2.3.2 Ant下的Web项目构建与部署 28
2.3.3 Ant下的Web项目管理与监控 29
2.4开发一个简单的Java Web测试实例 30
2.4.1创建Java Web工程HelloWorld 31
2.4.2编辑HelloWorld源代码 31
2.4.3部署HelloWorld 33
2.4.4运行HelloWorld 33
2.5本章小结 34
第3章 Spring+Hibernate+Struts整合应用入门实例:注册登录系统 35
3.1概述 35
3.2下载Spring、 Struts、 Hibernate以及相应的JAR包 36
3.2.1配置运行环境 36
3.2.2配置开发环境 36
3.3注册登录系统的目录结构 39
3.4创建实体对象modle 40
3.4.1基础业务对象BaseObject 40
3.4.2创建实体对象 40
3.5创建DAO类 43
3.5.1创建DAO基类 44
3.5.2创建实体对象User和Role相应的DAO文件 45
3.5.3实现实体对象User和Role相应的DAO文件的接口 46
3.5.4配置applicationContext-hibemate.xml文件 48
3.5.5为DAO编写单元测试代码DaoTest 49
3.6创建Managers 52
3.6.1创建基础逻辑处理对象Manager接口 53
3.6.2创建实体对象User和Role的Managers接口 54
3.6.3实现实体对象User和Role的Managers接口 55
3.6.4配置applicationContext-service.xml文件 56
3.6.5为Managers编写单元测试代码ManagerTest 56
3.7新用户注册 58
3.7.1创建UserForm、 RoleForm以及AddressForm 58
3.7.2创建SignupAction实现用户注册 60
3.7.3为SignupAction编写单元测试代码SignupActionTest 62
3.8用户登录 63
3.8.1创建UserAction实现用户登录 63
3.8.2为UserAction编写单元测试代码UserActionTest 69
3.9部署运行注册登录系统 71
3.9.1部署registration.war 71
3.9.2配置数据库 71
3.9.3运行注册登录系统 72
3.10本章小结 74
第4章 数据持久层技术Hibernate 75
4.1 Hibernate框架概述 75
4.1.1概述 75
4.1.2核心接口 76
4.2 Hibernate开发环境配置 78
4.2.1下载Hibernate 78
4.2.2下载和安装Hibernate开发插件 78
4.2.3创建由Spring控制的数据源 79
4.2.4创建SessionFactory 79
4.2.5配置Hibernate的基本属性 80
4.3 Hibernate对象持久化 82
4.3.1 POJO概述 82
4.3.2构建数据持久层的基类 84
4.3.3实现equals()和hashCode()方法 84
4.4 Hibernate数据映射 84
4.4.1基本的对象关系映射 84
4.4.2一对多映射 87
4.4.3多对一映射 87
4.5数据库操作的实现 88
4.5.1编写CRUD(创建、检索、更改、删除)操作的DAO(数据进入层)接口 88
4.5.2编写applicationContext-hibernate.xml文件 91
4.6本章小结 92
第5章 表现层技术Struts 93
5.1 Struts框架概述 93
5.1.1概述 93
5.1.2 Struts的体系结构与工作原理 94
5.2 Struts框架入门 95
5.2.1在Eclipse中建立J2EE Web应用程序目录结构 96
5.2.2编写视图 98
5.2.3编写ActionForm Bean 98
5.2.4编写Action类 99
5.2.5配置struts-config.xml文件 100
5.2.6调试运行strutsSample 101
5.3 ActionForm和DynaActionForm 103
5.3.1创建ActionForm 103
5.3.2使用DynaActionForm 105
5.3.3注册登录系统中创建UserForm 106
5.4 Struts Validator验证框架 108
5.4.1 Validator框架入门 108
5.4.2 Validator验证规则 110
5.4.3为DynaActionForm创建验证规则 112
5.5 Actions 113
5.5.1创建Action 113
5.5.2在注册登录系统中创建SignupAction 114
5.6 Struts常用标签库 117
5.6.1 JSP的局限性 117
5.6.2 Struts标签库 117
5.6.3 HTML标签库 118
5.6.4 Bean标签库 119
5.6.5 logic标签库 122
5.7在注册登录系统中集成Struts 124
5.7.1配置web.xml 124
5.7.2配置struts-config.xml文件 126
5.8本章小结 127
第6章 业务逻辑层技术Spring 128
6.1 Spring概述 128
6.1.1 Spring的发展历史 128
6.1.2 Spring的模块结构 129
6.1.3 Spring使J2EE开发变得更容易 130
6.2 BeanFactory的工作原理 130
6.2.1控制反转 130
6.2.2 BeanFactory 131
6.2.3 Bean的生命周期 133
6.2.4 ApplicationContext 136
6.3 Spring集成Hibernate 139
6.3.1概述 139
6.3.2管理Hibernate资源 139
6.3.3在ApplicationContext中的Bean声明 140
6.3.4通过HibernateTemplate和HibernateDaoSupport访问Hibernate 141
6.3.5 Spring中配置Hibernate 142
6.4 Spring集成Struts 143
6.4.1注册Spring plug-in 143
6.4.2实现Spring-aware-Strutsactions 143
6.4.3代理Action 144
6.5 AOP 144
6.5.1 AOP的概念 144
6.5.2创建Advice 146
6.5.3定义PointCuts 148
6.5.4使用ProxyFactoryBean创建AOP代理 149
6.5.5使用Autoproxying创建AOP代理 152
6.6声明式事务处理 155
6.6.1事务处理的概念 155
6.6.2 Spring中的编程式事务处理 155
6.6.3声明式事务处理 156
6.7本章小结 156
第二篇 基础实例篇 158
第7章 新闻发布系统 158
7.1系统功能概述 158
7.2系统需求分析 158
7.2.1系统功能模块划分 158
7.2.2数据库逻辑结构设计 159
7.3系统框架搭建 160
7.3.1模型层的实现 161
7.3.2数据持久层的实现 161
7.3.3业务逻辑层的实现 161
7.3.4视图表现层的实现 162
7.4用户管理模块 166
7.4.1数据操作实现 166
7.4.2业务逻辑实现 169
7.4.3表现层的实现 171
7.5新闻信息管理模块 178
7.5.1数据操作实现 178
7.5.2业务逻辑实现 181
7.5.3表现层的实现 183
7.5.4配置struts-config.xml 187
7.6权限管理模块 188
7.6.1数据操作实现 188
7.6.2业务逻辑实现 195
7.6.3表现层的实现 197
7.7本章小结 205
第8章 在线拍卖系统 206
8.1系统功能概述 206
8.2系统需求分析 207
8.2.1系统功能模块划分 207
8.2.2数据库逻辑结构设计 207
8.3系统框架搭建 208
8.3.1建立工程目录结构 209
8.3.2数据持久层的实现 210
8.3.3业务逻辑层的实现 212
8.3.4视图表现层的实现 212
8.4注册登录模块 214
8.4.1数据操作实现 214
8.4.2业务逻辑实现 218
8.4.3表现层的实现 220
8.5拍卖商品模块 226
8.5.1数据操作实现 227
8.5.2业务逻辑实现 232
8.5.3表现层的实现 235
8.6 实名认证模块 240
8.6.1数据操作实现 240
8.6.2业务逻辑实现 245
8.6.3表现层的实现 246
8.7本章小结 250
第9章 博客系统 251
9.1系统功能概述 251
9.2系统需求分析 251
9.2.1系统功能模块划分 252
9.2.2数据库逻辑结构设计 252
9.3系统框架搭建 254
9.3.1建立工程目录结构 254
9.3.2数据持久层的实现 255
9.3.3业务逻辑层的实现 257
9.3.4视图表现层的实现 259
9.3.5 Action基类 259
9.3.6页面视图 260
9.4注册登录模块 261
9.4.1数据操作实现 261
9.4.2业务逻辑实现 265
9.4.3表现层的实现 266
9.4.4部署运行 273
9.5发布/管理日志模块 274
9.5.1数据操作实现 274
9.5.2业务逻辑实现 278
9.5.3表现层的实现 280
9.5.4部署运行 284
9.6留言板模块 285
9.6.1数据操作实现 285
9.6.2业务逻辑实现 288
9.6.3表现层的实现 290
9.6.4部署运行 292
9.7本章小结 293
第三篇 高级应用篇 296
第10章 开源搜索引擎Lucene 296
10.1 Lucene简介 296
10.1.1概述 296
10.1.2 Lucene全文检索的实现机制 298
10.1.3 Lucene框架剖析 299
10.1.4建立索引 300
10.1.5搜索文档 303
10.2下载并测试Lucene 304
10.2.1下载Lucene 304
10.2.2配置Lucene 304
10.2.3测试Lucene 304
10.3在Web应用程序中集成Lucene 305
10.3.1实例需求分析 305
10.3.2建立Dynamic Web Project 306
10.3.3设计Web工程体系结构 306
10.3.4实现用户接口 307
10.3.5实现控制器 308
10.3.6 实现搜索 308
10.3.7实现索引 310
10.4部署并测试lucenesample 311
10.5本章小结 313
第11章 Spring构架中模板引擎集成 314
11.1 Freemarker模板引擎简介 314
11.2 Freemarker脚本语言简介 316
11.2.1模板 316
11.2.2数据模型 318
11.3搭建Freemarker开发环境 321
11.3.1下载Freemarker 321
11.3.2下载和安装Freemarker开发插件 322
11.4 Freemarker开发实例 322
11.4.1实例需求分析 322
11.4.2建立工程——F reemarker-Sample 323
11.4.3创建Freemarker宏模板 323
11.4.4客户信息录入页面 324
11.4.5客户信息添加成功页面 328
11.4.6客户信息列表页面 329
11.5本章小结 330
第12章 Spring集成Acegi安全框架 331
12.1 Acegi安全框架概述[8] 331
12.2 Acegi安全框架体系结构[8] 332
12.2.1 Acegi安全框架组件 332
12.2.2控制反转 333
12.2.3 XML配置文件 333
12.3安全过滤器[8] 333
12.3.1 Session Integration Filter 333
12.3.2 Authentication Processing Filter 334
12.3.3 Logout Processing Filter 335
12.3.4 Exception Translation Filter 335
12.3.5 Interceptor Filter 336
12.4在Web应用程序中集成Acegi安全框架 337
12.4.1建立一个新的工程 337
12.4.2设计Web工程目录结构 338
12.4.3配置Acegi安全框架 338
12.5配置acegisecuriry-config.xml文件 339
12.6部署并运行acegisample 345
12.7本章小结 346
第13章 Spring构架中上传组件集成 347
13.1 Commons FileUpload组件简介 347
13.2 Commons FileUpload开发流程 348
13.3 Commons FileUpload开发环境搭建 350
13.3.1下载Commons FileUpload 350
13.3.2配置Commons FileUpload 351
13.4 Commons FileUpload开发实例 351
13.4.1实例需求分析 351
13.4.2建立工程——FileUpload Sample 352
13.4.3编写前台页面 352
13.4.4编写Servlet来负责文件的上传 354
13.4.5部署和测试 356
13.5本章小结 357
第四篇 高级实例篇 360
第14章 科研资料信息管理系统 360
14.1系统功能概述 360
14.2系统需求分析 361
14.2.1系统功能模块划分 361
14.2.2数据库逻辑结构设计[12] 361
14.3系统各模块效果图[12] 363
14.4系统基础框架搭建 365
14.4.1数据持久层的实现[12] 365
14.4.2业务逻辑层的实现[12] 370
14.4.3视图表现层的实现[12] 378
14.5其他高级框架集成 382
14.5.1集成Commons FileUpload组件 382
14.5.2集成Acegi安全框架 382
14.5.3 Freemarker模板引擎 384
14.5.4集成Struts-Menu菜单框架[12] 385
14.5.5集成ValueList标签库[12] 386
14.5.6集成Log4j日志管理组件 388
14.6用户信息管理模块 389
14.6.1数据操作实现[12] 389
14.6.2业务逻辑实现[12] 395
14.6.3表现层的实现[12] 398
14.7用户组信息管理模块 401
14.7.1数据操作实现[12] 401
14.7.2业务逻辑实现[12] 405
14.7.3表现层的实现[12] 407
14.8系统权限管理模块 408
14.8.1数据操作实现[12] 408
14.8.2业务逻辑实现[12] 411
14.8.3表现层的实现[12] 413
14.9文件信息管理模块 414
14.9.1数据操作实现[12] 414
14.9.2业务逻辑实现[12] 417
14.9.3表现层的实现[12] 418
14.10本章小结 419
参考文献 420