基本信息
编辑推荐
随着多年的技术演变和发展,d2EE技术平台日趋成熟,成为当今电子商务的最佳解决方案。J2EE继承了Java平台无关性的优点,使得J2EE技术成为金融、保险、电信等大型应用系统的首选平台方案。在J2EE技术中,使用Struts2+Hibernate+Spring进行整合开发是最为流行和最受欢迎的框!架搭配,正被越来越多的开发者使用。《Struts 2+Hibernate+Spring整合开发技术详解》理论结合实践给出了实际的解决方案,介绍将这些框架集成整合起来,应用到J2EE开发中,引导读者快速掌握J2EE开发框架应用实践。
窗内网是基于Web2.0的真实社区,结合多位一线计算机教师实际教学经验提供大量免费视频教程,旨在推进无纸化教学进程,打造免费开放的网络学院。
61段全程配音语音教学视频,全书实例源代码,使学习、分析、调试程序更方便。
在线服务:视频库,源代码库、专业论坛,专家实时支持。
内容简介
计算机书籍
本书通过理论与实践相结合的方式来讲述struts 2+hibernate+spring整合开发知识。本书共分4篇19章,第1篇为1~7章,内容包括struts 2运行机制,常用配置,拦截器,struts 2标签优势及分类,struts 2国际化、异常处理、ognl和文件上传与—下载。第2篇为8~11章,内容包括hibernate框架、基础配置和hibernate核心接口,基本映射,hibernate一级缓存和二缓存及性能优化。第3篇为12~16章,内容包括spring体系结构,bean容器,spring aop,spring mvc框架,dispatcherservlet配置、处理器映射与拦截器、视图解析器和控制器,struts2与spring的整合原理、方式和流程。第4篇通过3个综合应用实例介绍了struts 2+hibernate+spring整合开发知识。<BR>本书适合的读者对象包括java web开发和j2ee开发人员,具备一定基础的jsp和servlet开发人员,正在自学j2ee知识的读者,本书还可以作为在校师生的教学参考资料。
目录
前言
Java 2 Enterprise Edition(J2EE)技术自从被推出以来就得到了广泛认可和应用,随着多年的技术演变和发展,J2EE技术平台已经日趋成熟,成为当今电子商务的最佳解决方案。相对于微软推出的.NET平台,J2EE继承了Java平台无关性的优点,成为金融、保险、电信等大型应用系统的首选平台方案。
而在J2EE技术中,使用Struts 2+Hibernate+Spring进行整合开发是最为流行和最受欢迎的框架搭配,正被越来越多的开发者使用,本书就如何将这些框架整合起来应用到J2EE开发中去从理论到实践给出了实际的解决方案,引导读者快速进入最流行的J2EE开发框架应用实践中去。
1.本书内容
本书共分4篇19章,通过理论与实践相结合的方式来讲述Struts 2+Hibernate+Spring整合开发。
第1篇包括第1~7章。第1章简单介绍MVC设计,概述Struts 2,然后通过一个简单的实例介绍Struts 2的使用及运行机制;最后讲述Struts 2常用配置。第2章讲述Struts 2拦截器,包括拦截器原理、配置和自定义拦截器。第3章讲述Struts 2的Action类的实现,讲述ActionContext和Servlet API的访问、Action配置、动态方法调用。
第4章首先介绍Struts 2标签优势及分类,然后以实例形式讲解Struts 2的常用标签。第5章介绍Struts 2输入校验必要性、种类以及与类型的关系,然后以实例形式讲述了两种方式的输入校验:重写validate()方法和使用Struts 2内置校验器。第6章讲述Struts 2国际化、异常处理、OGNL和文件上传与下载。第7章以用户注册系统为实例,讲述Struts2应用的使用方法。
第2篇包括第8~11章。第8章通过对象持久化与持久层引出ORM,概述了Hibernate框架,最后讲述了Hibernate配置、日志配置和Hibernate核心接口。第9章讲述Hibernate基本映射,介绍集合映射和实体关联关系映射,最后讲述了Hibernate常用检索方式:HQL查询和QBC查询。第10章介绍事务,概念、并发控制和Hibernate悲观锁与乐观锁,以及Hibernate一级缓存和二级缓存,最后讲解如何对Hibernate进行性能优化。第11章通过BBS论坛实例来讲述Struts2与Hibernate的整合、应用。
第3篇包括第12~16章。第12章主要讲述Spring的下载和安装、体系结构、单态与工厂模式的实现、控制反转和与其他产品的比较。第13章介绍Bean容器、生命周期、基本Bean装配、自动装配和Spring特殊Bean的使用。第14章首先概述了Spring AOP,然后以实例讲解5种通知类型,最后讲述了切点,定义与使用,以及ProxyFactoryBean和自动代理。
第15章首先概述了Spring MVC,通过入门实例来讲解其机制,介绍了DispatcherServlet配置、映射处理器与拦截器、视图解析器和控制器的使用,最后讲述了中文乱码的处理、信息国际化、文件上传和Tiles布局。第16章通过相册系统来讲述Struts2与Spring的整合原理、方式和流程,以及如何应用Struts 2与Spring。
第4篇包括第17~19章。第17章通过通讯录实例来讲解Spring与Hibernate的整合与应用方法。第18章通过列车查询系统实例讲述Struts 2、Spring与Hibernate的整合过程、原理及应用方法。第19章通过网上书店项目实例讲述Struts 2、Spring与Hibernate的整合过程、原理及应用方法。
2.本书特色
本书中采用大量的实例进行讲解,力求通过实例使读者更形象地理解面向对象的思想,快速掌握Struts 2、Spring和Hibernate理论及实际应用。本书难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。
示例典型,应用广泛 作者精心挑选了大量的示例程序,它们都是根据作者在实际开发中的经验总结而来的,涵盖了在实际开发中可能出现的各种问题,而且有些程序能够直接在项目中使用,避免读者进行二次开发。
基于理论,注重实践 在讲述过程中,不仅仅只介绍理论知识,而且在合适位置安排综合应用实例,或者小型应用程序,将理论应用到实践当中,来帮助读者提高实际应用能力,巩固Struts2、Spring和Hibernate开发基础和知识。
语言简洁,版式活泼 本书力求以最简洁、活泼的语言和生活中的经典例子来阐述各种知识,达到易于阅读、理解和掌握的目的。在阐述过程中穿插了各种提示、注意、技巧等体例,同时能突出重点,层次分明。
随书配备光盘 本书为实例配备了视频教学文件,读者可以通过视频文件更加直观地学习Struts 2、Spring和Hibernate的操作知识。
3.读者对象
本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识性及丰富的实例来指导读者透彻地学习Struts 2、Spring和Hibernate各方面的知识。本书可以作为Struts 2、Spring和Hibernate开发的入门书籍,也可以帮助中级读者提高技能,对高级读者也有一定的启发意义。
本书适合以下人员阅读学习。
媒体评论
口在应用程序运行时经常使用的查询语句。
口很少对与查询语句关联的数据库中数据进行插入、删除或更新操作。
在开发中,通过两种方式执行对数据库中数据的查询操作。一种方式是通过ID来获得单独的Java对象,另一种方式是通过HQL语句(QBC或SQL)来执行对数据库的查询操作。下面就分别结合这两种查询方式来说明一下缓存的作用。
通过ID来获得Java对象可以直接使用Session对象的load()或者get()方法,这两种方式的区别就在于对缓存的使用上。
load方法在使用了二级缓存的情况下,使用load()方法会在二级缓存中查找指定的对象是否存在。
执行load(1方法时,Hibernate首先从当前Session一级缓存中获取ID对应的对象,在获取不到的情况下,将根据该对象是否配置了二级缓存来做相应的处理。
如果配置了二级缓存,则从二级缓存中获取ID对应的值,如果仍然获取不到,则还需要根据是否配置了延迟加载来决定如何执行,如果未配置延迟加载,则从数据库中直接获取。在从数据库中获取到数据的情况下,Hibemate会相应地填充一级缓存和二级缓存,如果配置了延迟加载,则直接返回个代理类,只有在触发代理类的调用时,才进行数据库的查询操作。
书摘
口在应用程序运行时经常使用的查询语句。
口很少对与查询语句关联的数据库中数据进行插入、删除或更新操作。
在开发中,通过两种方式执行对数据库中数据的查询操作。一种方式是通过ID来获得单独的Java对象,另一种方式是通过HQL语句(QBC或SQL)来执行对数据库的查询操作。下面就分别结合这两种查询方式来说明一下缓存的作用。
通过ID来获得Java对象可以直接使用Session对象的load()或者get()方法,这两种方式的区别就在于对缓存的使用上。
load方法在使用了二级缓存的情况下,使用load()方法会在二级缓存中查找指定的对象是否存在。
执行load(1方法时,Hibernate首先从当前Session一级缓存中获取ID对应的对象,在获取不到的情况下,将根据该对象是否配置了二级缓存来做相应的处理。
如果配置了二级缓存,则从二级缓存中获取ID对应的值,如果仍然获取不到,则还需要根据是否配置了延迟加载来决定如何执行,如果未配置延迟加载,则从数据库中直接获取。在从数据库中获取到数据的情况下,Hibemate会相应地填充一级缓存和二级缓存,如果配置了延迟加载,则直接返回个代理类,只有在触发代理类的调用时,才进行数据库的查询操作。