《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet 3.0+JSP 2.2深入剖析与实例应用》 基本信息 作者: 孙鑫 [作译者介绍] 出版社:电子工业出版社 ISBN:9787121167683 上架时间:2012-6-12 出版日期:2012 年5月 开本:16开 页码:889 版次:1-1 所属分类: 计算机 > 软件与程序设计 > JAVA(J#) > 综合 计算机 > 计算机网络 > Web Server > 综合
更多关于 》》》《 》 内容简介 计算机书籍 《java web开发详解——xml+dtd+xml schema+xslt+servlet 3.0+jsp 2.2深入剖析与实例应用》共分4篇,从xml、xml schema、xslt、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。本书内容全面,涵盖了从事java web开发所应掌握的所有知识,同时还讲解了最新的servlet 3.0和jsp 2.2规范新增的特性。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。 《java web开发详解——xml+dtd+xml schema+xslt+servlet 3.0+jsp 2.2深入剖析与实例应用》语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当高的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。 此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上。 目录 《java web开发详解——xml+dtd+xml schema+xslt+servlet 3.0+jsp 2.2深入剖析与实例应用》 第i篇 xml篇 第1章 xml 2 1.1 xml的起源 2 1.2 w3c介绍 2 1.3 关于xml的两个问题 3 1.4 xml与html的比较 5 1.4.1 xml将数据与显示分开 5 1.4.2 xml对文档的格式要求更加严格 6 1.4.3 xml有且只能有一个根元素 6 1.5 xml的编辑工具 7 1.6 xml文档 10 1.6.1 xml文档的结构 10 1.6.2 在xmlspy中创建xml文档 12 1.6.3 xml声明 12 1.6.4 文档类型声明 13 1.6.5 元素 14 1.6.6 注释 17 1.6.7 处理指令 18 1.6.8 空白处理 19 .1.6.9 行尾处理 19 1.6.10 语言标识 19 1.7 格式良好的xml 20 1.8 小结 21 第2章 dtd 22 2.1 在xml文档中引入dtd 22 2.2 dtd的结构 24 2.2.1 元素类型声明 25 2.2.2 实体声明 28 2.2.3 属性表声明 31 2.2.4 记号声明 38 2.3 在xmlspy中创建dtd文档 38 2.4 有效的xml 39 2.5 xml处理器/解析器 39 2.6 小结 40 第3章 xml名称空间 41 3.1 声明名称空间 41 3.2 名称空间在元素和属性中的运用 42 3.2.1 名称空间在元素中的运用 42 3.2.2 默认名称空间 44 3.2.3 名称空间在属性中的运用 45 3.3 名称空间和dtd 46 3.4 小结 47 第4章 xml schema 49 4.1 xml schema推荐标准 49 4.2 xml schema文档一瞥 50 4.3 xml schema与dtd的比较 50 4.4 术语明晰 52 4.5 xml schema概述 53 4.5.1 元素和属性的声明 53 4.5.2 元素和属性的类型 53 4.5.3 简单类型 54 4.5.4 复杂类型 55 4.5.5 全局声明和局部声明 56 4.5.6 模式与名称空间 57 4.5.7 在实例中引用模式文档 62 4.5.8 注解 63 4.6 在xmlspy中创建模式文档 64 4.7 模式文档的验证 65 4.8 小结 66 第5章 使用dom、sax和jaxp解析xml文档 67 5.1 dom、sax和jaxp概述 67 5.2 使用dom解析xml文档 68 5.2.1 dom结构模型 69 5.2.2 dom树中的节点类型 71 5.2.3 dom解析器工厂和dom解析器 75 5.2.4 jaxp的错误类和异常类 77 5.2.5 使用dom解析xml文档的实例 78 5.3 使用sax解析xml文档 89 5.3.1 sax的处理机制 90 5.3.2 配置sax解析器 93 5.3.3 sax解析器工厂 94 5.3.4 sax的异常类 95 5.3.5 errorhandler接口 97 5.3.6 使用sax解析xml文档的实例 98 5.4 使用xml schema来验证xml文档 107 5.4.1 模式工厂和验证 107 5.4.2 与解析api的集成 112 5.4.3 获取类型信息 112 5.5 小结 115 第6章 使用jdom解析xml文档 116 6.1 下载并配置jdom 116 6.2 jdom api介绍 116 6.3 使用jdom访问xml文档的实例 120 6.4 小结 122 第7章 使用dom4j解析xml文档 123 7.1 下载并配置dom4j 123 7.2 dom4j api介绍 123 7.3 使用dom4j访问xml文档的实例 127 7.3.1 使用xml schema来验证xml文档 127 7.3.2 使用访问者模式遍历xml文档 128 7.3.3 使用dom4j的事件模型来访问xml文档 130 7.4 小结 133 第8章 解析名称空间 134 8.1 dom和名称空间 134 8.2 sax和名称空间 137 8.3 jdom和名称空间 140 8.4 dom4j和名称空间 143 8.5 小结 145 第9章 xslt 1.0 146 9.1 xslt概述 146 9.2 xalan处理器 150 9.3 模板规则 151 9.4 (xsl:apply-templates)元素 152 9.5 (xsl:value-of)元素 152 9.6 (xsl:for-each)元素 155 9.7 匹配节点的模式 156 9.8 mode属性 157 9.9 内置的模板规则 158 9.10 对空白的处理 160 9.11 xpath语言 160 9.11.1 xpath上下文 160 9.11.2 位置路径 161 9.11.3 表达式 165 9.11.4 核心函数库 167 9.12 创建结果树 170 9.12.1 创建元素和属性 170 9.12.2 创建文本 175 9.12.3 创建处理指令 176 9.12.4 创建注释 176 9.12.5 复制节点 177 9.12.6 输出格式化的数字 178 9.13 条件处理 187 9.13.1 (xsl:if) 187 9.13.2 (xsl:choose) 188 9.14 排序 189 9.15 变量和参数 192 9.15.1 变量 192 9.15.2 参数 195 9.16 命名模板 195 9.17 合并样式表 197 9.17.1 导入样式表 197 9.17.2 包含样式表 198 9.18 模板规则冲突的解决 198 9.19 (xsl:output)元素 200 9.19.1 指定输出文档的格式 200 9.19.2 输出xml声明 201 9.19.3 输出文档类型定义 201 9.19.4 输出cdata段 202 9.19.5 指定文档缩进 203 9.19.6 指定媒体类型 204 9.20 xslt中的函数 204 9.21 数字格式化 204 9.22 查询和分组 206 9.23 处理多个输入文档 214 9.24 jaxp中的xslt api 217 9.24.1 转换器工厂 217 9.24.2 transformer和templates 217 9.24.3 一个实例 219 9.25 在xmlspy中创建样式表文档 221 9.26 小结 222 第10章 xslt 2.0 223 10.1 saxon处理器 224 10.2 xpath 2.0 224 10.2.1 一切都是序列 224 10.2.2 for表达式 225 10.2.3 条件表达式 226 10.2.4 限定性表达式 228 10.2.5 类型 229 10.2.6 日期和时间 230 10.2.7 函数 231 10.3 xslt 2.0的新特性 234 10.3.1 分组 234 10.3.2 隐含文档节点(临时树) 239 10.3.3 使用(xsl:result-document)元素输出多个文件 240 10.3.4 (xsl:value-of)元素的改进 242 10.3.5 字符映射 243 10.3.6 自定义样式表函数 244 10.4 小结 245 第ii篇 servlet篇 第11章 servlet与tomcat 247 11.1 web技术的发展 247 11.2 servlet与servlet容器 248 11.3 servlet容器的分类 249 11.4 tomcat简介 250 11.5 tomcat的安装与配置 250 11.5.1 tomcat的目录结构 252 11.5.2 运行tomcat 253 11.5.3 tomcat启动分析 256 11.6 tomcat的体系结构 258 11.7 tomcat的管理程序 260 11.8 小结 262 第12章 servlet技术 263 12.1 servlet api 263 12.1.1 servlet接口 264 12.1.2 servletrequest和servletresponse 265 12.1.3 servletconfig 267 12.1.4 一个简单的servlet 268 12.1.5 genericservlet 275 12.1.6 httpservlet 275 12.1.7 httpservletrequest和httpservletresponse 277 12.2 几个实例 279 12.2.1 实例一:welcomeservlet 279 12.2.2 实例二:outputinfoservlet 285 12.2.3 实例三:loginservlet 289 12.3 servlet异常 292 12.3.1 servletexception类 292 12.3.2 unavailableexception类 293 12.4 servlet生命周期 293 12.5 servlet上下文 294 12.5.1 servletcontext接口 295 12.5.2 页面访问量统计实例 297 12.6 请求转发 299 12.6.1 requestdispatcher接口 300 12.6.2 得到requestdispatcher对象 300 12.6.3 请求转发的实例 301 12.6.4 sendredirect()和forward()方法的区别 305 12.7 小结 306 第13章 web应用程序的部署 307 13.1 配置任意目录下的web应用程序 307 13.2 war文件 310 13.3 与servlet配置相关的元素 311 13.3.1 (servlet)元素及其子元素 311 13.3.2 (servlet-mapping)元素及其子元素 313 13.4 一个实例 315 13.5 小结 319 第14章 数据库访问 320 14.1 jdbc驱动程序的类型 320 14.1.1 jdbc-odbc桥 321 14.1.2 部分本地api部分java驱动程序 321 14.1.3 jdbc网络纯java驱动程序 321 14.1.4 本地协议的纯java驱动程序 322 14.2 安装数据库 322 14.3 下载mysql jdbc驱动 325 14.4 jdbc api 326 14.4.1 加载并注册数据库驱动 326 14.4.2 建立到数据库的连接 329 14.4.3 访问数据库 330 14.4.4 事务处理 354 14.4.5 可滚动和可更新的结果集 361 14.5 jdbc数据源和连接池 364 14.6 mysql对中文的处理 369 14.7 小结 370 第15章 会话跟踪 371 15.1 用于会话跟踪的技术 371 15.1.1 ssl会话 372 15.1.2 cookies 372 15.1.3 url重写 373 15.2 java servlet api的会话跟踪 373 15.2.1 httpsession接口 374 15.2.2 session的生命周期 375 15.2.3 cookie的应用 387 15.2.4 session和cookie的深入研究 396 15.3 session的持久化 399 15.3.1 标准的session管理器实现 399 15.3.2 持久的session管理器实现 400 15.4 小结 403 第16章 servlet的异常处理机制 405 16.1 声明式异常处理 405 16.1.1 http错误代码的处理 406 16.1.2 java异常的处理 409 16.2 程序式异常处理 412 16.2.1 在try-catch语句中处理异常 412 16.2.2 使用requestdispatcher来处理异常 415 16.3 小结 417 第17章 开发线程安全的servlet 418 17.1 多线程的servlet模型 418 17.2 线程安全的servlet 418 17.2.1 变量的线程安全 419 17.2.2 属性的线程安全 427 17.3 singlethreadmodel接口 429 17.4 小结 430 第iii篇 jsp篇 第18章 jsp技术 432 18.1 jsp简介 432 18.2 jsp的运行机制 432 18.3 jsp的语法 437 18.3.1 指令元素(directive element) 437 18.3.2 脚本元素(scripting element) 441 18.3.3 动作元素(action element) 443 18.3.4 注释 450 18.4 jsp的隐含对象 451 18.4.1 pagecontext 451 18.4.2 out 452 18.4.3 page 453 18.4.4 exception 453 18.5 对象和范围 454 18.6 留言板程序 456 18.7 留言板管理程序 464 18.8 jsp文档 469 18.8.1 jsp文档的标识 470 18.8.2 jsp文档中的元素语法 470 18.9 小结 474 第19章 jsp与javabean 475 19.1 javabean简介 475 19.1.1 属性的命名 476 19.1.2 属性的类型 477 19.2 在jsp中使用javabean 478 19.2.1 (jsp:usebean) 478 19.2.2 (jsp:setproperty) 479 19.2.3 (jsp:getproperty) 480 19.2.4 示例 480 19.3 网上书店程序 484 19.4 小结 505 第20章 jsp开发的两种模型 506 20.1 模型1 506 20.2 模型2 510 20.3 mvc模式的实现总结 515 20.4 小结 515 第21章 标签库(tag library) 516 21.1 标签库api 516 21.1.1 标签的形式 516 21.1.2 tag接口 517 21.1.3 iterationtag接口 519 21.1.4 bodytag接口 520 21.2 标签库描述符 521 21.2.1 (taglib)元素 522 21.2.2 (validator)元素 523 21.2.3 (listener)元素 523 21.2.4 (tag)元素 524 21.2.5 (tag-file)元素 526 21.2.6 (function)元素 527 21.3 传统标签的开发 528 21.3.1 实例一:(hello)标签 528 21.3.2 实例二:(max)标签 531 21.3.3 实例三:(greet)标签 533 21.3.4 实例四:(switch)标签 535 21.3.5 实例五:(iterate)标签 539 21.4 简单标签的开发 545 21.4.1 simpletag接口 545 21.4.2 实例一:(welcome)标签 546 21.4.3 实例二:(max_ex)标签 548 21.5 自定义标签开发总结 550 21.6 小结 550 第22章 表达式语言(el) 551 22.1 语法 551 22.1.1 “[ ]”和“.”操作符 551 22.1.2 算术操作符 552 22.1.3 关系操作符 552 22.1.4 逻辑操作符 553 22.1.5 empty操作符 553 22.1.6 条件操作符 553 22.1.7 圆括号 553 22.1.8 操作符的优先级 553 22.2 隐含对象 553 22.3 命名变量 555 22.4 保留的关键字 555 22.5 函数 555 22.6 小结 556 第23章 jsp标准标签库(jstl) 557 23.1 jstl简介 557 23.2 配置jstl 558 23.3 core标签库 558 23.3.1 一般用途的标签 559 23.3.2 条件标签 563 23.3.3 迭代标签 565 23.3.4 url相关的标签 568 23.4 i18n标签库 572 23.4.1 国际化标签 572 23.4.2 格式化标签 577 23.5 sql标签库 585 23.5.1 (sql:setdatasource) 585 23.5.2 (sql:query) 586 23.5.3 (sql:param) 589 23.5.4 (sql:dateparam) 590 23.5.5 (sql:update) 591 23.5.6 (sql:transaction) 592 23.6 xml标签库 593 23.6.1 核心操作 594 23.6.2 流程控制 597 23.6.3 转换操作 600 23.7 functions标签库 602 23.7.1 fn:contains 602 23.7.2 fn:containsignorecase 603 23.7.3 fn:startswith 604 23.7.4 fn:endswith 604 23.7.5 fn:indexof 605 23.7.6 fn:replace 606 23.7.7 fn:substring 606 23.7.8 fn:substringbefore 607 23.7.9 fn:substringafter 608 23.7.10 fn:split 608 23.7.11 fn:join 609 23.7.12 fn:tolowercase 610 23.7.13 fn:touppercase 610 23.7.14 fn:trim 611 23.7.15 fn:escapexml 611 23.7.16 fn:length 612 23.8 小结 612 第24章 标签文件(tag files) 614 24.1 标签文件的语法 614 24.2 一个简单的标签文件 614 24.3 标签文件的隐含对象 617 24.4 标签文件的指令 618 24.4.1 tag指令 618 24.4.2 attribute指令 619 24.4.3 variable指令 620 24.5 标签文件实例讲解 621 24.5.1 实例一:(welcome)标签 621 24.5.2 实例二:(tohtml)标签 622 24.6 (jsp:invoke)动作元素 624 24.7 (jsp:dobody)动作元素 624 24.8 小结 624 第iv篇 应用篇 第25章 servlet监听器 626 25.1 监听器接口 626 25.2 servletcontextlistener接口 627 25.3 httpsessionbindinglistener接口 628 25.4 在线人数统计程序 629 25.5 小结 636 第26章 filter在web开发中的应用 637 26.1 过滤器概述 637 26.2 filter api 638 26.2.1 filter接口 638 26.2.2 filterconfig接口 639 26.2.3 filterchain接口 639 26.3 过滤器的部署 639 26.4 过滤器的开发 641 26.5 对用户进行统一验证的过滤器 643 26.6 对请求和响应数据进行替换的过滤器 649 26.7 对响应内容进行压缩的过滤器 657 26.8 小结 664 第27章 中文乱码问题与国际化 665 27.1 中文乱码问题产生的由来 665 27.1.1 常用字符集 665 27.1.2 对乱码产生过程的分析 667 27.2 中文乱码问题的解决方案 669 27.3 使用过滤器解决中文问题 671 27.4 让tomcat支持中文文件名 675 27.5 国际化与本地化 675 27.5.1 locale 676 27.5.2 资源包 678 27.5.3 消息格式化 680 27.5.4 编写国际化的web应用程序 681 27.6 小结 684 第28章 开发安全的web应用程序 685 28.1 概述 685 28.2 理解验证机制 686 28.2.1 http basic authentication 686 28.2.2 http digest authentication 687 28.2.3 https client authentication 687 28.2.4 form based authentication 687 28.3 声明式安全 688 28.3.1 (security-constraint)元素 688 28.3.2 多个安全约束的联合 690 28.3.3 (login-config)元素 692 28.3.4 基本验证的实现 692 28.3.5 基于表单验证的实现 694 28.3.6 使用数据库保存用户名和密码 696 28.4 程序式安全 700 28.5 sql注入攻击的防范 702 28.6 小结 704 第29章 使用eclipse开发web应用 705 29.1 eclipse介绍 705 29.1.1 下载并安装eclipse 705 29.1.2 eclipse开发环境介绍 706 29.1.3 配置eclipse 707 29.2 文件的上传 710 29.2.1 基于表单的文件上传 710 29.2.2 文件上传格式分析 711 29.2.3 commons-fileupload组件 712 29.2.4 文件上传实例 713 29.3 文件的下载 724 29.4 给图片添加水印和文字 731 29.5 小结 734 附:在eclipse中导入本章的项目 734 第30章 web应用程序开发实例 736 30.1 图像的缩放 736 30.2 如何动态生成验证码 739 30.3 如何避免表单的重复提交 743 30.3.1 在客户端避免表单的重复提交 743 30.3.2 在服务器端避免表单的重复提交 746 30.4 小结 752 第31章 使用log4j进行日志操作 753 31.1 log4j介绍 753 31.1.1 logger组件 753 31.1.2 appender组件 754 31.1.3 layout组件 755 31.2 使用log4j 757 31.3 log4j使用实例 760 31.4 ndc和mdc 773 31.5 小结 775 第32章 使用ant辅助web应用程序开发 776 32.1 ant介绍 776 32.2 安装并配置ant 777 32.2.1 下载并安装ant 777 32.2.2 设置ant的运行环境 777 32.3 编写ant的构建文件 777 32.3.1 准备工作 778 32.3.2 工程((project)) 781 32.3.3 目标((target)) 781 32.3.4 任务 783 32.3.5 类似路径结构(path-like structure) 796 32.3.6 引用(reference) 797 32.4 部署到tomcat 798 32.5 运行ant 801 32.6 小结 801 第33章 servlet 3.0新特性详解 802 33.1 新增的注解 802 33.1.1 @webservlet注解 803 33.1.2 @webfilter注解 804 33.1.3 @webinitparam注解 806 33.1.4 @weblistener注解 806 33.1.5 @multipartconfig注解 806 33.2 异步处理 807 33.2.1 实例:计算斐波那契数列 809 33.2.2 asynclistener 812 33.3 动态添加和配置web组件 814 33.3.1 实例一:实现servletcontextlistener接口来添加servlet 815 33.3.2 实例二:实现servletcontainerinitializer接口来添加组件 816 33.4 web片段和可插性支持 819 33.4.1 web模块开发 819 33.4.2 解决web模块加载顺序的问题 821 33.5 httpservletrequest 对文件上传的支持 823 33.6 小结 826 第34章 xml和xslt在web开发中的应用 827 34.1 功能概述 827 34.2 程序设计 827 34.2.1 软件架构 827 34.2.2 页面设计 828 34.2.3 数据库设计 840 34.3 程序实现 842 34.3.1 org.sunxin.guestbook 842 34.3.2 org.sunxin.guestbook.beans 843 34.3.3 org.sunxin.guestbook.util 851 34.3.4 org.sunxin.guestbook.parser 854 34.3.5 org.sunxin.guestbook.controller 857 34.3.6 org.sunxin.guestbook.view 878 34.3.7 page.xsl 882 34.3.8 web.xml 888 34.3.9 context.xml 889 34.4 小结 889 (以下内容见配书光盘) 附录a 快速掌握html 890 附录b 解析http 915 附录c server.xml文件 928 附录d web.xml文件 935 本 信息来源: