具体描述
本书将用于帮助指导Java web开发人员的日常任务,提供典型的web相关问题的快速解决方案。本书集中介绍了如何用Java初始化某些与web相关的任务,而不是教会读者如何使用Java语言,或者事无巨细地解释servlet和JSP API。书中包含了大量关于复杂的日常开发任务的技巧,这些技巧涵盖了许多与Servlet 2.4和JSP 2.0规范相关联的新特性,包括ServletRequestListener、新的JSTL 1.1函数、使用模板文本中的JSTL元素、标记文件和基于XML Schema的部署描述文件。
作者简介
Bruce W. Perry是一位独立的Java软件开发人员及作家。自1996年以来,他为各种非赢利机构、设计和营销公司及广告代理商开发Web应用程序和数据库。在不从事编程和写作的时候,他喜爱骑自行车,在美国和瑞士登山。2004年春天,Perry结束了在Brandeis大学的软件工程硕士课程。他同他的妻子Stacy LeBaron、女儿Rachel和儿子Scott一起居住在美国马萨诸塞州的Newburyport。
目录信息
第1章 编写servlet和JSP 6 ~19
1.0 引言
1.1 编写Servlet
1.2 编写JSP
1.3 编译Servlet
1.4 将Servlet和JSP打包
1.5 创建部署描述文件
第2章 部署servlet和JSP 20 ~41
2.0 引言
2.1 在Tomcat中部署独立的Servlet
2.2 在Tomcat的server.xml中使用Context元素
2.3 在WebLogic中部署独立的Servlet
2.4 在Tomcat中部署独立的JSP
2.5 在WebLogic中部署独立的JSP
2.6 在Tomcat中部署Web应用程序
2.7 在WebLogic中使用Ant部署Web应用程序
2.8 使用WebLogic管理控制台
2.9 使用WebLogic Builder部署Web应用程序
2.10 使用weblogic.Deployer命令行工具
第3章 为Servlet命名 42 ~63
3.0 引言
3.1 在web.xml中将Servlet映射为名
3.2 为一个Servlet创建多个映射
3.3 为Servlet创建JSP风格的URL
3.4 将静态内容映射到Servlet
3.5 不使用web.xml映射而调用Servlet
3.6 将所有Web应用程序的请求映射到一个Servlet
3.7 将请求映射到控制器并保留Servlet映射
3.8 为Web应用程序创建欢迎文件
3.9 限制对某些Servlet的请求
3.10 仅赋予控制器对某些Servlet的访问权限
第4章 使用Apache Ant 65 ~85
4.0 引言
4.1 获取和安装Ant
4.2 使用Ant目标
4.3 在构建文件类路径中包括Tomcat JAR文件
4.4 用Ant构建文件编译Servlet
4.5 用Ant创建WAR文件
4.6 用Ant创建JAR文件
4.7 用Ant启动Tomcat应用程序
4.8 用Ant停止Tomcat应用程序
第5章 转换JSP格式 86 ~103
5.0 引言
5.1 在Tomcat中预编译JSP
5.2 在WebLogic中预编译JSP
5.3 使用预编译协议预编译JSP
5.4 将JSP映射为页面实现类
5.5 从头开始创建JSP文档格式的JSP
5.6 从JSP中生成XML视图
第6章 在Servlet和JSP中动态地导入内容 104 ~127
6.0 引言
6.1 在Servlet每次处理请求时导入资源
6.2 在Servlet中使用外部配置导入资源
6.3 在Servlet中导入嵌套多层的资源
6.4 在JSP中导入很少改变的资源
6.5 在JSP每次处理请求时导入内容
6.6 使用外部配置文件在JSP中导入资源
6.7 在JSP文档中导入XML代码段
6.8 在JSP导入上下文之外的内容
第7章 在Servlet和JSP中处理Web表单数据 128 ~151
7.0 引言
7.1 在Servlet中处理POST HTTP请求
7.2 在JSP中处理POST HTTP请求
7.3 在JSP中设置JavaBean的特性
7.4 在JSP中设置表单参数值的作用范围
7.5 从Servlet中发送数据
7.6 从JSP中发送数据
7.7 使用Servlet向查询字符串添加参数
7.8 使用JSP向查询字符串添加参数
7.9 使用过滤器读取参数值
第8章 上传文件 152 ~168
8.0 引言
8.1 准备文件上传的HTML页面
8.2 使用com.oreilly.servlet库
8.3 一次上传一个文件
8.4 上传多个文件
8.5 文件重命名
8.6 使用JSP处理文件上传
第9章 在Web应用程序中处理异常 169 ~182
9.0 引言
9.1 在web.xml中声明异常处理器
9.2 创建处理异常的Servlet
9.3 从Servlet中发出错误
9.4 从JSP中发出错误
9.5 创建处理错误的JSP
9.6 声明为其他JSP处理异常的特殊JSP
第10章 读取和设置Cookie 183 ~198
10.0 引言
10.1 使用Servlet设置Cookie
10.2 创建请求中所有Cookie的数组
10.3 使用JSP设置Cookie
10.4 使用Servlet读取Cookie的值
10.5 使用JSP读取Cookie的值
10.6 修改或移除已经设置的Cookie
第11章 跟踪会话 198 ~229
11.0 引言
11.1 在web.xml中设置会话超时时间
11.2 在所有Tomcat Web应用程序中设置会话超时时间
11.3 以编程方式设置会话超时时间
11.4 检查会话是否存在于HttpServletRequest
11.5 在Servlet中跟踪会话的活动
11.6 在JSP中跟踪会话的活动
11.7 在JSP中使用URL重写
11.8 在Servlet中使用URL重写
11.9 使用监听器跟踪会话的生命周期
11.10 使用监听器监视会话属性
11.11 使用过滤器监视会话属性
第12章 在Servlet和JSP中集成JavaScript 230 ~243
12.0 引言
12.1 在Servlet中包括JavaScript模块
12.2 在JSP中包括JavaScript模块
12.3 在Sevlet中使用JavaScript创建新窗口
12.4 在JSP中使用JavaScript创建新窗口
12.5 在Servlet中使用JavaScript验证表单值
12.6 在JSP中使用JavaScript验证表单值
第13章 发送非HTML内容 244 ~260
13.0 引言
13.1 发送PDF文件
13.2 发送字处理文件
13.3 发送XML文件
13.4 发送音频文件
13.5 在Servlet中查看内部资源
第14章 记录Servlet和JSP中的消息日志 261 ~285
14.0 引言
14.1 不通过Log4j记录日志
14.2 设置Log4j
14.3 不通过配置文件使用日志记录器
14.4 向Root日志记录器添加日志存储器
14.5 在日志记录器的存储器中使用模式
14.6 在JSP中使用log4j
14.7 使用Servlet上下文事件监听器记录消息日志
14.8 使用会话事件监听器记录消息日志
第15章 客户端认证 286 ~312
15.0 引言
15.1 用Tomcat创建用户和口令
15.2 在Tomcat中建立SSL
15.3 使用BASIC认证
15.4 使用基于表单的认证
15.5 注销用户
15.6 使用JAAS创建LoginModule
15.7 创建JAAS配置文件
15.8 在Servlet中使用JAAS
15.9 在JSP中使用JAAS
第16章 在Web应用程序中绑定、访问和移除属性 313 ~334
16.0 引言
16.1 在Servlet中设置ServletContext属性
16.2 在JSP中设置ServletContext属性
16.3 在Servlet中访问或移除ServletContext属性
16.4 在JSP中访问或移除ServletContext属性
16.5 在Servlet中设置会话属性
16.6 在JSP中设置会话属性
16.7 在Servlet中访问或移除会话属性
16.8 在JSP中访问或移除会话属性
16.9 在Servlet中设置请求属性
16.10 在JSP中设置请求属性
16.11 在Servlet中访问或移除请求属性
16.12 在JSP中访问或移除请求属性
第17章 在JSP中嵌入多媒体 335 ~350
17.0 引言
17.1 使用jsp:plugin在JSP中嵌入Applet
17.2 使用HTML Converter在JSP中嵌入Applet
17.3 自动创建包括Flash文件的HTML模板
17.4 编写嵌入Flash文件的HTML模板
17.5 在Servlet中嵌入Flash
17.6 在JSP中嵌入QuickTime影片
17.7 在JSP中嵌入SVG文件
17.8 在JSP中嵌入背景音乐
第18章 处理客户请求 351 ~362
18.0 引言
18.1 检查servlet中的HTTP请求首部
18.2 检查JSP中的HTTP请求首部
18.3 使用过滤器修改请求首部
18.4 自动刷新Servlet
18.5 自动刷新JSP
18.6 Web应用程序请求的计数
第19章 过滤请求和响应 363 ~388
19.0 引言
19.1 将过滤器映射到Servlet
19.2 将过滤器映射到JSP
19.3 将多个过滤器映射到一个Servlet
19.4 改变应用于Servlet的过滤器的顺序
19.5 为过滤器配置初始参数
19.6 可选择地使用过滤器阻塞请求
19.7 过滤HTTP响应
19.8 使用过滤器操作RequestDispatcher对象
19.9 使用过滤器检查表单参数
19.10 使用过滤器阻塞IP地址
第20章 在Servlet和JSP中操纵电子邮件 389 ~420
20.0 引言
20.1 将电子邮件有关的类放置于类路径中
20.2 在servlet中发送电子邮件
20.3 使用JavaBean在Servlet中发送电子邮件
20.4 在Servlet中访问电子邮件
20.5 使用JavaBean在Servlet中访问电子邮件
20.6 在Servlet中处理所接收电子邮件的附件
20.7 在Servlet中向电子邮件添加附件
20.8 在Servlet中读取所接收电子邮件的首部
第21章 访问数据库 421 ~465
21.0 引言
21.1 不用DataSource在servlet中访问数据库
21.2 在Tomcat中配置DataSource
21.3 在Tomcat的Servlet中使用DataSource
21.4 在WebLogic中创建DataSource
21.5 在WebLogic使用 JNDI查找来获取DataSource
21.6 在WebLogic的JSP中使用DataSource
21.7 在Servlet中调用存储过程
21.8 在JSP中调用存储过程
21.9 将ResultSet to转换为Result对象
21.10 在一个事务中执行多个SQL语句
21.11 在JSP中使用事务
21.12 查询ResultSet的有关信息
第22章 使用定制标记库 466 ~493
22.0 引言
22.1 创建典型标记处理器
22.2 为典型标记处理器创建JSP 1.2 TLD
22.3 为典型标记处理器创建JSP 2.0 TLD
22.4 在Web应用程序中打包标记库
22.5 将标记库打包在JAR文件中
22.6 在JSP中使用定制标记
22.7 在定制标记类中处理异常
22.8 创建简单标记处理器
22.9 为简单标记处理器创建TLD
22.10 在JSP中使用简单标记处理器
22.11 创建JSP标记文件
22.12 在Web应用程序中打包JSP标记文件
22.13 将JSP标记文件打包在JAR中
22.14 使用与标记文件关联的定制标记
22.15 向标记库添加监听器类
第23章 使用JSTL 494 ~527
23.0 引言
23.1 下载JSTL 1.0并在JSP中使用JSTL标记
23.2 下载Java Web服务开发者包
23.3 使用核心JSTL标记
23.4 使用XML核心JSTL标记
23.5 使用XML转换标记
23.6 使用格式化JSTL标记
23.7 通过DataSource配置使用SQL JSTL标记
23.8 不通过DataSource配置使用SQL JSTL标记
23.9 用EL访问作用范围内的变量
23.10 用EL访问请求参数
23.11 使用EL访问请求首部
23.12 使用EL访问一个请求首部
23.13 使用EL访问Cookie
23.14 使用EL访问JavaBean特性
23.15 使用JSTL函数
第24章 国际化 528 ~549
24.0 引言
24.1 在Servlet中检测客户区域
24.2 在JSP中检测客户区域
24.3 以特性文件方式创建一个ResourceBundle
24.4 以Java类方式创建ResourceBundle
24.5 在Servlet中使用ResourceBundle
24.6 在JSP中使用ResourceBundle
24.7 在Servlet中格式化日期
24.8 在JSP中格式化日期
24.9 在Servlet中格式化货币
24.10 在JSP中格式化货币
24.11 在Servlet中格式化百分数
24.12 在JSP中格式化百分数
24.13 在部署描述文件中设置区域化上下文
第25章 使用JNDI和企业级JavaBean 550 ~579
25.0 引言
25.1 在Tomcat中配置JNDI对象
25.2 在Servlet中访问Tomcat JNDI资源
25.3 在JSP中访问Tomcat JNDI资源
25.4 在WebLogic中配置JNDI资源
25.5 在WebLogic中查看JNDI树
25.6 在Servlet中访问WebLogic JNDI资源
25.7 在JSP中访问WebLogic JNDI资源
25.8 使用WebLogic JNDI树访问EJB
第26章 收集Web信息 580 ~595
26.0 引言
26.1 使用javax.swing.text子包解析HTML页面
26.2 使用Servlet收集Web数据
26.3 创建作为Web页面解析器的JavaBean
26.4 在Servlet中使用Web页面解析JavaBean
26.5 在JSP中使用Web页面解析JavaBean
第27章 使用Google和Amazon Web API 596 ~619
27.0 引言
27.1 准备使用Google的Web API
27.2 创建连接Google的JavaBean
27.3 使用Servlet连接Google
27.4 使用JSP连接Google
27.5 准备使用Amazon的Web服务API
27.6 创建连接Amazon的JavaBean
27.7 使用Servlet连接Amazon
27.8 使用JSP连接Amazon
索引
· · · · · · (收起)
读后感
用户评价
这本书就像一位经验丰富的老工匠,带着你一步步打磨出精致的作品。我之前学习 Servlet 和 JSP 的时候,常常觉得“知其然,不知其所以然”,代码写出来也能运行,但总觉得不够优化,不够优雅。《Java Servlet&JSP经典实例》真正做到了“举一反三”。书中提供的每一个实例,不仅仅是一个独立的 demo,更是对背后技术原理的深入剖析。我最喜欢的地方在于,它不是简单地告诉你“怎么做”,而是告诉你“为什么这么做”,并且会提供多种实现方式,让你理解其中的权衡和选择。例如,在处理用户输入时,书中会详细讲解如何进行输入校验,以及不同的校验方式的优缺点;在涉及数据库操作时,会演示如何使用 JDBC 连接池来提高效率,并讲解其中的线程安全问题。这些细节的讲解,让我感觉自己不仅仅是在学习代码,更是在学习一种解决问题的思路和方法。这本书让我从一个“代码搬运工”变成了一个“思考者”,为我后续更复杂的 Web 开发打下了坚实的基础。
这本书真是太棒了!我一直对 Java Web 开发感兴趣,也尝试过不少资料,但很多都停留在理论层面,或者例子过于简单,无法解决实际问题。直到我翻开了《Java Servlet&JSP经典实例》,才感觉自己真正走进了 Java Web 开发的大门。书中从最基础的 Servlet 生命周期和 JSP 的工作原理讲起,条理清晰,逻辑严谨。每一个章节都配有精心设计的经典实例,这些实例不仅仅是代码的堆砌,更重要的是,它会深入剖析每个实例背后的原理,解释为什么这样做,以及这样做的好处。我尤其喜欢书中对表单处理、Session 管理、Cookie 应用等核心概念的讲解,通过实际的例子,这些曾经让我头疼的概念变得豁然开朗。而且,书中的代码风格也十分规范,注释详细,这对于我这种初学者来说,简直是福音。我甚至可以一边阅读一边跟着敲代码,遇到问题时,也能通过书中的解释迅速找到解决办法。这本书让我对 Java Web 开发的信心倍增,迫不及待地想将书中学到的知识应用到我的项目中去!
对于我来说,这本书更像是开启了一扇通往 Java Web 世界的新视角。以前我接触的 Servlet 和 JSP,更多的是停留在“能用就行”的层面,代码写起来磕磕绊绊,遇到问题也是东拼西凑,效率不高。然而,《Java Servlet&JSP经典实例》让我看到了“如何做得更好”。书中的每一个实例,都像是一次精心设计的实战演练,它不会直接丢给你一个完成的代码,而是会逐步引导你构建,让你理解每一步的逻辑。我特别喜欢它对数据验证、异常处理、过滤器和监听器这些“幕后英雄”的讲解,这些细节往往是决定一个 Web 应用稳定性和健壮性的关键,但又容易被初学者忽略。通过书中丰富的实例,我学会了如何构建更安全、更高效、用户体验更好的 Web 应用程序。而且,这本书的案例覆盖面很广,从简单的用户交互到复杂的数据管理,都涵盖在内,完全可以作为我日常开发工作的参考手册。我现在写 Servlet 和 JSP 的代码,感觉更有章法,也更有信心了。
说实话,刚开始拿到这本书的时候,我抱着试一试的心态,因为市面上关于 Servlet 和 JSP 的书籍实在是太多了,很多都让人感觉雷同,甚至有些内容已经过时。但《Java Servlet&JSP经典实例》的出现,彻底颠覆了我之前的看法。它不像很多书那样,只是简单罗列 API 概念,而是着重于“实例”,通过一个个真实、可用的例子来引导读者理解技术。我最看重的是它对“经典”二字的诠释,书中选取的例子都是 Web 开发中最常见、也是最核心的场景,比如用户登录注册、文件上传下载、Ajax 异步请求、数据库集成等等。这些例子都经过精心设计,能够有效地覆盖到 Servlet 和 JSP 的各种高级特性和应用技巧。更难能可贵的是,作者在讲解每个实例的时候,都会深入剖析其设计思路和实现细节,甚至会探讨一些性能优化和安全方面的考虑。这让我不仅仅是学会了如何写代码,更重要的是学会了如何写出高质量、可维护的 Java Web 应用。这本书对于希望在 Java Web 开发领域深入钻研的开发者来说,绝对是不可多得的宝藏。
我必须承认,《Java Servlet&JSP经典实例》的出版,在某种程度上弥补了我学习过程中的一个巨大空白。作为一名在 Java Web 开发领域摸爬滚打多年的开发者,我深知掌握 Servlet 和 JSP 的精髓对于构建强大的 Web 应用至关重要。然而,市面上很多教材往往过于理论化,或者提供的例子过于陈旧,无法跟上技术发展的步伐。这本书的出现,恰恰解决了这个问题。它提供的“经典实例”并非是简单的代码片段,而是经过提炼、总结、并且紧密结合实际开发需求的解决方案。我尤其欣赏书中对于如何优化性能、提升安全性的讲解,这对于我这种有一定经验的开发者来说,非常有价值。例如,书中对连接池的使用、对异步处理的实现、对跨站脚本攻击(XSS)和 SQL 注入的防范等方面的实例,都让我受益匪浅。这本书不单单是一本技术书籍,更像是一位经验丰富的导师,在你前进的道路上为你指明方向,让你少走弯路。
略读
希望再版
略读
略读
略读