本书由浅入深,全面而深入地介绍了Servlet和JSP 技术。本书重点介绍核心技术,同时对相关的内容,如Web服务器的配置、安装和应用,数据库的安装和配置等都做了详细明了的介绍。本书的例子简练但真实,将复杂的任务拆分成多个步骤逐一介绍,大大减轻了读者阅读的负担。另外,和其他同类书籍不同的是,本书引导读者概据实际需要取长补短,同时,还基于实际的应用给出大量的指示。\r\n 本书叙述详尽,条理清晰。对于初学者来说是一本不可多得的入门书籍,经验丰富的Servelet和JSP开发人员也可以通过阅读本书得到巩固和提高。
第1章 Servlet和JSP技术概述\r\n 1.1 Servlet的功用\r\n 1.2 要动态构建网页的原因\r\n 1.3 Servlet代码初探\r\n 1.4 Servlet相对于“传统”CGI的优点\r\n 1.5 JSP的作用\r\n第Ⅰ部分 Servlet技术\r\n第2章 服务器的安装和配置\r\n 2.1 下载和安装Java软件开发工具包\r\n 2.2 为桌面计算机下载服务器\r\n 2.3 服务器的配置\r\n 2.4 配置Apache Tomcat\r\n 2.5 配置Macromedia JRun\r\n 2.6 配置Caucho Resin\r\n 2.7 建立开发环境\r\n 2.8 测试系统的设置\r\n 2.9 实现简化的部署方法\r\n 2.10 默认Web应用的部署目录:汇总\r\n 2.11 Web应用:预览 \r\n第3章 Servlet基础\r\n 3.1 Servlet的基本结构\r\n 3.2 生成纯文本的Servlet\r\n 3.3 生成HTML的Servlet\r\n 3.4 Servlet的打包\r\n 3.5 简单的HTML构建工具\r\n 3.6 Servlet的生命周期\r\n 3.7 SingleThreadModel接口\r\n 3.8 Servlet的调试 \r\n第4章 客户请求的处理:表单数据\r\n 4.1 表单数据的作用\r\n 4.2 在Servlet中读取表单数据\r\n 4.3 示例;读取3个参数\r\n 4.4 示例:读取所有参数\r\n 4.5 参数缺失或异常的默认值的应用\r\n 4.6 过滤字符串中的THML特殊字符\r\n 4.7 根据请求参数自动填充Java对象:表单bean\r\n 4.8 当参数缺失或异常时重新显示输入表单 \r\n第5章 客户请求的处理:HTTP请求报头\r\n 5.1 请求报头的读取\r\n 5.2 制作所有请求报头的表格\r\n 5.3 了解HTTP 1.1请求报头\r\n 5.4 发送压缩Web页面\r\n 5.5 区分不同的浏览器类型\r\n 5.6 依据客户的到达方式定制页面\r\n 5.7 标准CGI变量的访问 \r\n第6章 服务器响应的生成:HTTP状态代码\r\n 6.1 状态代码的指定\r\n 6.2 HTTP 1.1状态代码\r\n 6.3 将用户重定向到浏览器相关页面的Servlet\r\n 6.4 各种搜索引擎的一个前端 \r\n第7章 服务器响应的生成;HTTP响应报头\r\n 7.1 在Servlet中设置响应报头\r\n 7.2 理解HTTP 1.1响应报头\r\n 7.3 构建Excel电子表格\r\n 7.4 Servlet状态的持续以及页面的自动重载\r\n 7.5 使用Servlet生成JPEG图像 \r\n第8章 cookie管理\r\n 8.1 cookie的优点\r\n 8.2 cookie存在的一些问题\r\n 8.3 cookie的删除\r\n 8.4 cookie的发送和接收\r\n 8.5 使用cookie检测初访者\r\n 8.6 使用cookie属性\r\n 8.7 区分会话cookie与持续性cookie\r\n 8.8 基本的cookie实用程序\r\n 8.9 实际使用cookie实用程序\r\n 8.10 修改cookie的值:记录用户的访问计数\r\n 8.11 使用cookie记录用户的偏好 \r\n第9章 会话跟踪\r\n 9.1 会话跟踪的需求\r\n 9.2 会话跟踪基础\r\n 9.3 会话跟踪API\r\n 9.4 浏览器会话与服务器会话\r\n 9.5 对发往客户的URL进行编码\r\n 9.6 显示客户访问计数的Servlet\r\n 9.7 累计用户数据的列表\r\n 9.8 拥有购物车和会话跟踪功能的在线商店 \r\n第Ⅱ部分 JSP技术\r\n第10章 JSP技术概述\r\n 10.1 对JSP的需求\r\n 10.2 JSP的好处\r\n 10.3 JSP相对于竞争技术的优势\r\n 10.4 对JSP的误解\r\n 10.5 JSP页面的安装\r\n 10.6 基本语法 \r\n第11章 用JSP脚本元素调用Java代码\r\n 11.1 模板文本的创建\r\n 11.2 在JSP中调用Java代码\r\n 11.3 限制JSP页面中的Java代码的量\r\n 11.4 JSP表达式的应用\r\n 11.5 示例:JSP表达式\r\n 11.6 Servlet和JSP页面的对比\r\n 11.7 编写scriptlet\r\n 11.8 scriptlet示例\r\n 11.9 使用scriptlet将JSP页面的某些部分条件化\r\n 11.10 使用声明\r\n 11.11 声明的例子\r\n 11.12 使用预定义变量\r\n 11.13 JSP表达式、scriptlet和声明的比较\r\n第12章 控制所生成的Servlet的结构:JSP page指令\r\n 12.1 import属性\r\n 12.2 contentType和pageEncoding属性\r\n 12.3 条件性地生成Excel电子表格\r\n 12.4 session属性\r\n 12.5 isELIgnored属性\r\n 12.6 buffer和autoFlush属性\r\n 12.7 info属性\r\n 12.8 errorPage和isErrorPage属性\r\n 12.9 isThreadSafe属性\r\n 12.10 extends属性\r\n 12.11 language属性\r\n 12.12 指令的XML语法 \r\n第13章 在JSP页面中包含文件和applet\r\n 13.1 在请求期间包含页面:jsp:include动作\r\n 13.2 在页面转换期间包含文件:include指令\r\n 13.3 使用jsp:forward转发请求\r\n 13.4 包含使用Java插件的applet \r\n第14章 JavaBean组件在JSP文档中的应用\r\n 14.1 使用bean的原因\r\n 14.2 bean是什么 \r\n 14.3 bean的应用:基本任务\r\n 14.4 示例:StringBean\r\n 14.5 设置bean的属性:高级技术\r\n 14.6 共享bean\r\n 14.7 共享bean的4种方式:示例 \r\n第15章 Servlet和JSP的集成:模型-视图-控制器构架\r\n 15.1 MVC的需求\r\n 15.2 用RequesDispatcher实现MVC\r\n 15.3 MVC代码汇总\r\n 15.4 目的页面中相对URL的解释\r\n 15.5 MVC的应用:银行账户余额\r\n 15.6 3种数据共享方式的对比\r\n 15.7 从JSP页面转发请求\r\n 15.8 包含页面 \r\n第16章 简化对Java代码的访问:JSP 2.0表达式语言\r\n 16.1 应用EL的驱动力\r\n 16.2 表达式语言的调用\r\n 16.3 阻止表达式语言的求值\r\n 16.4 阻止标准脚本元素的使用\r\n 16.5 访问作用域变量\r\n 16.6 访问bean的属性\r\n 16.7 访问集合\r\n 16.8 引用隐式对象\r\n 16.9 表达式语言中运算符的应用\r\n 16.10 表达式的条件求值\r\n 16.11 表达式语言其他功能概览 \r\n第Ⅲ部分 支持技术\r\n第17章 数据库访问:JDBC\r\n 17.1 JDBC应用概述\r\n 17.2 基本JDBC示例\r\n 17.3 用JDBC实用工具简化数据库访问\r\n 17.4 使用预备语句\r\n 17.5 创建可调用语句\r\n 17.6 使用数据库事务\r\n 17.7 使用ORM框架将数据映射到对象 \r\n第18章 配置MS Access,MySQL的Oracle9i\r\n 18.1 配置Microsoft Access与JDBC的使用\r\n 18.2 MySQL的安装和配置\r\n 18.3 Oracle9i数据库的安装和配置\r\n 18.4 通过JDBC连接来测试数据库\r\n 18.5 建立music表\r\n第19章 HTML表单的创建和处理\r\n 19.1 HTML表单如何传输数据\r\n 19.2 FORM元素\r\n 19.3 文本控件\r\n 19.4 按钮\r\n 19.5 复选框和单选按钮\r\n 19.6 组合框和列表框\r\n 19.7 文件上载控件\r\n 19.8 服务器端图像映射\r\n 19.9 隐藏域\r\n 19.10 控件组\r\n 19.11 制表次序\r\n 19.12 用于调试的Web服务器 \r\n附录 服务器的组织与结构
以前在写译者序时,我总是会写很多,包括我的感想、阅读本书的体会与经验,以及本书的优点和特点,等等。但这一次不同了,首先,它的前身已经得到读者的广泛认同,作为计算机书籍,销量达到10万册绝对可以算是十分畅销了。故而,不用担心由于读者对它不了解而错过这本优秀的图书。如果再花时间去介绍它的优点与特点,那就有画蛇添足之嫌,而且,由于读者甚众,长篇大论的译者序会浪费读者的时间,积少成多,聚沙成塔,累积起来这个时间可能会比较可观。俗话说“一寸光阴一寸金”(可惜呀!有价无市),浪费读者的时间可谓是罪莫大焉。
再回到翻译上来,制作中译本就是为了节省读者学习的时间,降低读者学习的难度,减轻读者的负担(包括经济上),而通畅、准确的译文更是能让学习达到事半功倍的效果。但这个良好氛围的建立是需要多方共同努力的。作为出版社,应该及时、有选择、高效率、高质量地引进读者最需要的图书,清华大学出版社在这一方面的成就有目共睹。作为译者,应该准确、负责、高效地完成书籍的翻译工作,虽然不一定要殚精竭虑,但尽心尽力,以为读者负责的心态努力做到自己的最好却是份内的事。而作为读者,并不是被动地选择和接受,事实上,只有读者才是推动图书出版工作的主要和惟一的动力。读者的反馈对于确定图书的种类、提高图书的质量有着极为重要的作用,公正而客观的评价对于提高图书的质量是必不可少的。所以希望读者能够到本书的信息网站上(见封底)多发表自己的观点和意见,读者、译者和编审人员的良好互动才能创建良好的出版环境。
参与本书翻译的还有王永、张阳,他们分别在计算机应用和开发领域拥有丰富的经验。他们的参与对本书大有裨益。
感谢我妈妈,她对我无微不至的照顾使我能够将更多的时间投入到本书的修饰和润色中。当然还要感谢清华大学出版社为我们及时、高效、准确地做好图书的引进和出版工作。本书的编辑汤涌涛女士为本书投入了大量的时间,她丰富的经验及敬业的精神对本书的完善起了至关重要的作用。