本教材是一本JavaEE框架教材,详细讲解了Struts2、Hibernate和Spring三大框架技术的基本知识和使用方法。对知识点的描述保持由浅入深、通俗易懂的描述方式,使得原本复杂难于理解的知识点,变得通俗易懂。同时,在教材中配备了大量的示例,通过示例的展示,可以帮助读者更快理解和掌握SSH的核心技术。 本书共17章,第1~6章主要讲解Struts2的相关知识,包括Struts2的基础知识、核心配置、拦截器、标签库、OGNL表达式和值栈、Struts2的文件上传和下载。第7~11章主要讲解了Hibernate的起源、核心文件、持久化对象状态和一级缓存、Hibernate的关联关系映射、Hibernate的检索方式、Hibernate的事务处理和二级缓存等。第12~16章主要讲解了Spring的基本应用、Spring中的Bean、Spring AOP、Spring的数据库开发以及Spring的事务管理。第17章结合添加用户的案例对SSH框架的整合进行讲解。掌握了SSH框架技术,就能很好的适应企业开发的技术需要,为大型项目的开发奠定基础。
本书附有配套的教学PPT、题库、教学视频、源代码、教学补充案例、教学设计等资源。而且本教材还配备一个企业级SSH项目—CRM项目实训手册,通过实训手册的学习,可以让学生真正体会到企业级开发过程,轻松面对企业的用人需求。同时,为了帮助初学者及时地解决学习过程中遇到的问题,传智播客还专门提供了免费的在线答疑平台,并承诺在3小时内针对问题给予解答。
本书可作为高等院校本、专科计算机相关专业、程序设计类课程或者Web项目开发的专用教材,是一本适合广大计算机编程爱好者的优秀读物。
特色一:配备大型实训项目
本书加入了真实的项目,让学生切身感受真正的企业级项目开发,为学生的就业保驾护航。
特色二:知识点对应开发需求
传智播客集合技术人员和讲师打造写书团队,深入研究当今企业对Java从业人员的实际需求,对应市场需求设计本书知识点。
特色三:从基础开始,由浅入深
语句描述简单精练。针对每个小节中的每个知识点都有需求分析,即为什么要讲解该知识点。知识点主要是通过案例来进行学习,每个案例后都配有详细的案例分析。让学生通过教材的学习,能做到对知识点的熟练掌握。
特色四:各篇独立,内容完整
本教材的篇幅设计非常独立,如第1~6章对Struts2的相关知识进行讲解;第7~11章对Hibernate的相关知识进行讲解;第12~16章对Spring的相关知识进行讲解;最后一章结合添加用户的案例对SSH框架的整合进行讲解。
特色五:教材、资源、服务三合一,高效学习
本书配套了多种资源供广大师生使用,另外,不管您是老师还是学生,使用我们的教材、资源过程中,遇到任何问题,都可以联系我们。
第1章 Struts2框架入门 1.1 Struts2简介 1.1.1 什么是Struts2 1.1.2 Struts2的下载和安装 1.2 Struts2入门案例 1.3 Struts2的执行流程分析 1.4 本章小结 第2章 Struts2的核心配置 2.1 配置struts.xml文件 2.1.1 struts.xml文件 2.1.2 常量配置 2.1.3 包配置 2.1.4 包含配置 2.2 Action的配置 2.2.1 实现Action控制类 2.2.2 配置Action 2.2.3 使用通配符 2.3 Action访问Servlet API 2.4 Action处理请求参数 2.4.1 属性驱动 2.4.2 模型驱动 2.5 Result结果类型 2.5.1 配置Result 2.5.2 预定义的结果类型 2.5.3 dispatcher结果类型 2.5.4 redirect结果类型 2.6 本章小结 第3章 Struts2的拦截器 3.1 拦截器简介 3.1.1 拦截器概述 3.1.2 拦截器的工作原理 3.1.3 拦截器的配置 3.2 Struts2的内建拦截器 3.2.1 内建拦截器的介绍 3.2.2 内建拦截器的配置 3.3 自定义拦截器 3.3.1 实现自定义拦截器 3.3.2 应用案例—使用拦截器实现权限控制 3.4 本章小结 第4章 Struts2的标签库 4.1 Struts2标签库概述 4.1.1 Struts2标签库的分类 4.1.2 Struts2标签的使用 4.2 Struts2的控制标签 4.2.1 <s:if>、<s:elseif>、<s:else>标签 4.2.2 <s:iterator>标签 4.3 Struts2的数据标签 4.3.1 <s:property>标签 4.3.2 <s:a>标签 4.3.3 <s:debug>标签 4.3.4 <s:include>标签 4.3.5 <s:param> 4.4 Struts2的模板和主题 4.5 Struts2的表单标签 4.5.1 表单标签的公共属性 4.5.2 <s:form>标签 4.5.3 <s:submit>标签 4.5.4 <s:textfield>和<s:textarea>标签 4.5.5 <s:password>标签 4.5.6 <s:radio>标签 4.5.7 <s:checkbox>标签 4.5.8 <s:checkboxlist>标签 4.5.9 <s:select>标签 4.5.10 <s:optgroup>标签 4.5.11 <s:file>标签 4.5.12 <s:hidden>标签 4.5.13 <s:reset>标签 4.6 Struts2的非表单标签 4.7 本章小结 第5章 OGNL表达式和值栈 5.1 OGNL表达式 5.1.1 什么是OGNL 5.1.2 使用OGNL访问对象方法和静态方法 5.2 值栈 5.2.1 什么是值栈 5.2.2 值栈的内部结构 5.2.3 值栈在开发中的应用 5.2.4 通过EL访问值栈的数据 5.3 本章小结 第6章 Struts2的文件上传和下载 6.1 文件上传 6.1.1 文件上传的概述 6.1.2 应用案例—单文件上传 6.1.3 限制文件的大小和类型 6.2 文件下载 6.2.1 文件下载的概述 6.2.2 应用案例—文件下载 6.2.3 中文文件的下载 6.3 本章小结 第7章 初识Hibernate 7.1 Hibernate简介 7.1.1 为什么使用Hibernate 7.1.2 Hibernate的下载和目录结构 7.1.3 Hibernate的执行流程 7.2 第一个Hibernate程序 7.2.1 创建项目并导入jar包 7.2.2 创建数据库及表 7.2.3 编写实体类(持久化类) 7.2.4 编写映射文件Customer.hbm.xml 7.2.5 编写核心配置文件hibernate.cfg.xml 7.2.6 编写测试类,进行增删改查操作 7.3 Hibernate的核心文件 7.3.1 Hibernate的映射文件*.hbm.xml详解 7.3.2 Hibernate的配置文件hibernate.cfg.xml详解 7.4 Hibernate的核心API 7.4.1 Configuration 7.4.2 SessionFactory 7.4.3 Session 7.4.4 Transaction 7.4.5 Query 7.4.6 Criteria 7.5 本章小结 第8章 持久化对象状态和一级缓存 8.1 Hibernate持久化对象的状态 8.1.1 持久化对象的状态 8.1.2 持久化对象状态转换 8.2 Hibernate的一级缓存 8.2.1 什么是一级缓存 8.2.2 一级缓存常用操作 8.3 本章小结 第9章 Hibernate的关联关系映射 9.1 系统模型中实体设计的三种关联关系 9.1.1 一对多关联关系映射 9.1.2 多对多关联关系映射 9.2 关联关系中的反转与级联 9.2.1 反转操作 9.2.2 级联操作 9.3 本章小结 第10章 Hibernate的检索方式 10.1 Hibernate检索方式的概述 10.1.1 导航对象图检索方式 10.1.2 OID检索方式 10.1.3 HQL检索方式 10.1.4 QBC检索方式 10.1.5 本地SQL检索方式 10.2 HQL检索 10.2.1 指定别名 10.2.2 投影查询 10.2.3 动态实例查询 10.2.4 条件查询 10.2.5 分页查询 10.3 QBC检索 10.3.1 组合查询 10.3.2 分页查询 10.4 本章小结 第11章 Hibernate的事务处理和二级缓存 11.1 事务的概述 11.1.1 事务的特性 11.1.2 事务的并发问题 11.1.3 事务的隔离级别 11.2 Hibernate的事务处理 11.2.1 Hibernate中的事务配置 11.2.2 Hibernate事务处理方式之悲观锁 11.2.3 Hibernate事务处理方式之乐观锁 11.3 Hibernate的二级缓存 11.3.1 二级缓存的原理和分类 11.3.2 二级缓存的结构 11.3.3 二级缓存的并发访问策略和供应商 11.3.4 二级缓存的配置和使用 11.4 本章小结 第12章 Spring的基本应用 12.1 Spring基本知识 12.1.1 什么是Spring 12.1.2 Spring框架的优点 12.1.3 Spring的体系结构 12.1.4 Spring的下载及目录结构 12.2 Spring的IoC容器 12.2.1 BeanFactory 12.2.2 ApplicationContext 12.3 第一个Spring程序 12.4 依赖注入 12.5 本章小结 第13章 Spring中的Bean 13.1 Bean的配置 13.2 Bean的实例化 13.2.1 构造器实例化 13.2.2 静态工厂方式实例化 13.2.3 实例工厂方式实例化 13.3 Bean的作用域 13.3.1 作用域的种类 13.3.2 Singleton作用域 13.3.3 Prototype作用域 13.4 Bean的生命周期 13.5 Bean的装配方式 13.5.1 基于XML的装配 13.5.2 基于Annotation的装配 13.5.3 自动装配 13.6 本章小结 第14章 面向切面编程(Spring AOP) 14.1 Spring AOP简介 14.1.1 什么是AOP 14.1.2 AOP术语 14.2 手动代理 14.2.1 JDK动态代理 14.2.2 CGLIB代理 14.3 声明式工厂Bean 14.3.1 Spring通知类型 14.3.2 声明式Spring AOP 14.4 AspectJ开发 14.4.1 基于XML的声明式AspectJ 14.4.2 基于Annotation的声明式AspectJ 14.5 本章小结 第15章 Spring之数据库开发 15.1 Spring JDBC 15.1.1 Spring JDBCTemplate的解析 15.1.2 Spring JDBCTemplate的常用方法 15.2 本章小结 第16章 Spring事务管理 16.1 Spring事务管理的三个核心接口 16.2 TransactionProxyFactoryBean 16.3 Spring AOP XML方式 16.4 Spring AOP Annotation方式 16.5 本章小结 第17章 SSH框架整合 17.1 准备整合环境 17.1.1 准备数据库环境 17.1.2 配置Strust2环境 17.1.3 配置Spring环境 17.1.4 配置Hibernate环境 17.2 Spring和Hibernate的整合 17.2.1 介绍 17.2.2 使用hibernate.cfg.xml 文件 17.2.3 不使用hibernate.cfg.xml 17.3 Spring与Struts2的整合 17.3.1 介绍 17.3.2 Action创建交予Spring 17.3.3 Struts2自身创建Action 17.4 注解 17.5 本章小结