Java 语言已经被广泛用在Web 应用开发领域,Java Web 应用可以充分发挥Java语言自身的优点:跨
平台、健壮、稳定、高效的分布运算性能。而且在Java Web 领域已经出现了许多开放源代码的Web 容
器、框架软件及工具软件,在开发Web 应用的过程中直接运用这些现成的软件,可以减少开发的成本,
提高开发的效率,降低开发的难度。
Tomcat是在Oracle公司的JSWDK(JavaServer Web DevelopmentKit,Oracle 公司推出的小型
Servlet/JSP 调试工具)的基础上发展起来的一个优秀的Java Web 应用容器,它是Apache开源软件组
织的一个子项目。Tomcat被JavaWorld杂志评选为2001年度最具创新的Java 产品(Most Innovative
Java Product)。同时,它还是Oracle公司官方推荐的Servlet/JSP容器。因此它受到越来越多的软件
公司和开发人员的喜爱。Servlet 和JSP 的最新规范都在Tomcat的新版本中得到了实现。
Java Web 应用容器的主要功能就是运行Servlet 和JSP,而JSP 本质上就是Servlet。因此本文中提到
的Java Web 应用容器、Servlet/JSP 容器或者Servlet容器,实际上都是同一个概念的不同说法。作
为一个开放源代码的软件,Tomcat 得到了开放源代码志愿者的广泛支持,它可以和
目前大部分的主流HTTP 服务器(如IIS 和Apache 服务器)一起工作,而且运行稳定、可靠、效率高。
作者根据多年的Java Web开发经验,详细阐明了在最新的Tomcat 9版本上开发Java Web应用涉及的各
种技术,并且介绍了如何将Tomcat 和其他主流HTTP 服务器集成,以及创建具有实用价值的企业Java
Web 应用的方案。
本书的组织结构和主要内容
本书内容总体上分为两部分。
l 第1章至第23章:依据Oracle的Java Servlet规范和JSP规范,深入介绍了开发JavaWeb 应用的各种
技术。
l 第 24章至第33章:介绍Tomcat服务器的基本配置和高级配置,从而为Java Web应用创建高效的运行
环境;介绍在Java Web 应用中运用第三方提供的实用软件(如Spring、Velocity和Log4J)的方法。
本书按照由浅到深、前后呼应的顺序来安排内容。本书涉及的内容可以细分为以下5 类:
(1)Tomcat的基础知识,如表P-1 所示。
表P-1 Tomcat 的基础知识
知识点参考章
Tomcat 服务器作用、结构和安装步骤 第2 章:Tomcat 简介
配置虚拟主机 第3 章:第一个Java Web 应用
(2)Java Web开发的基础知识,如表P-2 所示。
表P-2 Java Web开发的基础知识
知识点 参考章
HTTP 协议和Web运作原理 第1 章:Web运作原理探析
Java Web 应用的结构和发布 第3 章:第一个Java Web 应用
Servlet的基本原理,创建Servlet 的基本步骤,Servlet API中常用
接口和类的用法
第4 章:Servlet技术(上)
JSP 基本语法 第6 章:JSP 技术
bookstore 应用范例 第7 章:bookstore 应用简介
在Java Web 应用中访问数据库,配置数据源 第8 章:访问数据库
在Java Web 应用中使用HTTP 会话 第9 章:HTTP会话的使用与管理
在Java Web 应用中访问JavaBean;JavaBean 在不同范围内的生命周期
第10 章:JSP访问JavaBean
EL语言 第12 章:EL表达式语言
(3)Java Web开发高级技术,如表P-3 所示。
表P-3 Java Web开发的高级技术
知识点 参考章
用 Servlet实现文件的上传、文件的下载和生成动态图片 第5 章:Servlet技术(下)
ServletContext监听器
HTTP 会话监听器
第5 章:Servlet技术(下)
第9 章:HTTP会话的使用与管理
开发JavaMail Web应用,配置Mail Session 第11 章:开发JavaMail Web 应用
创建自定义JSP标签 第13 章:自定义JSP标签
网站的模板设计 第14 章:采用模板设计网上书店应用
JSTL标签库的用法
第15 章:JSTL Core 标签库
第16 章:JSTL I18N标签库
第17 章:JSTL SQL标签库
第18 章:JSTL Functions标签库
创建国际化的Web 应用 第16 章:JSTL I18N标签库简单标签和标签文件的用法 第19 章:简单标签和
标签文件过滤器 第20 章:过滤器在Web应用中访问EJB组件 第21 章:在Web 应用中访问EJB组件
通过AXIS 发布和访问Web服务 第22 章:在Web 应用中访问Web服务Java Web 应用的MVC 设计模式 第
23 章:Web应用的MVC 设计模式(4)在Web 应用中运用第三方提供的实用软件,如表P-4 所示。表P-4
在Java Web应用中运用第三方提供的实用软件知识点 参考章通过AXIS 发布和访问Web服务 第22 章:
在Web 应用中访问Web服务使用Spring MVC框架 第23 章:Web应用的MVC 设计模式使用ANT工具来管理
Web应用 第30 章:用ANT工具管理Web应用使用Log4J进行日志操作 第31 章:使用Log4J进行日志操作
使用Velocity模板语言 第32 章:Velocity模板语言(5)Tomcat的高级功能,如表P-5 所示。表P-5
Tomcat的高级功能
知识点 参考章
持久性会话管理 第9 章:HTTP会话的使用与管理
Tomcat 的控制和管理平台 第24 章:Tomcat 的控制平台和管理平台
安全域 第25 章:安全域
Tomcat 与其他HTTP 服务器(如Apache HTTP 服务器和IIS 服务器)集成
第26 章:Tomcat 与其他HTTP 服务器集成
Tomcat 集群 第26 章:Tomcat 与其他HTTP 服务器集成
在Tomcat 中配置SSI 第27 章:在Tomcat中配置SSI
Tomcat 阀 第28 章:Tomcat 阀
在Tomcat 中配置SSL 第29 章:在Tomcat中配置SSL
创建嵌入式Tomcat 第33 章:创建嵌入式Tomcat服务器
本书的范例程序
本书通过以下3个Web应用范例贯穿全书:
l helloapp 应用
l bookstore(网上书店)应用
l JavaMail Web(javamail)应用
1.helloapp应用
本书通过helloapp 应用的例子来讲解Java Web 开发的基础知识。比如,在第3 章以helloapp 应用为
例,讲述了发布Web 应用的步骤。在其他章节中,所有针对单个知识点的Servlet和JSP 的例子,都被
发布到helloapp 应用中。
2.bookstore 应用
bookstore应用是一个充分运用了所有Java Web 开发技术的综合实例,它实现了一个网上书店,更加
贴近实际应用。为了便于读者循序渐进地掌握Java Web 应用技术,在书中提供了bookstore应用的5个
版本,它们分别侧重于某些技术。
(1)bookstore version0:通过这个例子读者可以进一步掌握JSP 编程的技巧,能够灵活地运用
JavaBean和HttpSession,并掌握通过JDBC API访问数据库的技术。
(2)bookstore version1:该例介绍如何在Tomcat中配置JNDI DataSource(数据源),以及如何在
Web 应用中访问JNDI DataSource。
(3)bookstore version2:使读者掌握创建JSP 自定义标签的高级技术,并掌握对网页进行模板设计
的方法。
(4)bookstore version3:实现了基于Java EE 架构的bookstore 应用,并介绍了在WildFly应用服
务器上发布bookstore应用的方法。
(5)bookstore version4:实现了基于Web 服务架构的bookstore 应用。
3.JavaMail Web(javamail)应用
JavaMail Web应用是一个基于Web的邮件客户程序,它向Web 客户提供了访问邮件服务器上的邮件账号、
进行收发邮件和管理邮件夹等功能。通过这个例子,读者可以了解电子邮件的发送和接收协议,掌握
JavaMail API的使用方法,以及通过JavaMail API创建JavaMailWeb 应用的过程。通过这个例子,读
者还可以掌握在Tomcat 中配置Mail Session 的步骤,以及在Web 应用中访问Mail Session的方法。
这本书是否适合你
阅读本书,要求读者具备Java编程的基础知识,作者的另外两本书(《Java 面向对象编程》和《大话、
Java:程序设计从入门到精通》)对此做了详细介绍。
本书面向所有打算或已经开发Java Web 应用的读者。尽管本书在讲解Java Web技术时以Tomcat作为运
行平台,但由于Java Web 技术是Oracle公司在Java Servlet 规范中提出的通用技术,因此本书讲解
的范例可以运行在任何一个实现Oracle的Servlet规范的Java Web服务器上。另一方面,由于Tomcat是
Oracle公司官方推荐的Servlet/JSP 容器,因此在学习Java Web开发技术或进行实际的开发工作时,
Tomcat是首选的Java Web应用容器。
如果你是开发Java Web 应用的新手,建议按照本书的先后顺序来学习。如果你已经在开发Java Web 应
用方面有丰富的经验,则可以把本书作为实用的Tomcat 技术和Java Web开发技术的参考资料。本书详
细介绍了Servlet API、JDBC API和JavaMail API等的用法,
还详细介绍了JSTL标签库中各个标签的用法。此外,还介绍了把Tomcat与当前其他通用的HTTP 服务器
集成的步骤,以及Tomcat 的各种高级功能。灵活运用本书介绍的各种开发和配置技巧,将使Java Web
应用开发更加得心应手。
实践是掌握Java Web 技术最迅速、有效的办法。本书提供了大量典型的例子,在本书附赠光盘中提供
了完整的源代码,以及软件安装程序。本书所有程序均在Tomcat 9 版本中测试通过,读者可以按照书
上介绍的详细步骤亲自动手,在本地机器上配置Tomcat 开发和运行环境,然后创建和发布Java Web 应
用。
光盘使用说明
本书附赠光盘包含以下目录。
1.software目录
在该目录下包含了本书涉及的大多数软件的安装程序,主要包括:
(1)Tomcat的安装软件
(2)MySQL服务器的安装软件
(3)Apache HTTP服务器的安装软件
(4)Ant的安装软件
(5)AXIS 软件
(6)Log4J 软件
(7)Spring 框架软件
(8)WildFly软件
(9)Velocity软件
除了上述软件,本书还会用到JDK和MerakMailServer软件,受这些软件版权的限制,光盘中未提供这
两个软件。读者可以到这些软件的官方网站或者JavaThinker.net网站的技术支持网页下载它们。本书
的相关章节详细介绍了获取这些软件的途径。
2.sourcecode 目录
在该目录下提供了本书所有的源程序,每一章的源程序位于相应的sourcecode/chapterX目录下(X 代
表章节号)。bookstore 应用和javamail 应用分别位于sourcecode/bookstores 和
sourcecode/javamails目录下。
3.lesson 目录
在该目录下提供了与本书配套的精品视频课程。
第三版增加内容
第三版保留了第二版的精华内容,并且在内容的深度和广度方面都作了很大的扩展。第三版主要增加
了如下内容:
l 根据最新的Servlet 规范,增加了新的内容,包括:对请求的异步处理、服务器端推送,以及用标
注来配置Servlet和过滤器等。
l 根据最新的JDK、Servlet4 API以及EJB3 API,更新了本书中所有的程序代码和配置代码。
l 介绍了最新版本的Tomcat 9、AXIS 2、Velocity、Log4J等软件的用法。介绍了最新版本的Tomcat与
Apache HTTP服务器,以及IIS 服务器集成的方法。
l 在介绍MVC设计模式时,介绍了Spring MVC框架在Java Web中的具体运用方法。
l 在本书附赠光盘中包含了书中所有的源代码和大部分软件的最新版本。此外,还提供了与本书配套
的精品视频课程。
l 为本书多数章提供了精心设计的思考题及答案,帮助读者理解和巩固书中阐述的知识。
本书技术支持网址
以下网址是作者为本书提供的技术支持网址,读者可通过它获取最新的Java Web 开发技术资料,下载
与本书相关的资源(如源代码、软件安装程序、讲义、视频教程等),还可以与其他读者交流学习心
得,与作者联系,以及对本书提出宝贵意见:
http://www.javathinker.net/javaweb.jsp
致谢
本书在编写过程中得到了Apache 软件组织和Oracle公司的大力技术支持,本书第一版和第二版的读者
以及JavaThinker.net网站的网友为本书的编写提供了有益的帮助,在此表示衷心的感谢!尽管我们尽
了最大努力,但本书难免会有不妥之处,欢迎各界专家和读者朋友批评指正。