Java Web开发详解 XML+DTD+XML Schema+XSLT+Servlet 3.0+JSP 2.2深入剖析与实例应用PDF电子书下载
- 电子书积分:23 积分如何计算积分?
- 作 者:孙鑫编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2012
- ISBN:9787121167683
- 页数:889 页
第Ⅰ篇XML篇 2
第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章XSLT1.0 146
9.1 XSLT概述 146
9.2 Xalan处理器 150
9.3模板规则 151
9.4 〈xsl:apply-templates〉元素 152
9.5 〈xsl:alue-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章XSLT2.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
第Ⅱ篇Servlet篇 247
第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
第Ⅲ篇JSP篇 432
第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 118N标签库 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
第Ⅳ篇 应用篇 626
第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 FilterAPI 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 HTTPBasic Authentication 686
28.2.2 HTTPDigest 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@WebServle t注解 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
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《高等数学试题与详解》西安电子科技大学高等数学教学团队 2019
- 《CINEMA 4D新手快速进阶实例教学 商迪》商迪 2020
- 《手工皮艺 时尚商务皮革制品制作详解》王雅倩责任编辑;陈涤译;(日)高桥创新出版工坊 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《2018考研数学 数学 1 15年真题详解及解题技巧》本书编委会著 2017
- 《新课标中学地理图文详解指导地图册 浙江专版 第4版》谭木主编;谭木高考复习研究室编 2015
- 《Dreamweaver CC 2018标准实例教程 中文版》杨雪静,胡仁喜编著 2019
- 《深入推进自我革命》任仲文 2019
- 《Adobe Photoshop 新手快速进阶实例教学》王楠 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017