毫无疑问,Java 是这些年来最流行的编程语言之一。它无处不在一计算机、 手机、网站以及各种嵌入式设备中都存在着大量的Java 应用程序,而其中应用最为广泛的应该就是Java EE Web应用程序(以及安卓应用程序,不过本书的主题是Java EE开发)。通过使用Java EE平台中的各种组件,我们可以轻松构建出稳定而功能丰富的企业级Web应用程序。

随着Spring的出现,Java 开发更是变得简洁和轻松。Spring 是一个一站式的开发框架,它通过自身实现和第三方集成两种方式提供了Java企业应用程序表现层、业务层、持久层等相关技术。而它的几个特性——依赖注入(D)、反转控制(IoC)和面向切面编程(AOP),相信大家更是应该耳熟能详了。

本书将对Spring框架的这些特性进行深入的讲解。另外,本书还将讲解如何使用Spring Security保护自己的应用程序。在开发过程中的另一个重要技术就是如何存储数据了,在这方面对象关系映射(O/RM)得到了充分的发展,涌现出了一大批优秀的框架(Hibernate、iBatis、 Toplink 等),而Hibernate更是其中的佼佼者。随后又出现了统-的规范JPA, 又再次促进了对象关系映射的发展。而对于开发者来说,这也简化了大家的学习曲线,我们只需要掌握JPA规范就可以轻松地在各种不同实现之间切换。

无论是Java EE开发,还是Spring和JPA,它们都拥有丰富的内容,任意一项其实都可以拿出来单独通过一本书来讲解,而在这里本书对这些内容进行了巧妙的组合,既对开发中经常使用的内容进行了详细的讲解,也保证了内容的清晰。每章除了自已独有的样例之外,本书还使用了一个贯穿全书的样例,通过不断对它进行改进来演示真实的开发过程。

由于篇幅限制小编,小编只在这里给大家展示目录及部分内容,有需要完整文档的程序猿(媛)可以关注文末公众号获取

第I部分:创建企业级应用程序

  • 第1章介绍Java EE平台
  • 第2章使用Web容器
  • 第3章创建第一个Servlet
  • 第4章使用JSP显示页面内容
  • 第5章使用会话维持状态
  • 第6章在JSP中使用表达式语言
  • 第7章使用Java标准标签库
  • 第8章编写自定义标签和函数库
  • 第9章使用过滤器改进应用程序
  • 第10章在应用程序中使用WebSocket进行交互
  • 第11章使用日志监控应用程序

本部分将对Servlet、过滤器、监听器和JavaServer Pages(JSP)进行讲解。本部分首先讲解Servlet如何响应HTTP请求,以及过滤器如何协助它完成对请求的处理。还将讲解如何使用JSP轻松创建出强大的用户界面,以及如何通过结合使用JSP标记和全新的ExpressionLanguage 3.0,创建出不含Java代码的视图,这些视图可以由不具有Java知识的UI开发者进行维护。本部分还将讲解HTTP会话,以及如何使用它们创建出丰富的用户体验(可以跨越应用程序中的多个页面)。另外还会对一门全新的技术WebSockets进行讲解,通过它我们可以创建出更加丰富、更具有交互性的用户界面,因为它将在应用程序和客户端(例如浏览器)之间提供全双工的双向通信。最后,本部分将讲解应用程序日志的最佳实践和技术,当你创建了一个包含大量代码的复杂应用程序时,日志的使用是非常重要的。

第II部分:添加Spring Framwork

  • 第12章介绍Spring Framework
  • 第13章使用控制器替代Servlet
  • 第14章使用服务和仓库支持控制器
  • 第15章使用Spring Framework i18n国际化应用程序
  • 第16章使用JSR 349、Spring Framework和Hibernate Validator执行Bean验证
  • 第17章创建RESTfulI和SOAP Web服务
  • 第18章使用消息传送和群集实现灵活性和可靠性

从第II部分开始,我们将开始使用Spring Framework和Spring MVC.该部分包含的内容有:依赖注入(DI)、反转控制(IoC)和面向切面编程(AOP)。我们将使用XML和基于注解的配置搭建高级Spring Framework 项目,还将使用Spring工具实现bean验证和国际化。我们将使用Spring MVC控制器和Spring Web Services创建出RESful 和SOAP Web服务,还将学习如何使用SpringFramework内建的消息传送系统。最终我们将学习高级消息队列协议(AMQP),并学习如何配置和使用RabbitMQ。

第III部分:使用JPA和Hibernate ORM持久化数据

  • 第19章介绍Java Persistence API和Hibernate ORM
  • 第20章使用JPA注解将实体映射到表
  • 第21章在Spring Framework仓库中使用JPA
  • 第22章使用Spring Data JPA消除
  • 公式化的仓库
  • 第23章使用JPA和Hibernate Search搜索数据
  • 第24章创建高级映射和自定义数据类型

第I部分将专注于数据持久化和使用不同的方式将对象存储在数据库中。在介绍了使用原生JDBC持久化实体的一- 些基本问题之后,该部分将开始讲解对象关系映射(O/RM)和Hibernate ORM及其API。接下来将讲解Java PersistenceAPI,该API抽象出了一些公共API,不管底层使用的是哪种O/RM实现,我们都可以编写相同的代码。然后讲解了Spring Data,以及它如何帮助在不用编写任何持久化代码的情况下,创建持久化应用程序。最后讲解了几种搜索持久化数据的不同方法,以及如何结合使用Hibernate Search和Apache Lucene作为潜在的全文搜索工具。

