ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 开发者突击:Struts 2核心技术与Java EE框架整合开发实战

开发者突击:Struts 2核心技术与Java EE框架整合开发实战

原创 Linux操作系统 作者:china-pub 时间:2008-11-04 17:42:54 0 删除 编辑

开发者突击:Struts 2核心技术与Java EE框架整合开发实战



其他详细信息查看:http://www.china-pub.com/301660

【作  者】三扬科技
【出 版 社】 电子工业出版社     【书 号】 9787121070914 
【出版日期】 2008 年10月 【开 本】 16开 【页 码】 819     【版 次】1-1 
      市场价: ¥89.50   pub价: ¥67.13(75折)

【内容简介】
本书全面介绍了如何使用Struts 2框架技术开发Java EE应用程序,书中对Struts 2的开发思想及技术要点进行了详细阐述。.
全书主要内容包括:深入剖析Struts 2核心原理;详细讲解Struts 2中的拦截器、类型转换、输入校验、国际化、文件上传、标签、标注等技术;全面介绍Struts 2与其他业务层、持久层、表示层框架技术的整合原理及整合过程;最后提供了大量Struts 2整合其他框架技术开发实际应用的详细过程。..
本书注重编程思想与实际开发相结合,书中的每个知识点都配备了具有典型性和实用价值的应用开发实例,使读者不仅能够掌握相关技术,更能够活学活用,举一反三。
随书附赠光盘内容包括本书范例源程序及各个章节视频教学、课后习题。
本书内容深入浅出,通俗易懂,适合广大Java爱好者及程序开发人员,尤其适合那些希望尽快掌握Struts 2应用技术,以及进行Struts 2实际开发的人员;同时本书也适合高等院校相关专业的广大师生作为参考用书,以及各培训机构作为教学参考书。...

