《Java Web高级编程》这本书主要涵盖了Java Web开发的高级主题和技术,旨在帮助Java Web开发的初学者和已经了解Java SE、SQL和基本的HTML的程序员提升他们的Java编码技能到更高水平。
本书内容丰富,结构清晰,从理论到实践,从基础到高级,逐步引导读者深入学习。无论是Java Web开发的初学者,还是希望进一步提升技能的资深开发者,都能在这本书中找到宝贵的知识和实用的技巧。
接下来我会将它分成四个部分来讲解这本书,这篇讲第一部分—创建企业级应用程序。

1.介绍JavaEE平台
在开始之前,我们需要先了解JavaEE这个平台,这本书阐述了JavaEE平台从开始到现在持续发展的时间线,之后向我们介绍了基本的Web应用程序结构。
(1)Servlet、过滤器、监听器和JSP,它们的执行顺序:监听器—>过滤器init()方法—>jsp—>过滤器doFilter—>过滤链—>Servlet
(2)目录结构和WAR文件
所有的Java EE Web应用程序服务器都支持WAR文件应用程序归档。
无论是归档还是未归档的文件,它们的目录结构约定都是相同的
2.如何选择并使用Web容器
从Web应用程序结构图可以看到Servlet受控于另一个Java应用,这个应用称为容器。那么本书第二章就讲解怎样选择一个Web容器(本书使用Tomcat),以及安装、调试教程(包括IDEA和Eclipse)。
3.教你创建第一个Servlet
(1)创建servlet类
(2)配置可部署的servlet
向描述符中添加servlet,将servlet映射到URL,最后运行调试servlet。
(3)讲解doGet、doPost和其他方法
使用HttpServletRequest,使用HttpServletRepose。
(4)表单
4.创建JSP并使用JSP显示页面内容
了解文件结构,指令、声明、脚本和表达式,注释代码,在JSP中导入类,使用指令。
将项目部署到Tomcat,然后启动Tomcat。
页面显示
5.使用会话维持应用程序的状态
它介绍了如何在客户端和服务器之间创建会话。还学习了与会话有关的许多潜在安全漏洞中的一部分,以及对应的解决方法,同时还介绍了最安全的会话ID传输方法:使用 SSL 会话 ID。接下来在购物车应用程序中使用会话,并为客户支持应用程序添加了登录支持。
6.在JSP中使用表达式语言
本章讲解了 Java统一表达式语言的历史、EL 语法的基础和EL 表达式的用途。还讲解了保留关键字、操作符、字面量值、对象属性和方法的访问、EL函数和JSTL函数库、静态字段和方法的访问、枚举、lambda 表达式和集合操作符。本章还介绍了 4种不同的作用域和隐式的 EL 作用域,并讲解了 11 个隐式 EL 变量。还讲解了流 API 和在 EL 3.0 中如何使用该 API。
7.使用Java标准标签库
本章讲解了 Java 标准标签库(JSTL)的所有特性,以及一些常用的JSP标签和它们的创建方式。还讲解了核心标签库以及国际化和格式化标签库的方方面面,并简单讲解了在 JSP 中访问数据库和解析 XML 的方式。
8.编写自定义标签和函数库
本章讲解了如何创建自定义 JSP 标签和 EL 函数。还通过查看 Java 标准标签库的方式讲解了标签库描述符,并创建了自定义的 TLD。接下来讲解了标签文件的概念并使用该技术创建了强大的模板,用作应用程序页面的基础页面。此时,所有不使用 Java 代码创建 JSP 页面的相关知识就都讲完了。
9.使用过滤器改进应用程序
本章讲解了过滤器的目的和使用它们的许多原因,还讲解了 Filter 接口和在应用程序中创建、声明、映射过滤器的方式。接着还学习了异步请求处理的概念,并使用过滤器深入学习该主题,了解异步请求处理的困难。最后,在学习了声明和映射过滤器的三种不同方式之后——部署描述符、使用注解和编程式——通过日志过滤器、响应压缩过滤器和认证过滤器进行了实验。
10.在应用程序中使用WebSocket进行交互
本章创建了三连棋的多人游戏版本,在应用程序群集的节点之间使用WebSocket 进行通信,并为客户支持应用程序添加支持客户聊天功能。
11.使用日志监控程序
本章讲解了应用程序日志的基础知识,以及日志如此重要的原因。还讲解了几种不同的日志模式和分类、日志级别的概念。还讲解了将日志 API 与底层实现分离的重要性,避免了将来可能出现的问题。
到此,在这本书中我们的第一个企业级应用程序就完成了。我们已经学习了Web应用程序开发的各个方面,包括JavaSE、Java EE、Servlet、JSP、过滤器、WebSocket、应用服务器和 Web 容器等。当你这本书读完第一部分时应该已经牢固掌握了这些基本知识,也应该能够编写相当复杂的应用程序。
在第二部分学习Spring Framework时,我们将开始接触更多企业开发技能,以及如何补充、增强——在某些情况下——取代Java EE的某些部分。
如果对这本书以及我的文章感兴趣,可以关注我的公众号:编程百事通
这本书的获取方式在下面:[比心]