第IV部分:使用Spring Security保护应用程序

  • 第25章介绍Spring Security
  • 第26章使用Spring Security验证用户
  • 第27章使用授权标签和注解
  • 第28章使用OAuth保护RESTful Web服务

本书的最后一部分介绍了 认证和授权的概念,并展示了同时可用于这两种目的的几种技术。然后讲解了如何在Spring Framework应用程序中集成Spring Securityo 最后讲解了如何使用OAuth1.0a和OAuth2.0保护Web服务,以及如何创建自定义的访问令牌类型,对OAuth2.0实现进行增强。

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!不会只有大纲和目录,有需要的程序猿(媛)可以关注下方公众号获取

腾讯大牛半年心血高级编程PDF,帮你轻松构建企业级Web应用的更多相关文章

  1. WebGL高级编程:开发Web3D图形 PDF(中文版带书签)

    WebGL高级编程:开发Web3D图形 目录 WebGL简介11.1 WebGL基础11.2 浏览器3D图形吸引人的原因21.3 设计一个图形API31.3.1 即时模式API31.3.2 保留模式A ...

  2. 什么才是Python的高级编程?大牛总结,绝对让你受益匪浅

    很多刚入门或者还在了解的小伙伴们都会遇到迷茫期吧,就是学完这些基础,函数,字典啥的,好像也做不了什么东西,其实你基础学的扎实的话,是能做很多的事的,学完基础也不要迷茫,因为每门语言都是博大精深的,不是 ...

  3. Qt高级编程 高清PDF+源|网盘下载地址附提取码|

    书籍作者:Mark Summerfield(马克 . 萨默菲尔德)(英)   书籍译者:闫锋欣内容简介:本书是一本阐述Qt高级编程技术的书籍.本书以工程实践为主旨,是对Qt现有的700多个类和上百万字 ...

  4. UNIX环境高级编程笔记之文件I/O

    一.总结 在写之前,先唠几句,<UNIX环境高级编程>,简称APUE,这本书简直是本神书,像我这种小白,基本上每看完一章都是“哇”这种很吃惊的表情.其实大概三年前,那会大三,我就买了这本书 ...

  5. python高级编程之选择好名称:完

    由于时间关系,python高级编程不在放在这边进行学习了,如果需要的朋友可以看下面的网盘进行下载 # # -*- coding: utf-8 -*- # # python:2.x # __author ...

  6. 趣学Python编程PDF高清完整版免费下载|百度网盘

    百度网盘:趣学Python编程PDF高清完整版免费下载 提取码:ts47 内容简介 python是一款解释型.面向对象.动态数据类型的高级程序设计语言.python语法简捷而清晰,具有丰富和强大的类库 ...

  7. 读《C#高级编程》第1章问题

    读<C#高级编程>第1章 .Net机构体系笔记 网红的话:爸爸说我将来会是一个牛逼的程序员,因为我有一个梦,虽然脑壳笨但是做事情很能坚持. 本章主要是了解.Net的结构,都是一些概念,并没 ...

  8. MVC高级编程+C#高级编程

    本人今年的目标是学习MVC高级编程和C#高级编程,把自己的基础打的扎实,本文中值是一个开到,定期会在上面记录学习的技术点和心得就,加油吧!!!!!

  9. 《C#高级编程》读书笔记

    <C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) sh ...

随机推荐

  1. com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'user'

    nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'user' 可能错误原因: ...

  2. Linux发行版-Manjaro

    Manjaro是什么? 一个基于Arch系列,开源的linux发行版 Mnajrao官网了解更多,这里不做更多阐述内容 为什么使用Manjaro 第一点,为了方便自己隔离腾讯网游 第二点,更方便的学习 ...

  3. 使用docker安装nginx并配置端口转发

    使用docker安装并运行nginx命令: docker run --name=nginx -p 80:80 -d docker.io/nginx 使用命令: docker exec -it ngin ...

  4. Dubbo整合Springboot框架

    本文使用的是alibaba的Dubbo. Dubbo整合Springboot可以分为四步: 第一步:首先需要了解Dubbo官方给的建议,至少有三个工程: 接口工程:主要存实体bean和业务接口 服务提 ...

  5. 开发读取.properties 配置文件工具类PropertiesUtil

    import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.juni ...

  6. 2020-06-02:千万级数据量的list找一个数据。

    福哥答案2020-06-02: 对于千万级长度的数组单值查找:序号小的,单线程占明显优势:序号大的,多线程占明显优势.单线程时间不稳定,多线程时间稳定. go语言测试代码如下: package mai ...

  7. 2020-04-17:说说redis的rdb原理。假设服务器的内存8g,redis父进程占用了6g,子进程fork父进程后,子父进程总共占用内存12g,如何解决内存不足的问题?(挖)

    福哥答案2020-04-18: 这是一道挖坑题.内存占用只会比6g多一点,不会用12g.fork+cow.

  8. JavaScript apply使用

    call 和 apply 作用: 都是为了改变某个函数运行的context上下文而存在的,为了改变函数体内部 this的指向 JavaScript函数存在定义时上下文和运行时上下文, 上下文(cont ...

  9. 关于Dapper实现读写分离的个人思考

    概念相关     为了确保多线上环境数据库的稳定性和可用性,大部分情况下都使用了双机热备的技术.一般是一个主库+一个从库或者多个从库的结构,从库的数据来自于主库的同步.在此基础上我们可以通过数据库反向 ...

  10. Ubuntu18.04 安装 Fabric & 使用 Fabric 测试网络

    前言: 本文介绍在 Ubuntu 18.04 中安装 Fabric, 并对 官方文档中的一个小案例(Using the Fabric test network)进行测试. 目的: 初步了解 Fabri ...