【前言】
工欲善其事,必先利其器——在很早以前人们就已经意识到了这一点。虽然经历了两千多年的洗礼,但是在当今的软件开发行业这一观点仍然是至理名言。有过开发经验的人会深有体会,一款优秀的开发工具是高效、快捷地进行开发的必备前提。.
伴随着Internet的飞速发展,软件开发已由传统的C/S模式逐渐转变到了现今流行的B/S模式。在基于B/S模式的Web开发工具中,Java语言以其得天独厚的优势获得了广大开发人员的认可,使得Java的世界风起云涌,各种各样的框架接连出现,而Struts 2框架正是在这个时候悄然浮出水面。早在Struts 2框架诞生以前,其同门兄弟Struts框架就已经在Web开发业界掀起轩然大波。然而时至如今,Struts框架已经没有了往日的辉煌,越来越多的缺点、弊病的出现,极大拖累了Web开发前进的步伐。Struts 2框架的及时出现,正好消除了广大开发人员的困扰——Struts 2框架全面改善了Struts框架的弊端,使得Web应用的开发过程进一步得以简化,进而带来了开发效率提高、开发周期缩短、测试方便易行等诸多优点。
具有WebWork和Struts基础的开发人员,可以很快上手并熟练使用Struts 2框架,快速提高个人的开发能力。
本书的特点
本书从Struts 2框架的核心原理出发,详细讲解了Struts 2框架各项技术的实现及应用,细致分析了Struts 2框架与其他流行的开源框架的结合使用过程,并给出了极具代表性和实用性的应用示例。与同类书籍相比,本书最大的特点如下:
从源代码出发结合架构思想。本书以Struts 2框架的源代码为出发点,深入透彻地分析了Struts 2各组件的工作原理。在讲解每个知识点之后,提供了各知识点相应的实战案例,力求让每一个读者都能够真正理解并掌握Struts 2的核心技术,切实做到理论联系实际。
结合Java EE新技术。本书不仅介绍了Struts 2整合Spring、Hibernate等经典框架的开发过程,更加入了Struts 2结合Guice,JPA等Java EE新技术的详细介绍。通过学习这些技术,使读者能够更加游刃有余地进行Web开发工作,并始终走在新技术的最前沿。
通过经典项目实战,提高读者开发能力。在本书的最后提供了5个具有代表性、实用性等特色的项目实战案例供读者学习使用,这些经典案例不仅可以加深读者对理论知识的理解,还能提高读者的编程质量。
大量的配套视频讲解。无论是初学者还是有一定经验的开发人员,视频讲解永远是最好的导师。对于本书中Struts 2的基础理论、新技术及案例实战等几个部分,提供了详细的视频讲解。文字阅读加上视频讲解,一定能够使您的Struts 2学习变得事半功倍。
本书结构
本书共分6篇,其中第1篇是Struts 2技术的概述;第2篇详细讲解了Struts 2框架的核心技术;第3篇讲解了Struts 2与其他业务层实现技术的整合开发过程;第4篇讲解了Struts 2与其他持久层实现技术的整合开发过程;第5篇讲解了Struts 2与其他表示层实现技术的整合开发过程;第6篇是Struts 2结合其他框架应用开发实例。本书整体结构思维拓扑图如下图所示。
下面简要介绍各个章节的内容。
第1章:简要介绍Struts 2框架的来源,使读者了解Struts 2框架是在Struts与WebWork基础上开发设计而成的,它也是一个基于MVC架构的框架。
第2章:通过一个简单的Struts 2应用实例搭建过程的介绍,使读者初步了解Struts 2的开发过程,同时能够熟练地通过手动方式或者使用IDE方式创建一个Struts 2应用。
第3章:对Struts 2框架中最基础的知识点进行了细致入微的介绍,为以后Struts 2各个技术的学习打下基础。
第4章:讲解Struts 2框架中的拦截器。拦截器在Struts 2框架中具有举足轻重的作用,是Struts 2框架优于其他框架的一个亮点。本章介绍了拦截器的实现原理、拦截器的应用方法,以及在实际应用中经常遇到的问题。
第5章:从类型转换的概念及原理说起,全面介绍了Struts 2框架中类型转换的实现过程。
第6章:讲解Struts 2框架中的输入校验。介绍了输入校验的概念、必要性,如何在Struts 2框架中实现输入校验,最后还对输入校验的高级应用进行了说明。
第7章:先介绍了Java中文件上传的原理及实现,然后介绍了Struts 2框架中实现文件上传的一般用法及高级应用。
第8章:全面讲解了如何在Struts 2应用中显现国际化。
第9章:细致介绍了Struts 2框架自带的各种标签的用法,包括控制标签、数据标签、表单标签、非表单UI标签和Ajax标签,以及如何修改Struts 2自带标签模板主题。
第10章:介绍了Struts 2框架对标注的支持。自从JDK 5.0推出了标注(Annotation)的特性以后,各个主流框架便纷纷提供了对标注的支持,Struts 2也不例外。本章从Java的“标注”特性入手,详细讲解了Struts 2中几类标注的具体用法。鉴于目前同类书中都没有对Struts 2标注进行介绍,本章会为读者学习标注带来极大的帮助。..
第11章:讲解了Spring框架的几个核心技术,以及如何将Struts 2框架与Spring框架结合起来开发Web应用。
第12章:本章详细介绍了Guice中的标注,IoC的实现,以及基于Guice的warp- persistence持久层技术。着重强调了如何在Struts 2应用中利用Guice框架实现IoC,并给出一个结合实例。
第13章:近两年来动态语言在软件开发行业中很受关注,本章介绍了动态语言Groovy和Ruby的基础知识和部分高级特性,并详细讲解了如何使用动态语言实现Struts 2的Action。
第14章:JPA是Sun公司推出的一项持久层解决方案,本章详细介绍了JPA的基础知识及使用方法,并通过一个具体实例讲解了如何在Struts 2应用中使用JPA完成数据持久化操作。
第15章:介绍了当前流行的持久层技术Hibernate的实现原理、核心概念,以及如何将Hibernate与Struts 2结合开发Web应用。
第16章:iBATIS同样是一个受到广大开发人员欢迎的持久层框架。本章详细讲解了iBATIS框架的使用场合、基础知识点及高级应用,最后通过一个应用实例介绍了如何将iBATIS与Struts 2整合进行开发设计。
第17章:虽然Struts 2本身是一项表示层解决方案,但是它提供了对其他表示层技术方案的支持。本章详细介绍了JSF技术,Struts 2为什么需要JSF,以及如何在Struts 2应用中使用JSF。
第18章:讲解了Struts 2框架对模板语言的支持。详细介绍了Velocity和FreeMarker这两种模板语言的基础知识,以及如何使用Velocity模板、FreeMarker模板作为Struts 2返回结果类型。
第19章:Struts 2还支持更多的表示层技术,本章介绍了在Struts 2框架中使用Tiles、SiteMesh、JFreeChart及JasperReports的配置过程。
第20章:讲解使用Struts 2开发银行账户管理系统。本章没有掺杂其他任何框架技术,目的在于使读者更加清楚如何应用Struts 2技术进行实际开发设计。
第21章:讲解如何使用Struts 2+Guice+JPA完成一个购物车的设计过程。本案例开发完全遵循Java EE标准的四层设计模式,并详细介绍了各层的实现过程。
第22章,本章使用Struts 2+Spring+iBATIS开发了一个数据采集系统。使用Struts框架与Spring和iBATIS结合进行开发设计的模式,直到现在仍被广泛使用。使用Struts 2取代Struts不仅能完成同样的工作,还能使开发出的应用更好、更高效。
第23章,SSH是另一个经典的开发架构模式,S2SH同样也是一个优秀的组合方式,本章通过一个投票管理系统的开发实例,讲解了使用Struts 2+Spring+Hibernate开发一个Web应用的原理及具体实现过程。
第24章,使用Struts 2+Spring+JPA开发权限管理系统。权限管理系统是很多Java EE应用所必不可少的一个功能模块,本章详细讲解了Struts 2结合Spring及JPA开发权限管理系统的整个过程。
视频资源结构
为了让读者能够更好地学习Struts 2框架技术,我们加入了书中重点内容的视频讲解。视频资源主要包括Struts 2基础及Java EE实战两大部分,详细结构图如下。
光盘使用说明
本书配套光盘主要包含以下目录:
codes目录
该目录下包含了本书中各章节涉及到的案例代码及运行库文件。本目录下各文件夹以章节号进行编码,例如“第2章”下的“2.2”文件夹中,存放本书第2章第2节涉及到的所有代码。
rmvideo目录
该目录下包含了入门基础理论知识的视频讲解资源信息,其中包括软件环境的安装视频,Struts 2核心技术讲解视频,以及动态语言、JPA等技术的讲解视频。
jjvideo目录
该目录下包含了本书实战篇提供的全部5个案例的视频精讲资源信息,对于每个案例,都提供了详细的分析、设计过程。
exam目录
该目录下包含了本书各章节对应的课后习题。
提示:本光盘中所涉及的内容,我们都以网页的形式进行了统一的管理,读者可以在光盘首页中找到对应资源的链接,也可以手动查找所需资源。
读者学习导航
本书适合广大Java爱好者及程序开发人员,尤其适合那些希望尽快掌握Struts 2应用技术,以及进行Struts 2实际开发的人员;同时本书也可作为各高等院校相关专业师生的参考用书,此外本书特别适合各Java培训机构作为教材使用。
对于有一定Java基础的初学者来说,可以首先通读本书前10章,在对Struts 2框架有了一定认识以后,结合各章节视频深入细致地学习各个知识点。当读者基本掌握了Struts 2相关技术以后,可以继续后面章节的学习。当然在这一过程中,读者需要动手调试各章节的案例,这样会非常有助于新知识的掌握。
对于有经验的开发人员来说,本书可以作为一本技术参考书籍。本书在每一章中都给出了一个思维拓扑图,涵盖了本章涉及到的相关知识点,便于读者查找学习。另外在介绍相关知识点的时候,对于开发中经常会遇到的问题,本书也给出了解决方案,相信会给读者的开发设计带来一定的帮助。
对于各Java培训机构来说,本书尤其适用。因为就目前的培训市场来看,Struts 2还是一个比较新的技术,开设了Struts 2课程的培训机构寥寥无几。只有创新才会在市场中具有更强大的竞争力,然而开设一项新的课程需要耗费大量的人力、物力及时间,其中课程体系的制定,教学内容的编排尤其如此。本书光盘中提供了完整的PPT课件及教学视频,各培训机构以本书资源为参考可以缩短开设新课程的运作周期,降低成本。
致谢
本书由电子工业出版社飞思科技产品研发中心监制,三扬科技团队编著。在本书编写过程中,策划编辑张春雨给予了很大的支持和帮助,并提出许多中肯的建议。同时感谢电子工业出版社所有编辑人员在本书的撰写及校对过程中给予我们耐心细致的指导及帮助。
本书由范立锋主编,其他参与本书编写的主要人员有:于琦、程峰、吕正超、吴新伟等。
在本书编写过程中我们力求精益求精,虽然尽了最大努力,但是由于笔者能力有限,难免存在一些错误及不足之处,敬请读者批评指正。感谢您购买本书,希望本书能够成为您的良师益友。
三扬科技服务网址:http://books.sunyang.net.cn。...
编著者

