本书详细介绍了在最新Tomcat 5版本上开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。\r\n 书中内容注重理论与实践相结合,列举了大量具有典型性和实用价值的Web应用实例,并提供了详细的开发和部署步骤。由于Java Web技术是SUN公司在Java Servlet规范中提出的通用技术,因此本书讲解的Java Web应用例子可以运行在任何一个实现SUN的Servlet规范的Java Web服务器上。随书附赠光盘内容为本书所有范例源程序,以及本书涉及到的所有软件的最新版本的安装程序。\r\n 本书语言深入浅出,通俗易懂。无论对于Java Web开发的新手还是行家来说,本书都是精通Tomcat技术和开发Java Web应用的必备的实用手册。
第1章 Tomcat简介 1\r\n1.1 Tomcat与Servlet容器 1\r\n1.2 Tomcat的结构 2\r\n1.3 Java Web应用简介 4\r\n1.4 Tomcat的工作模式 5\r\n1.5 Tomcat的版本 6\r\n1.6 安装和配置Tomcat所需的资源 7\r\n1.7 安装Tomcat 7\r\n1.8 测试Tomcat的安装 9\r\n1.9 Tomcat的运行脚本 11\r\n1.10 小结 12\r\n第2章 创建和发布Web应用 13\r\n2.1 Tomcat的目录结构 13\r\n2.2 创建和发布Web应用 14\r\n2.3 配置虚拟主机 25\r\n2.4 小结 27\r\n第3章 Servlet技术 29\r\n3.1 Servlet简介 29\r\n3.2 Servlet API 29\r\n3.3 Servlet的生命周期 32\r\n3.4 HTTP与HttpServlet 33\r\n3.5 创建HttpServlet的步骤 37\r\n3.6 ServletContext和Web应用的关系 39\r\n3.7 小结 42\r\n第4章 JSP技术 43\r\n4.1 JSP简介 43\r\n4.2 JSP语法 44\r\n4.3 JSP与Cookie 50\r\n4.4 转发JSP请求 53\r\n4.5 JSP异常处理 54\r\n4.6 再谈部署JSP 57\r\n4.7 小结 57\r\n第5章 bookstore应用简介 59\r\n5.1 bookstore应用的软件结构 59\r\n5.2 浏览bookstore应用的JSP网页 60\r\n5.3 JavaBean和实用类 66\r\n5.4 发布bookstore应用 71\r\n5.5 小结 72\r\n第6章 访问数据库 73\r\n6.1 安装和配置MySQL数据库 73\r\n6.2 通过JDBC访问数据库 75\r\n6.3 数据源(DataSource)简介 89\r\n6.4 配置数据源 90\r\n6.5 程序中访问数据源 93\r\n6.6 处理中文编码 101\r\n6.7 小结 102\r\n第7章 Session的使用与管理 105\r\n7.1 Session简介 105\r\n7.2 Session范例程序 107\r\n7.3 Session的跟踪 111\r\n7.4 Session的持久化 115\r\n7.5 小结 121\r\n第8章 访问JavaBean 123\r\n8.1 JavaBean简介 123\r\n8.2 JSP访问JavaBean的语法 124\r\n8.3 JavaBean的范围 125\r\n8.4 在bookstore应用中访问JavaBean 128\r\n8.5 小结 134\r\n第9章 用ant工具管理Web应用 135\r\n9.1 安装配置ant 135\r\n9.2 创建build.xml文件 135\r\n9.3 运行ant 140\r\n9.4 小结 141\r\n第10章 Tomcat的控制平台和管理平台 143\r\n10.1 访问Tomcat的控制平台和管理平台 143\r\n10.2 Tomcat的控制平台 144\r\n10.3 Tomcat的管理平台 148\r\n10.4 小结 150\r\n第11章 安全域 151\r\n11.1 安全域概述 151\r\n11.2 为Web资源设置安全约束 152\r\n11.3 内存域 158\r\n11.4 JDBC域 160\r\n11.5 DataSource域 162\r\n11.6 在Web应用中访问用户信息 165\r\n11.7 小结 166\r\n第12章 Tomcat阀 167\r\n12.1 Tomcat阀简介 167\r\n12.2 客户访问日志阀 167\r\n12.3 远程地址过滤器 169\r\n12.4 远程主机过滤器 170\r\n12.5 客户请求记录器 171\r\n12.6 小结 172\r\n第13章 Servlet过滤器 173\r\n13.1 Servlet过滤器简介 173\r\n13.2 创建Servlet过滤器 174\r\n13.3 发布Servlet过滤器 177\r\n13.4 串联Servlet过滤器 181\r\n13.5 小结 194\r\n第14章 自定义JSP标签 195\r\n14.1 自定义JSP标签简介 195\r\n14.2 创建标签处理类 196\r\n14.3 创建标签库描述文件 201\r\n14.4 在Web应用中使用标签 203\r\n14.5 发布支持中、英文版本的helloapp应用 206\r\n14.6 小结 208\r\n第15章 采用模板设计网上书店应用 209\r\n15.1 如何设计网站的模板 209\r\n15.2 创建负责流程控制的Servlet 210\r\n15.3 创建模板标签和模板JSP文件 212\r\n15.4 修改JSP文件 226\r\n15.5 发布采用模板设计的bookstore应用 227\r\n15.6 小结 231\r\n第16章 Struts和MVC设计模式 233\r\n16.1 MVC设计模式简介 233\r\n16.2 Struts实现的MVC设计模式 234\r\n16.3 创建采用Struts的Web应用 238\r\n16.4 运行helloapp-struts应用 246\r\n16.5 小结 251\r\n第17章 使用Log4J进行日志操作 253\r\n17.1 Log4J简介 253\r\n17.2 Log4J的基本使用方法 257\r\n17.3 在helloapp应用中使用Log4J 262\r\n17.4 小结 265\r\n第18章 Tomcat与Jboss集成 267\r\n18.1 安装Jboss和Tomcat整合服务器 267\r\n18.2 J2EE体系结构简介 268\r\n18.3 创建EJB组件 270\r\n18.4 在Web应用中访问EJB组件 275\r\n18.5 发布J2EE应用 277\r\n18.6 小结 283\r\n第19章 开发Java Mail Web应用 285\r\n19.1 E-mail协议简介 285\r\n19.2 Java Mail API简介 287\r\n19.3 Java Mail应用程序开发环境 288\r\n19.4 创建Java Mail应用程序 291\r\n19.5 Java Mail Web应用简介 294\r\n19.6 Java Mail Web应用的程序结构 295\r\n19.7 在Tomcat中配置Mail Session 318\r\n19.8 发布和运行javamail应用 321\r\n19.9 小结 322\r\n第20章 Tomcat与Apache SOAP集成 323\r\n20.1 SOAP简介 323\r\n20.2 建立Apache SOAP环境 325\r\n20.3 在Tomcat上发布Apache-SOAP Web应用 326\r\n20.4 创建SOAP服务 327\r\n20.5 管理SOAP服务 329\r\n20.6 创建和运行SOAP客户程序 332\r\n20.7 小结 335\r\n第21章 Tomcat与Apache AXIS集成 337\r\n21.1 建立Apache AXIS环境 337\r\n21.2 在Tomcat上发布Apache-AXIS Web应用 337\r\n21.3 创建SOAP服务 338\r\n21.4 管理SOAP服务 340\r\n21.5 创建和运行SOAP客户程序 341\r\n21.6 发布JWS服务 344\r\n21.7 小结 345\r\n第22章 Tomcat与其他HTTP 服务器集成 347\r\n22.1 Tomcat与HTTP服务器集成的原理 347\r\n22.2 在Windows下Tomcat与Apache服务器集成 349\r\n22.3 在Linux下Tomcat与Apache服务器集成 353\r\n22.4 Tomcat与IIS服务器集成 355\r\n22.5 小结 362\r\n第23章 创建嵌入式Tomcat服务器 363\r\n23.1 将Tomcat嵌入Java应用 363\r\n23.2 创建嵌入了Tomcat的Java示范程序 365\r\n23.3 运行嵌入式Tomcat服务器 370\r\n23.4 小结 372\r\n第24章 在Tomcat中配置SSL 373\r\n24.1 SSL简介 373\r\n24.2 在Tomcat中使用SSL 376\r\n24.3 小结 380\r\n第25章 JSP 2.0的新特征 381\r\n25.1 JSP表达式语言 381\r\n25.2 简单标签扩展 389\r\n25.3 小结 393\r\n第26章 Velocity模板语言 395\r\n26.1 安装Velocity 395\r\n26.2 Velocity的简单例子 395\r\n26.3 注释 399\r\n26.4 引用 400\r\n26.5 指令 405\r\n26.6 其他特征 414\r\n26.7 小结 415\r\n附录A server.xml文件 417\r\nA.1 配置Server元素 420\r\nA.2 配置Service元素 420\r\nA.3 配置Engine元素 420\r\nA.4 配置Host元素 421\r\nA.5 配置Context元素 422\r\nA.6 配置Connector元素 422\r\n附录B web.xml文件 425\r\nB.1 配置Servlet过滤器 427\r\nB.2 配置Servlet 428\r\nB.3 配置Servlet映射 429\r\nB.4 配置Session 429\r\nB.5 配置Welcome文件清单 430\r\nB.6 配置Tag Library 430\r\nB.7 配置资源引用 430\r\nB.8 配置安全约束 431\r\nB.9 配置安全验证登录界面 432\r\nB.10 配置对安全验证角色的引用 432\r\n附录C XML简介 433\r\nC.1 SGML、HTML 与XML的比较 433\r\nC.2 DTD文档类型定义 434\r\nC.3 有效XML文档以及简化格式的XML文档 435\r\nC.4 XML中的常用术语 436
孙卫琴(LindaSun),1997年毕业于上海交通大学,随后一直从事基于Java的软件开发工作,还从事过J2EE培训和咨询。目前在美国肯特大学作为访问学者,研究课题包括基于Java和XML的电子商务系统、J2EE软件架构、Web服务和网络安全等。
Jakarta Tomcat服务器是在SUN公司的JSWDK(JavaServer Web DevelopmentKit,SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Java Web应用容器,它是Apache-Jakarta的一个子项目。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的Java产品(Most Innovative Java Product),同时它又是SUN公司官方推荐的Servlet/JSP容器(参见http://java.sun.com/products/jsp/tomcat/),因此它受到越来越多软件公司和开发人员的喜爱。Servlet和JSP的最新规范都在Tomcat的新版本中得到了实现。
作为一个开放源码的软件,Tomcat得到了开放源码志愿者的广泛支持,它可以和目前大部分的主流HTTP服务器(如IIS和Apache服务器)一起工作,而且运行稳定、可靠、效率高。
作者根据多年的Java Web开发经验,详细阐明了在最新的Tomcat 5.x版本上开发Java Web应用涉及的各种技术,并且介绍了如何将Tomcat和其他主流HTTP服务器集成并创建具有实用价值的企业Java Web应用的方案。
本书的组织结构和主要内容
本书的内容总体上分为两部分,一部分介绍如何配置Tomcat服务器,从而为Java Web应用创建高效的开发和运行环境,还有一部分依据SUN的Java Servlet规范,介绍了开发Java Web的各种技术。在组织结构上,这两部分内容穿插在一起,贯穿全书。本书按照由浅到深、前后呼应的顺序来安排内容。本书涉及以下内容。
1、Tomcat的基础知识
包括如下内容:
(1)Tomcat服务器结构和安装步骤
(2)Java Web应用的结构和发布
(3)配置虚拟主机
2、Java Servlet、JavaServer Page以及Java Web应用的基础知识包括如下内容:
(1)Servlet的原理
(2)创建Servlet的基本步骤
(3)JSP语法
(4)在Java Web应用中访问数据库,配置数据源
(5)在Java Web应用中访问Java Bean,Java Bean在不同范围内的生命周期
(6)在Java Web应用中使用Session
(7)使用ant工具来管理Web应用
3、Java Web开发高级技术
包括如下内容:
(1)Servlet过滤器
(2)创建自定义JSP标签
(3)网站的模板设计
(4)开发Java Mail Web应用,配置Mail Session
4、Tomcat与当前其他通用软件的集成
包括如下内容:
(1)Struts和MVC设计模式
(2)使用Log4J进行日志操作
(3)Tomcat与Jboss服务器集成,创建J2EE应用
(4)Tomcat与Apache SOAP集成
(5)Tomcat与Apache AXIS集成
(6)Tomcat与其他HTTP服务器(如Apache Web服务器和IIS Web服务器)集成
(7)Velocity模板语言
5、Tomcat的高级功能
包括如下内容:
(1)持久性会话管理
(2)Tomcat的控制和管理平台
(3)安全域
(4)Tomcat阀
(5)创建嵌入式Tomcat
(6)在Tomcat中配置SSL
本书的范例程序
本书将3个Web应用的例子贯穿全书:
·helloapp应用
·bookstore(网上书店)应用
·Java Mail Web(javamail)应用
1、helloapp应用
本书通过helloapp应用的例子来讲解Java Web开发的基础知识,比如,在第2章以helloapp应用为例,讲述了发布Web应用的步骤。在其他章节中,所有针对单个知识点的Servlet和JSP例子,都被发布到helloapp应用中。
2、bookstore应用
bookstore应用是一个充分运用了所有Java Web开发技术的综合例子,它实现了一个网上书店,更加贴近于实际应用。为了便于读者循序渐进地掌握Java Web技术,在书中提供了bookstore应用的4个版本,它们分别侧重于某些技术。
(1)bookstore version0:通过这个例子读者可以进一步掌握JSP编程的技巧,能够灵活运用Java Bean和Session,并掌握通过JDBC访问数据库的技术。
(2)bookstore version1:该例介绍如何在Tomcat中配置JNDI DataSource,以及如何在Web应用中访问JNDI DataSource。
(3)bookstore version2:使读者掌握创建JSP自定义标签的高级技术,并掌握对网页进行模板设计的方法。
(4)bookstore version3:实现了基于J2EE架构的bookstore应用,并介绍了在Jboss-Tomcat的集成服务器上发布J2EE应用的方法。
3、javamail应用
Java Mail Web应用是一个基于Web的邮件客户程序,它向Web客户提供了访问Mail服务器上的邮件账号。进行收发信件和管理邮件夹等功能。通过这个例子,读者可以了解电子邮件的发送和接收协议,掌握Java Mail API的使用方法,以及通过Java Mail API创建Java Mail Web应用的过程。通过这个例子,读者还可以掌握在Tomcat中配置Mail Session的步骤,以及在Web应用中访问Mail Session的方法。
这本书是否适合你
本书面向所有打算或已经开发Java Web应用的读者。尽管本书在讲解Java Web技术时以Tomcat作为开发和运行平台,但由于Java Web技术是SUN公司在Java Servlet规范中提出的通用技术,因此本书讲解的应用例程可以运行在任何一个实现SUN的Servlet规范的Java Web服务器上。另一方面,由于Tomcat是SUN公司官方推荐的Servlet/JSP容器,因此在学习Java Web开发技术或进行实际的开发工作时,Tomcat是首选的Java Web应用容器。
如果你是开发Java Web应用的新手,建议按照本书的先后顺序来学习。如果你已经在Tomcat上开发Java Web应用方面有丰富经验,则可以把本书作为实用的Tomcat技术参考资料。本书详细介绍了如何把Tomcat与当前其他通用的Web技术集成,以及Tomcat 的各种高级功能。灵活运用本书介绍的Tomcat最新技术,将使Java Web应用开发更加得心应手。
实践是掌握Java Web技术最迅速、有效的办法。本书提供了大量典型的例子,在本书配套光盘上提供了完整的源代码,以及软件安装程序。本书所有程序都在Tomcat 5.0.12版本中测试通过,读者可以按照书上介绍的详细步骤亲自动手,在本地机器上配置Tomcat开发和运行环境,然后创建和发布Java Web应用。