Java开源项目:Spring+Hibernate+Struts项目开发详解

Java开源项目:Spring+Hibernate+Struts项目开发详解"

作者:覃庆炎、张伟
ISBN:9787302173212
定价:¥49.80
字数:千字
页数:
出版时间:2008.07.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书以Java开源项目为理念,以Spring+Hibernate+Struts开源项目为基础,由浅入深地讲解了轻量级J2EE系统构架技术的原理和开发过程。本书共分为4篇14章,分别以Hibernate、Struts、Spring开源项目为基础详细地介绍其开发原理和开发过程,基础实例篇讲解了新闻发布系统、在线拍卖系统和博客系统3个实用系统的开发过程,其他部分介绍了开源搜索引擎Lucene、模板引擎Freemarker、安全框架Acegi、上传组件Commons FileUpload等内容,并介绍了科研资料信息管理系统的开发过程。

本书结构脉络清晰,代码实例丰富且针对性强,适合缺乏项目经验的Java初、中级读者学习使用,也可作为IT培训班的教材。

前言

本书向广大读者介绍全面、系统而深入的轻量级J2EE构架技术及其相关的应用知识,具有如下特点。

主流技术解析:本书以Java开源项目为理念,选择目前行业内前沿的轻量级J2EE架构技术为介绍对象,顺应了行业的技术发展趋势,将广大读者带到崭新的技术前沿,迎合了广大读者的学习需求。

代码实例分析:本书以理论概念为辅,强调培养读者的实际应用能力,在本书的各个章节中都通过代码实例来逐步阐述构架技术的核心,减轻读者的理论负担,让读者通过实例来掌握本书各章节的核心。需要特别指出的是,读者通过对本书实例的学习,学到的不仅仅是某一段代码的重用,而是一个通用开发框架的重用,本书在编写的思想上是一个巨大的创新。

结构主次分明:本书层次分明,由浅入深,共分为4篇,分别为基础应用篇、基础实例篇、高级应用篇、高级实例篇。以培养读者的基础能力为起点,让读者在学习了每一章之后都能掌握实际的构架能力,通过每一章节的积累,最终将读者培养成全面的熟练的构架人才。

讲解通俗易懂:本书的讲解符合广大读者的学习习惯,使用通俗的语言,摒弃高深的理论词汇。在各章节中均以丰富的图表说明为主,减少繁琐的文字叙述,让广大读者轻松、形象地学习。

本书体系完整,共分为4篇。

第1篇为基础应用篇,包括第1章~第6章。本篇主要介绍了Hibernate、Struts以及Spring等相关的知识点,并对每一个知识点都引入一个快速入门的例子,对于学习一门新的技术体系,本书认为例子往往要比纯粹的理论直接,对初学者的帮助更大。

第2篇为基础实例篇,包括第7章~第9章。在本篇中本书引入了新闻发布系统、在线拍卖系统和博客系统等开发实例,这3个例子都是先从系统构架的角度开始阐述如何构建Web应用程序的框架,接着用一个应用实例来详细地阐述如何在该框架上进行快速的开发。读者通过这样一个过程,不管学习的是什么例子,都能够从本书所提供的例子中学到构架的思想以及详细的构架过程,也就是说读者可以从框架层次上面对例子进行复用,而不是低级的代码级的复用。

第3篇为高级应用篇,包括第10章~第13章,本篇将会把读者提高到一个更高的水平。本篇主要介绍开源搜索引擎Lucene、模板引擎Freemarker、安全框架Acegi、上传组件Commons FileUpload的集成。同样,在本篇中,为了使读者能够快速入门,采用了每讲解一个知识点就详细介绍一个快速入门例子。

第4篇为高级实例篇,包括第14章。在本篇中,也安排了一个代码实例,这个例子的不同寻常之处是加入了一些前面所介绍的高级特性,这个例子不仅仅是代码重用,重要的是这个例子所采用的框架本身就是一个成熟的Web应用的解决方案。

本书在编写过程中引用了成都理工大学李申申的硕士论文,在此表示感谢。同时,还引用了其他材料,在此向原作者表示深切的感谢。

本书由覃庆炎、张伟编著,冼进审校。同时,参与本书编写的人员还有冯强、曾德惠、许庆华、程亮、周聪、黄志平、胡松、邢永峰、邵军、边海龙、刘达因、赵婷、马鸿娟、侯桐、赵光明、李胜、李辉、侯杰、王红研、王磊、闫守红、康涌泉、李欢、蒋杼倩、王小东、张森、张正亮、宋利梅、何群芬、程瑶等,在此一并表示感谢。

为充分展现本书的编写特点,帮助读者深刻理解本书编写意图与内涵,进一步提高对本书教学的使用效率,我们建立了本书使用指导联络方式,E-mail是china_54@tom.com。

由于编写时间仓促,书中疏漏之处在所难免,欢迎广大读者和同行批评指正。

编  者  

2008年2月

Java开源项目    Spring+Hibernate+Struts项目开发详解

错误!文档中没有指定样式的文字。

II

III

目录

第一篇  基础应用篇

第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-hibernate

.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

第二篇  基础实例篇

第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

第三篇  高级应用篇

第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  建立工程——Freemarker-

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  配置acegisecurity-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

第四篇  高级实例篇

第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

Java开源项目    Spring+Hibernate+Struts项目开发详解

IV

V

Java开源项目    Spring+Hibernate+Struts项目开发详解

错误!文档中没有指定样式的文字。

VIII

VII

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个