【目录】
第1部分  概述篇.
学习Struts 2框架技术之前,首先应该对其有一个整体的认识和了解:Struts 2框架是做什么的,它是如何诞生的,它的工作流程是怎样的。
第1章  Struts 2概述 3
Web应用由最初的HTTP协议到Servlet、JSP技术的应用,直至Web容器的诞生,经历了一系列的演变过程,Struts 2框架作为一个MVC框架也诞生于这一过程之中。
1.1  Web发展史 3
1.1.1  HTTP协议 
1.1.2  Servlet与Web容器
1.2  认识MVC 5
1.2.1  MVC的原理及简介
1.2.2  MVC的发展
1.2.3  Java EE中的MVC 
1.3  Struts 2框架的发展史 10
1.3.1  基于MVC框架开发
1.3.2  Struts框架
1.3.3  WebWork框架
1.3.4  Struts 2框架的诞生
1.4  Struts 2的工作流程 15
1.5  本章小结 16
第2章  搭建一个简单的Struts 2应用(教学视频:30分钟) 17
全面学习Struts 2框架技术之前必须做好基本的准备工作包括Struts 2框架的运行环境,Struts 2应用程序的架构流程及如何构建最基本的Struts 2应用。
2.1  使用Struts 2之前的准备工作 17
2.1.1  下载并安装JDK 
2.1.2  下载并安装Tomcat
2.1.3  下载Struts 2 
2.2  手动搭建Struts 2应用程序 20
2.2.1  应用程序的框架结构
2.2.2  引入工程所需运行库文件
2.2.3  在web.xml中配置FilterDispatcher
2.2.4  编写Action
2.2.5  配置struts.xml
2.2.6  编写视图资源
2.2.7  手动发布应用 
2.3  使用Eclipse开发Struts 2应用程序 27
2.3.1  开发环境的准备
2.3.2  详细搭建过程
2.4  本章小结 31
第2部分  Struts 2核心技术篇
Struts2框架中的各种核心技术,譬如拦截器、类型转换器、校验器、国际化及上传下载等,为Web应用中经常出现的问题提供了一系列行之有效的解决方案。
第3章  Struts 2核心基础 35
学会使用Struts 2框架技术的基本应用并不代表真正理解该技术,只有掌握Struts 2框架的核心基础知识,理解Struts 2重要组件的工作流程,才能更好地应用Struts 2框架技术。
3.1  Struts 2的抽象模型 36
3.2  对拦截器的简单介绍 36
3.3  Action的应用详解 37
3.3.1  了解Struts 2中的Action
3.3.2  ActionSupport类的使用
3.3.3  Action的传值方式
3.3.4  在Action中访问Servlet API
3.3.5  在Action中返回多个结果
3.3.6  在Action中定义多个方法
3.4  结果类型与视图 46
3.4.1  Struts 2中result的全貌
3.4.2  请求转发(dispatcher)
3.4.3  重定向(redirect)
3.4.4  Action链(chain)
3.4.5  结果视图的简单介绍 
3.5  struts.properties配置详解 50
3.6  struts.xml配置详解 51
3.6.1  struts.xml的构成
3.6.2  (include)
3.6.3  (constant)
3.6.4  (package)
3.6.5  (action)与(result)
3.6.6  (exception-mapping)与(global-exception-mappings)
3.6.7  (default-class-ref)
3.6.8  (default-action-ref)
3.6.9  (default-interceptor-ref)
3.6.10  (interceptors)
3.6.11  (interceptor-ref)
3.6.12  (global-results)
3.7  Struts 2中的值栈 62
3.7.1  值栈的存储结构
3.7.2  值栈中对象的遍历顺序
3.7.3  值栈的应用实例 
3.8  Struts 2中的OGNL 65
3.8.1  OGNL的简介
3.8.2  访问bean属性
3.8.3  访问上下文中的信息
3.8.4  对List的操作
3.8.5  对Map的操作
3.8.6  对于导航图深度的理解
3.9  本章小结 69
第4章  Struts 2的拦截器(教学视频:45分钟) 71
拦截器是Struts 2框架提供的诸多技术中最重要的一项技术,其他技术的实现都要依赖于拦截器,掌握拦截器的原理及应用,会为后续学习过程打下坚实基础。
4.1  拦截器的初步认识 71
4.1.1  什么是拦截器
4.1.2  拦截器的设计机制
4.2  如何使用拦截器 73
4.2.1  Struts 2内置拦截器的介绍
4.2.2  部署拦截器
4.2.3  为Action应用添加拦截器配置
4.2.4  拦截器参数的设置
4.2.5  拦截器应用实例 
4.3  如何使用拦截器栈 78
4.3.1  Struts 2内置拦截器栈的介绍
4.3.2  部署拦截器栈
4.3.3  为Action应用添加拦截器栈配置
4.3.4  拦截器栈中的参数覆盖
4.3.5  拦截器栈应用实例 
4.4  拦截器应用进阶 82
4.4.1  如何自定义拦截器
4.4.2  使用自定义拦截器对Action的方法进行拦截
4.4.3  对运行时间较长的Action视图界面的处理
4.4.4  重复提交的解决办法
4.4.5  多个拦截器的执行顺序 
4.5  拦截器实现原理的深入探讨 96
4.5.1  对动态代理的认识 
4.5.2  动态代理在拦截器中的应用
4.5.3  拦截器与过滤器的区别 
4.6  本章小结 97
第5章  Struts 2的类型转换器(教学视频:30分钟) 99
Web应用中客户端向服务器端传递数据均为字符串类型,而真正处理时需要的则是多种数据类型,因此类型转换对于Web应用十分重要,Struts 2通过类型转换器可以轻松解决类型转换问题。
5.1  类型转换的简介 100
5.1.1  什么是类型转换 
5.1.2  类型转换的实现原理
5.2  Struts 2内置类型转换器 103
5.3  引用类型的转换方式 103
5.4  对于特殊对象的类型转换 106
5.4.1  继承DefaultTypeConverter的类型转换器 
5.4.2  继承StrutsTypeConverter的类型转换器
5.4.3  配置局部类型转换器 
5.4.4  配置全局类型转换器
5.5  对于多个特殊对象的类型转换 112
5.5.1  使用全局类型转换器 
5.5.2  使用局部类型转换器
5.5.3  全局类型转换与局部类型转换的区别 
5.6  对于集合属性的简单处理 118
5.7  类型转换中的错误处理 120
5.7.1  处理类型转换器错误的拦截器 
5.7.2  处理类型转换器错误
5.7.3  类型转换错误信息的国际化 
5.8  本章小结 123
第6章  Struts 2的输入校验(教学视频:45分钟) 125
Web应用离不开输入校验,因为只有保证外来信息的合法性才能确保Web应用正常执行,Struts 2框架提供了多种输入校验的解决方案,能够有效确保信息的合法性。
6.1  输入校验的简介 125
6.2  正则表达式的介绍 126
6.3  编程方式实现Struts 2输入校验 127
6.3.1  在execute()中实现校验 
6.3.2  对上面方法的改进—使用validate()实现校验
6.3.3  更灵活的应用—validate*()的使用 
6.4  应用Struts 2的校验框架 134
6.4.1  了解Struts 2内置的校验器 
6.4.2  校验器的配置
6.4.3  使用Struts 2校验框架完成输入校验 
6.4.4  客户端校验与服务端校验
6.5  输入校验应用进阶 142
6.5.1  如何自定义一个校验器 
6.5.2  visitor校验器应用的详细介绍
6.5.3  校验框架中短路 
6.6  本章小结 148
第7章  Struts 2的文件上传(教学视频:20分钟) 149
绝大多数的Web应用都会用到文件上传,Java提供了Common-FileUpload框架和COS框架来实现文件上传,Struts 2通过对Common-FileUpoad进行封装,更容易地实现了文件上传操作。
7.1  文件上传的基本原理 149
7.2  使用Common-FileUpload框架实现文件上传 150
7.2.1  Common-FileUpload框架的简介 
7.2.2  下载Common-FileUpload框架
7.2.3  Common-FileUpload框架上传文件案例 
7.3  使用COS框架实现文件上传 153
7.3.1  COS框架的简介 7.3.2  下载COS框架
7.3.3  COS框架上传文件案例 
7.4  在Struts 2中实现文件上传 155
7.4.1  Struts 2文件上传的实现原理 
7.4.2  单个文件上传的案例
7.4.3  多个文件上传的案例 
7.5  在Struts 2中实现文件下载 163
7.5.1  Struts 2文件下载的实现原理 
7.5.2  文件下载的案例
7.6  文件上传应用进阶 165
7.6.1  使用拦截器实现上传文件过滤 
7.6.2  文件上传过程中错误信息处理
7.7  本章小结 168
第8章  Struts 2的国际化(教学视频:30分钟) 169
对于一个面向多国用户的Web应用来说国际化功能必不可少,Struts 2框架作为一个优秀的表示层框架,提供了更加简单、实用的国际化实现方案。
8.1  认识国际化 169
8.1.1  一个国际化的简单应用 
8.1.2  Struts 2国际化的实现原理
8.2  为程序的国际化做好准备 171
8.2.1  编写国际化资源文件 
8.2.2  资源文件的配置
8.2.3  资源文件的优先级 
8.3  调用国际化资源 175
8.3.1  应用(s:text/)标签调用国际化资源 
8.3.2  标签属性key的使用
8.3.3  应用getText()调用国际化资源 
8.4  对Struts 2国际化的补充说明 176
8.4.1  Struts 2默认的国际化资源文件 
8.4.2  日期及数字的国际化
8.4.3  i18n拦截器实现国际化的不足 
8.5  一个国际化的综合应用实例 179
8.6  本章小结 182
第9章  Struts 2的标签库(教学视频:140分钟) 183
Struts 2提供了大量标签用于简化页面开发,包括控制标签、数据标签、表单标签、非表单UI标签及Ajax标签。合理应用这些标签,将会大大提高开发效率。
9.1  Struts 2标签简介 183
9.1.1  为什么使用Struts 2标签 
9.1.2  初步认识Struts 2标签
9.1.3  Struts 2内置标签主题的简介 
9.2  控制标签 185
9.2.1  if/elseif/else标签 
9.2.2  iterator标签
9.2.3  append标签 
9.2.4  merge标签
9.2.5  subset标签 
9.2.6  sort标签
9.2.7  generator标签 
9.3  数据标签 197
9.3.1  action标签 
9.3.2  property标签
9.3.3  bean标签 
9.3.4  param标签
9.3.5  date标签 
9.3.6  debug标签
9.3.7  include标签 
9.3.8  set标签
9.3.9  url标签 
9.3.10  push标签
9.3.11  i18n标签 
9.4  表单标签 211
9.4.1  表单标签通用参数介绍 
9.4.2  与HTML功能相同的标签
9.4.3  label标签 
9.4.4  token标签
9.4.5  checkboxlist标签 
9.4.6  combobox标签
9.4.7  optgroup标签 
9.4.8  doubleselect标签
9.4.9  updownselect标签 
9.4.10  optiontransferselect标签
9.5  非表单UI标签 226
9.5.1  actionerror标签
9.5.2  fielderror标签
9.5.3  actionmessage标签
9.5.4  component标签
9.6  Ajax标签 231
9.6.1  head标签
9.6.2  div标签
9.6.3  submit标签
9.6.4  a标签
9.6.5  tabbedPanel标签
9.6.6  autocompleter标签
9.6.7  datetimepicker标签
9.6.8  tree和treenode标签
9.7  本章小节 258
第10章  Struts 2对标注的支持(教学视频:40分钟) 259
标注是JDK 5.0提出的新特性,各种框架相继加入了对标注的支持,Struts 2也不例外,提供了Action相关标注、拦截器相关标注、输入校验相关标注及类型转换相关标注。
10.1  Java中的标注 260
10.1.1  标注的使用
10.1.2  JDK内置标注
10.1.3  自定义标注类型
10.1.4  继承标注
10.1.5  标记注释
10.1.6  标注的应用实例
10.2  Action的相关标注 271
10.2.1  准备工作
10.2.2  @Namespace标注
10.2.3  @ParentPackage标注
10.2.4  @Result标注
10.2.5  @Results标注
10.2.6  Action相关标注的完整应用实例
10.3  拦截器的相关标注 276
10.3.1  准备工作
10.3.2  @Before标注
10.3.3  @BeforeResult标注和@After标注
10.3.4  对于拦截器相关标注的补充说明
10.4  输入校验的相关标注 282
10.4.1  @Validation
10.4.2  @ConversionErrorField-Validator
10.4.3  @DateRangeFieldValidator
10.4.4  @DoubleRangeFieldValidator
10.4.5  @IntRangeFieldValidator
10.4.6  @EmailValidator
10.4.7  @UrlValidator
10.4.8  @RequiredFieldValidator
10.4.9  @RequiredStringValidator
10.4.10  @StringLengthFieldValidator
10.4.11  @StringRegexValidator
10.4.12  @RegexFieldValidator
10.4.13  @ExpressionValidator和@FieldExpressionValidator
10.4.14  @CustomValidator与@ValidationParameter
10.4.15  @Validations
10.4.16  输入校验相关标注综合应用实例
10.5  类型转换的相关标注 291
10.5.1  @Conversion标注
10.5.2  @CreateIfNull标注
10.5.3  @Element标注
10.5.4  @Key标注
10.5.5  @KeyProperty标注
10.5.6  @TypeConversion标注
10.6  本章小结 294
第3部分  业务层应用篇
单纯使用表示层技术无法完美实现一个复杂的Web应用,Struts 2作为一项表示层技术同样需要与业务层相关框架技术结合,在Web应用中发挥其强大的作用。
第11章  Struts 2整合Spring 297
Spring是一个流行的轻量级容器,在大部分Java EE应用中Spring都被用来管理其他组件,Struts 2与Spring的结合应用使得开发过程变得更加高效和易于管理。
11.1  Spring简介 297
11.1.1  Spring的发展史
11.1.2  Spring的优势
11.1.3  Spring的核心架构
11.1.4  如何获取Spring
11.1.5  Spring的一个简单应用 
11.2  Spring的核心概念 301
11.2.1  Spring中的依赖注入
11.2.2  BeanFactory的介绍
11.2.3  Spring中的AOP 
11.3  Spring与Struts 2的整合 304
11.3.1  Struts 2对其他框架的支持
11.3.2  Spring插件的介绍
11.3.3  Struts 2与Spring的整合实例 
11.4  本章小结 308
第12章  Struts 2整合Guice 309
Guice是Google推出的一个轻量级容器,但是在某些方面却比Spring更加轻巧实用,Guice能够以标注或绑定的方式轻松实现IoC。
12.1  Guice简介 310
12.1.1  什么是Guice
12.1.2  Guice的特点
12.1.3  获取Guice 
12.2  Guice的架构分析 311
12.2.1  Guice启动阶段执行流程
12.2.2  体验Guice
12.3  Guice中常用标注的介绍 314
12.3.1  @BindingAnnotation标注
12.3.2  @ImplementedBy标注
12.3.3  @Inject标注
12.3.4  @ProvidedBy标注
12.3.5  @ScopeAnnotation标注
12.3.6  @Singleton标注
12.3.7  @Named标注
12.3.8  @RequestParameters标注
12.3.9  @RequestScoped标注
12.3.10  @SessionScoped标注
12.4  Guice中的IoC 316
12.4.1  Guice提供的3种注入方式
12.4.2  通过实体类与接口的绑定实现注入
12.4.3  单接口与多个实现类的注入处理
12.4.4  通过@Named标注处理单接口与多个实现类的注入
12.4.5  使用Provider实现动态注入
12.4.6  绑定常量和静态变量
12.5  绑定属性的设置 327
12.5.1  作用域的设置
12.5.2  资源加载模式的设置
12.5.3  默认注入的设置 
12.6  处理持久层的warp-persist 329
12.6.1  使用warp-persist调用JPA
12.6.2  使用warp-persist调用Hibernate
12.6.3  使用warp-persist调用Db4o
12.6.4  warp-persist中的事务处理
12.6.5  warp-persist提供的动态查找器 
12.7  Guice与Struts 2的结合 333
12.7.1  在Struts 2中使用Guice
12.7.2  Struts 2结合Guice实现登录实例
12.8  本章小结 338
第13章  Struts 2对动态语言的支持(教学视频:70分钟) 339
近几年来动态语言以其得天独厚的优势而倍受关注,Struts 2框架提供了对动态语言的支持,在Struts 2应用程序中使用Groovy或JRuby动态语言,能够显著提高程序可维护性。
13.1  动态语言的介绍 339
13.1.1  什么是动态语言
13.1.2  动态语言的特点
13.2  Struts 2中使用Groovy 340
13.2.1  Groovy的基础
13.2.2  Groovy的高级特性
13.2.3  使用Groovy编写Struts 2的Action 
13.3  Struts 2中使用JRuby 353
13.3.1  JRuby入门
13.3.2  使用JRuby编写Struts 2的Action
13.4  本章小结.. 360
第4部分  持久层应用篇
eb应用不可避免地要与数据库进行交互,在Struts 2框架技术开发的Web程序中加入各种持久层技术的应用,能够更好地解决数据存储的问题。
第14章 Struts 2整合JPA(教学视频:30分钟) 363
JPA是Java EE新推出的持久化标准规范,充分借鉴了现有ORM产品和框架的成功经验,虽然Struts 2并没有显式提供对JPA的支持,但是却可以在Struts 2应用中使用JPA管理持久层。
14.1  JPA简介 363
14.1.1  什么是JPA
14.1.2  JPA的优势
14.2  实体 365
14.2.1  实体类的要求
14.2.2  实体类中的持久性字段和特性
14.2.3  实体中的主键 
14.3  实体关系 367
14.3.1  实体关系的多样性
14.3.2  实体关系中的方向
14.3.3  实体继承性 
14.4  管理实体 373
14.4.1  持久化上下文
14.4.2  EntityManager接口
14.4.3  持久化单元 
14.5  JPA查询语言 377
14.5.1  Select语句
14.5.2  Update和Delete语句
14.6  使用JPA 380
14.6.1  安装JPA 14.6.2  实体化数据表
14.6.3  配置persistence.xml文件
14.6.4  实体管理器类
14.6.5  实体操作类 
14.7  使用MyEclipse 6配置JPA 389
14.7.1  新建数据库连接
14.7.2  添加JPA应用
14.7.3  添加JPA实体和操作
14.7.4  将单个类转成JPA实体
14.8  JPA在Struts 2中的应用 398
14.8.1  配置Struts 2应用
14.8.2  配置JPA应用
14.8.3  在数据库中插入数据 
14.9  本章小结 404
第15章 Struts 2整合Hibernate 405
Hibernate是一个开源的ORM框架,它对JDBC进行了非常轻量级的对象封装。在Struts 2应用中使用Hibernate,程序员能够以多种方式更加灵活地实现数据持久化。
15.1  Hibernate简介 405
15.1.1  “O/R映射”的介绍
5.1.2  Hibernate的历史
15.1.3  Hibernate的工作方式
5.1.4  获取Hibernate
15.2  Hibernate的基础 408
15.2.1  对象关系的映射
15.2.2  对象状态
15.2.3  检索方式
15.2.4  事务处理
15.2.5  Hibernate中的标注 
15.3  Hibernate与Struts 2的结合使用 412
15.3.1  准备工作
15.3.2  具体实现过程
15.3.3  程序运行结果
15.3.4  Struts 2与Hibernate整合流程归纳
15.4  本章小结 418
第16章 Struts 2整合iBATIS 419
iBATIS是基于JDBC之上的面向关系型数据库的一种映射机制,它以SQLMap为核心应用SQL操作数据库,iBATIS能够更加灵活地解决Struts 2企业应用中数据持久化问题。
16.1  iBATIS简介 420
16.1.1  什么是iBATIS
16.1.2  获取iBATIS
16.1.3  iBATIS的工作流程 
16.2  SQL Map的XML配置文件 421
16.2.1  使用(setting)元素配置SQL Map
16.2.2  使用(transactionManager )元素配置事务策略
16.2.3  使用(dataSource )元素配置数据源
16.2.4  使用( sqlMap )元素引入SQL Map映射文件
16.3  SQL Map映射文件详解 425
16.3.1  通过Mapped Statement使用SQL
16.3.2  通过(Statements)元素定制SQL操作
16.3.3  使用resultMap配置映射
16.3.4  使用cacheModel缓存Mapped Statement结果集
16.4  iBATIS事务处理 429
16.5  iBATIS 组件介绍 430
16.6  iBATIS的高级特性 431
16.6.1  自动生成主键
16.6.2  动态SQL元素的查询
16.6.3  iBATIS对XML类型返回结果的支持
16.6.4  iBATIS对存储过程的支持
16.7  iBATIS与Struts 2的结合使用 435
16.7.1  创建用户信息数据库表
16.7.2  创建并配置iBATIS映射文件
16.7.3  开发并配置DAO层
16.7.4  结合Struts 2开发表示层
16.7.5  开发处理类UserInfoAction.java
16.7.6  配置web.xml
16.7.7  运行结果 
16.8  本章小结 449
第5部分  表示层应用篇
虽然Struts 2本身是用于实现表示层开发设计的,但是我们可以在Struts 2开发的Web应用中整合其他表示层技术。通过Struts 2与其他表示层技术的结合使用,能够扬长避短,将各框架最擅长的功能发挥到极致。
第17章  Struts 2整合JSF 453
JSF专注于构建Web视图层的应用,通过基于UI组件的模型实现了页面中组件、事件和后台Bean的绑定,从而简化了Web应用的开发过程。
17.1  JSF简介 453
17.1.1  什么是JSF
17.1.2  JSF的特点
17.1.3  JSF应用入门 
17.2  JSF基础 460
17.2.1  JavaBean
17.2.2  导航规则
17.2.3  标准用户组件
17.2.4  事件和监听器模型
17.3  Struts 2整合JSF 471
17.3.1  Struts 2整合JSF的优点
17.3.2  Struts 2与JSF整合过程
17.3.3  整合应用实例 
17.4  本章小结 483
第18章  Struts 2对模板语言的支持(教学视频:40分钟) 485
模板技术最大的好处在于将业务逻辑与视图界面的分离,这样使得开发人员分工更加明确。Struts 2采用FreeMarker作为其默认的模板技术,同时对Velocity也提供了良好的支持。
18.1  模板语言的介绍 485
18.2  Struts 2中使用Velocity 486
18.2.1  Velocity的优势
18.2.2  Velocity的基础
18.2.3  Velocity的其他特性
18.2.4  在Web应用中使用Velocity
18.2.5  Struts 2对Velocity的支持 
18.3  Struts 2中使用FreeMarker 500
18.3.1  为什么选择FreeMarker
18.3.2  下载安装FreeMarker
18.3.3  FreeMarker入门 18.3.4  FreeMarker的基本语法
18.3.5  将FreeMarker应用到Web应用中
18.3.6  Struts 2整合FreeMarker
18.3.7  用Struts 2标签设计模板
18.3.8  FreeMarker与Velocity的比较
18.4  本章小结 530
第19章  Struts 2整合其他表示层技术 531
Struts 2允许使用Tiles、JFreeChart、SiteMesh等其他表示层技术与其结合进行开发,以便更好地处理页面架构、图、表等表示层问题。
19.1  整合Tiles 531
19.1.1  Tiles框架简介
19.1.2  Struts 2整合Tiles的配置过程
19.2  整合SiteMesh 534
19.2.1  SiteMesh简介
19.2.2  Struts 2整合SiteMesh的配置过程
19.3  整合JFreeChart 536
19.3.1  JFreeChart简介
19.3.2  Struts 2整合JFreeChart的配置过程
19.4  整合JasperReports 537
19.4.1  JasperReports简介
19.4.2  Struts 2整合JasperReports的配置过程
19.5  本章小结 538
第6部分  实战篇
只有理论结合实践才能更加深入地理解并掌握理论知识,做到举一反三。通过几个真实应用的开发实战,读者能够更好地掌握Struts 2在Java EE开发过程中的综合应用,并可以熟练使用Struts 2与各种框架整合开发Web应用程序。
第20章  Struts 2开发银行账户管理系统(教学视频:70分钟) 541
通过一个简单的银行账户管理系统演示如何使用Struts 2进行实际应用开发,本例没有加入其他框架技术,而是使用JDBC实现数据库访问操作。
20.1  需求设计 541
20.1.1  需求分析
20.1.2  业务分析
20.1.3  用例分析 
20.2  系统设计 547
20.2.1  设计策略
20.2.2  系统架构设计
20.2.3  数据库设计 
20.3  详细设计与实现 549
20.3.1  工程结构设计
20.3.2  添加Struts 2应用
20.3.3  领域模型层设计
20.3.4  持久层设计
20.3.5  业务层设计
20.3.6  表示层设计
20.3.7  校验器及拦截器设计 
20.4  本章小结 576
第21章  Struts 2+Guice+JPA实现购物车功能(教学视频:90分钟) 577
购物车在商业应用中被广泛使用,是网上购物系统的一个重要组成部分,本例使用Struts 2作为表示层技术,Guice作为业务层实现技术,JPA作为持久层实现技术整合开发购物车功能。
21.1  需求分析 577
21.2  功能描述 578
21.3  购物车原理 578
21.4  系统架构设计 579
21.4.1  表示层
21.4.2  业务层
21.4.3  持久层 
21.5  表结构设计 583
21.6  使用JPA操作持久层 584
21.6.1  域模型
21.6.2  对用户表的持久化操作
21.6.3  对商品表的持久化操作 
21.7  使用Guice操作业务层 589
21.7.1  用户自身的操作
21.7.2  用户对商品的操作
21.7.3  用户对购物车的操作
21.7.4  使用Guice将接口和实现类绑定
21.8  使用Struts 2充当表示层 596
21.8.1  用户的Action跳转
21.8.2  商品的Action跳转
21.8.3  购物车的Action跳转 
21.9  本章小结 620
第22章  Struts 2+Spring 2+iBATIS开发数据采集系统(教学视频:80分钟) 621
数据采集是实现信息自动获取、资讯自动更新过程中的一个重要环节,是应用系统的核心应用,本系统使用Struts 2整合Spring 2和iBATIS共同开发设计而成。
22.1  需求分析 621
22.2  业务分析 622
22.3  数据库设计 623
22.3.1  资源数据库设计
22.3.2  本地数据库设计
22.4  持久化类与映射文件 626
22.4.1  创建持久化类
22.4.2  配置持久化类的映射文件
22.4.3  配置数据库信息 
22.5  构建整合工程 634
22.6  DAO层设计 635
22.6.1  开发iBAITS DAO层代码
22.6.2  添加Spring配置信息
22.7  结合Struts 2开发表示层 648
22.7.1  配置struts.xml
22.7.2  编写Action类
22.7.3  配置web.xml
22.7.4  发布与运行
22.8  本章小结 657
第23章  Struts 2+Spring 2+Hibernate 3开发投票管理系统(教学视频:90分钟) 659
SSH 2架构是SSH(Struts+Spring+Hibernate)架构的延续和发展,SSH 2不仅继承了SSH架构的优点,而且还改善了SSH的不足,该架构已成为Java EE整合的主流架构。
23.1  需求设计 659
23.1.1  需求分析
23.1.2  业务分析
23.1.3  用例分析 
23.2  系统设计 665
23.2.1  技术方案
23.2.2  数据库设计
23.3  详细设计与代码实现 668 
23.3.1  创建Struts 2应用
23.3.2  添加Hibernate应用
23.3.3  添加Spring应用
23.3.4  工程结构图
23.3.5  领域模型层设计
23.3.6  持久层设计
23.3.7  业务层设计
23.3.8  表示层设计
23.4  本章小结 700
第24章  Struts 2+Spring 2.5+JPA开发权限管理系统(教学视频:70分钟) 701
基于Struts 2+Spring 2.5+JPA的架构是Java EE开发的新组合,该架构经常被应用在基于Java EE的数据库应用系统中,权限管理系统是其中的一个典型代表。
24.1  系统功能简述 702
24.1.1  系统功能描述
24.1.2  系统操作流程
24.2  配置总体框架 706
24.2.1  使用Struts 2控制页面跳转
24.2.2  使用Spring管理Struts 2的跳转和实现
24.2.3  使用JPA操作持久层
24.2.4  数据表结构设计
24.2.5  领域模型层设计
24.2.6  工程结构图
24.3  系统功能模块 722
24.4  关联表操作 722
24.4.1  role_function操作类
24.4.2  user_role操作类
24.5  模块操作 729
24.5.1  设计模块操作的持久层
24.5.2  设计模块操作的业务层
24.5.3  设计模块操作的表现层 
24.6  功能操作 740
24.6.1  设计功能操作的持久层
24.6.2  设计功能操作的业务层
24.6.3  设计功能操作的表现层 
24.7  角色操作 753
24.7.1  设计角色操作的持久层
24.7.2  设计角色操作的业务层
24.7.3  设计角色操作的表现层 
24.8  用户操作 768
24.8.1  设计用户操作的持久层
24.8.2  设计用户操作的业务层
24.8.3  设计用户操作的表现层 
24.9  重点难点分析 788
24.10  本章小结 788
附录A  struts.properties配置详解 789
附录B  struts-default.xml 791
附录C  JPA中的标注 801
C.1  实体化标注 801
C.2  数据库模型属性标注 801
C.2.1  标注@Table
C.2.2  标注@SecondaryTable
C.2.3  标注@SecondaryTables
C.2.4  标注@Column
C.2.5  标注@JoinColumn
C.2.6  标注@JoinColumns
C.2.7  标注@PrimaryKeyJoinColumn
C.2.8  标注@PrimaryKeyJoinColumns
C.2.9  标注@JoinTable
C.2.10  标注@UniqueConstraint
C.3  身份标注 806
C.3.1  标注@Id
C.3.2  标注@IdClass
C.3.3  标注@EmbeddedId
C.3.4  标注@GeneratedValue
C.3.5  标注@SequenceGenerator
C.3.6  标注@TableGenerator
C.4  直接映射标注 808
C.4.1  标注@Basic
C.4.2  标注@Enumerated
C.4.3  标注@Temporal
C.4.4  标注@Lob
C.4.5  标注@Transient 
C.5  关系映射标注 809
C.5.1  标注@OneToOne
C.5.2  标注@ManyToOne
C.5.3  标注@OneToMany
C.5.4  标注@ManyToMany
C.5.5  标注@MapKey
C.5.6  标注@OrderBy
C.6  组合标注 811
C.6.1  标注@Embeddable
C.6.2  标注@Embedded
C.6.3  标注@AttributeOverride
C.6.4  标注@AttributeOverrides
C.6.5  标注@AssociationOverride
C.6.6  标注AssociationOverrides
C.7  继承标注 813
C.7.1  标注@Inheritance
C.7.2  标注@DiscriminatorColumn
C.7.3  标注@DiscriminatorValue
C.7.4  标注@MappedSuperclass
C.7.5  这个类型的其他4个标注 
C.8  锁定标注 814
C.9  生命周期回调标注 814
C.9.1  标注@PrePersist
C.9.2  标注@PostPersist
C.9.3  标注@PreRemove
C.9.4  标注@PostRemove
C.9.5  标注@PreUpdate
C.9.6  标注@PostUpdate
C.9.7  标注@PostLoad
C.9.8  标注@EntityListeners
C.9.9  标注@ExcludeDefaultListeners
C.9.10  标注@ExcludeSuperclass-Listeners
C.10  实体管理器标注 816
C.10.1  标注@PersistenceUnit
C.10.2  标注@PersistenceUnits
C.10.3  标注@PersistenceContext
C.10.4  标注@PersistenceContexts
C.10.5  标注@PersistenceProperty 
C.11  查询标注 817
C.11.1  标注@NamedQuery
C.11.2  标注@NamedQueries
C.11.3  标注@NamedNativeQuery
C.11.4  标注@NamedNativeQueries
C.11.5  标注@QueryHint
C.11.6  标注@ColumnResult
C.11.7  标注@EntityResult
C.11.8  标注@FieldResult
C.11.9  标注@SqlResultSetMapping
C.11.10  标注@SqlResultSetMappings
参考文献...

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16566727/viewspace-485717/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-29

  • 博文量
    922
  • 访问量
    1357393