第13章 网络编程 464
13.1 套接字 466
13.1.1 客户端和服务器 467
13.1.2 DateAtHost客户端 471
13.1.3 TinyHttpd服务器 473
13.1.4 套接字选项 478
13.1.5 代理和防火墙 479
13.2 数据报套接字 481
13.2.1 The HeartBeat Applet 482
13.2.2 InetAddress 486
13.3 简单串行化对象协议 487
13.4 远程方法调用 491
13.4.1 现实的用法 492
13.4.2 远程和非远程对象 492
13.4.3 一个RMI示例 495
13.4.4 RMI and CORBA 504
13.5 使用NIO的可伸缩I/O 504
13.5.1 可选择通道 505
13.5.2 使用select 506
13.5.3 LargerHttpd 508
13.5.4 非阻塞客户端端操作 512
第14章 Web编程 514
14.1 统一资源定位器(URL) 514
14.2 URL类 515
14.2.1 流数据 516
14.2.2 将内容获取为对象 517
14.2.3 ManagingConnections 518
14.2.4 实用的处理器 519
14.2.5 其他处理器框架 519
14.3 与Web应用通信 520
14.3.1 使用GET方法 521
14.3.2 使用POST方法 521
14.3.3 The Http URLConnection 524
14.3.4 SSL和安全Web通信 525
14.3.5 URL.URN和URI 525
14.4 Web Services 526
14.4.1 XML-RPC 527
14.4.2 WSDL 527
14.4.3 工具 527
14.4.4 Weather Service客户端 528
第15章 Web应用与Web服务 530
15.1 Web应用技术 531
15.1.1 面向页面的应用和单页应用 531
15.1.2 JSP 532
15.1.3 XML和XSL 533
15.1.4 Web应用框架 533
15.1.5 Google Web Toolkit 534
15.1.6 HTML5、AJAX以及更多 534
15.2 Java Web应用 534
15.2.1 servlet生命期 535
15.2.2 Servlets 536
15.2.3 The HelloClient Servlct 537
15.2.4 servlet 响应 538
15.2.5 servlct参数 540
15.2.6 The ShowParametersServlet 541
15.2.7 用户会话管理 543
15.2.8 ShowSession Servlet 543
15.2.9 ShoppingCart Servlct 545
15.2.10 Cooktes 548
15.2.11 ServletContext API 549
15.2.12 异步Servlets 550
15.3 WAR文件和部署 554
15.3.1 使用web.xml和注解配置 555
15.3.2 URL模式映射 557
15.3.3 部署Hello Cllent 558
15.3.4 错误和索引页面 559
15.3.5 安全性和鉴别 561
15.3.6 为用户指定角色 561
15.3.7 安全数据传输 562
15.3.8 用户鉴别 563
15.3.9 过程性安全 565
15.4 servlet过滤器 566
15.4.1 一个简单的过滤器 567
15.4.2 一个测试servlet 568
15.4.3 声明和映射过滤器 569
15.4.4 过滤servlet请求 570
15.4.5 过滤servlet响应 572
15.5 使用 Ant构建WAR文件 575
15.5.1 面向开发的目录布局 575
15.5.2 使用Ant部署和重新部署WAR 577
15.6 实现Web Services 577
15.6.1 定义服务 578
15.6.2 回显服务 578
15.6.3 使用服务 579
15.6.4 数据类型 581
15.7 结论 582
第16章 Swjng 583
16.1 组件 586
16.1.1 对等对象 588
16.1.2 模型-视图-控制器框架 589
16.1.3 绘制 590
16.1.4 启用和禁用组件 591
16.1.5 焦点 591
16.1.6 其他组件方法 592
16.1.7 布局管理器 594
16.1.8 边距 594
16.1.9 Z顺页序(组件入栈) 595
16.1.10 revalidate()和doLayout()方法 595
16.1.11 管理组件 596
16.1.12 监听组件 596
16.1.13 窗口和框架 596
16.1.14 控制框架的其他方法 598
16.1.15 使用内容格 598
16.1.16 桌面集成 599
16.2 事件 601
16.2.1 事件接收者和监听者接口 602
16.2.2 事件源 603
16.2.3 事件发送 605
16.2.4 事件类型 606
16.2.5 java.awt.event.InputEvent类 606
16.2.6 InputEvent中的鼠标和按键修饰符 606
16.2.7 焦点事件 608
16.3 事件总结 609
16.3.1 适配器类 612
16.3.2 哑适配器 615
16.4 AWT Robot 615
16.5 Swing中的多线程 616
第17章 使用Swing组件 620
17.1 按钮和标签 620
17.1.1 按钮和标签中的HTML文本 623
17.2 复选框和单选钮 624
17.3 列表框和组合框 626
17.4 增减器 629
17.5 边框 632
17.6 菜单 635
17.7 PopupMenu类 638
17.8 JScrollPane类 642
17.9 JSplitPane类 644
17.10 JTabbedPane类 646
17.11 滚动条和滑块 650
17.12 对话框 652
17.12.1 文件选择对话框 654
17.12.2 颜色选择器 657
第18章 再谈Swing组件 658
18.1 文本组件 658
18.1.1 TextEntryBox应用 659
18.1.2 格式化文本 661
18.1.3 过滤输入 662
18.1.4 验证数据 664
18.1.5 有关密码的问题 665
18.1.6 共享数据模型 666
18.1.7 自由地使用HTML和RTF 667
18.1.8 自行管理文本 670
18.2 焦点导航 673
18.2.1 树 674
18.2.2 节点和模型 675
18.2.3 保存树 675
18.2.4 树事件 675
18.2.5 一个完整的例子 676
18.3 表 679
18.3.1 第一步:不劳而获 679
18.3.2 第二步:创建一个表模型 681
18.3.3 第三步:一个简单的电子表格应用 684
18.3.4 排序和过滤 687
18.3.5 打印JTables 689
18.4 桌面 690
18.5 可插拔观感 691
18.6 创建定制组件 694
18.6.1 生成事件 694
18.6.2 Dial组件 695
第19章 布局管理器 700
19.1 FlowLayout 702
19.2 GridLayout 703
19.3 BorderLayout 704
19.4 BoxLayout 707
19.5 CardLayout 708
19.6 GridBagLayout 710
19.6.1 GridBagConstraints类 710
19.6.2 表格坐标 712
19.6.3 填充约束 713
19.6.4 行跨度和列跨度 715
19.6.5 权又值 716
19.6.6 锚定 718
19.6.7 间距和边距 719
19.6.8 相对定位 720
19.6.9 组合布局 721
19.7 非标准布局管理器 725
19.8 绝对定位 725
第20章 使用2D API绘图 727
20.1 整体结构 727
20.2 表现通道 729
20.3 2DAPI快速浏览 732
20.3.1 填充形状 732
20.3.2 绘制形状轮廓 732
20.3.3 便利方法 733
20.3.4 绘制文本 734
20.3.5 绘制图像 734
20.3.6 完整的Iguana 735
20.4 填充形状 738
20.4.1 纯色 738
20.4.2 颜色渐变 739
20.4.3 纹理 739
20.4.4 桌面颜色 739
20.5 描画形状轮廓 740
20.6 使用字体 741
20.7 显示图像 746
20.7.1 Image类 746
20.7.2 图像观察者 748
20.7.3 缩放和大小 749
20.8 绘制技术 750
20.8.1 双缓冲 752
20.8.2 使用剪裁的有限绘制 753
20.8.3 屏幕外绘制 756
20.9 打印 759
第21章 使用图像及其他媒体 761
21.1 Loading Images 762
21.1.1 ImageObserver 762
21.1.2 Media Tracker 764
21.1.3 ImageIcon 766
21.1.4 ImageIO 767
21.2 生成图像数据 768
21.2.1 绘制动画 768
21.2.2 BufferedImage剖析 771
21.2.3 颜色模型 773
21.2.4 创建图像 774
21.2.5 更新BufferedImage 776
21.3 过滤图像数据 779
21.3.1 ImageProcessor如何工作 781
21.3.2 将Image转换为BufferedImage 782
21.3.3 使用RescaleOp类 782
21.3.4 使用AffineTransformOp类 783
21.4 保存图像数据 784
21.5 简单音频 784
21.6 Java媒体框架 786
第22章 JavaBeans 789
22.1 什么是Bean 789
22.2 The NetBeans IDE 791
22.3 特性和定制器 795
22.4 事件关联和适配器 797
22.4.1 控制Juggler 798
22.4.2 分子运动 800
22.5 绑定特性 801
22.6 构建Bean 803
22.6.1 The Dial Bean 803
22.6.2 特性的设计模式 806
22.7 可视化设计的限制 807
22.8 串行化与代码生成 808
22.9 使用BeanInfo进行定制 809
22.10 用手写代码使用Bean 813
22.10.1 Bean实例化和类型管理 813
22.10.2 使用串行化Bean 814
22.10.3 使用反射完成运行时事件关联 816
22.11 BeanContext和BeanContextService 818
22.12 Java激活框架 818
22.13 Enterprise JavaBeans和POJ0-Based Enterprise Frameworks 819
第23章 Applets 820
23.1 基于浏览器的应用政治 820
23.2 Applet支持和Java插件 822
23.3 JApplet类 822
23.3.1 Applet生命期 824
23.3.2 Applet安全沙箱 826
23.3.3 获得Applet资源 827
23.3.4 <applet>标签 831
23.3.5 属性 832
23.3.6 参数 832
23.3.7 Applet的替代品 833
23.3.8 完整的<applet>标签 833
23.3.9 加载类文件 835
23.3.10 包 835
23.3.11 查看applet 836
23.4 Java Web Start 836
23.5 结论 837
第24章 XML 838
24.1 本章主题 838
24.2 背景知识点拨 839
24.2.1 文本与二进制 840
24.2.2 通用解析器 840
24.2.3 XML的状态 840
24.2.4 The XML APIs 841
24.2.5 XML和Web浏览器 841
24.3 XML基础 841
24.3.1 属性 842
24.3.2 XML文档 843
24.3.3 编码 843
24.3.4 命名空间 844
24.3.5 验证 845
24.3.6 HTML向XHTML的转换 845
24.4 SAX 845
24.4.1 The SAX API 846
24.4.2 使用SAX构建模型 847
24.4.3 XML编码器/解码器 853
24.5 DOM 854
24.5.1 DOM API 854
24.5.2 试验DOM 855
24.5.3 用DOM生成XML 856
24.5.4 JDOM 857
24.6 XPath 858
24.6.1 节点 859
24.6.2 谓词 860
24.6.3 函数 861
24.6.4 XPath API 861
24.6.5 XMLGrep 862
24.7 XInclude 863
24.8 验证文档 865
24.8.1 使用文档验证 866
24.8.2 DTDs 866
24.8.3 XML Schema 868
24.8.4 验证API 872
24.9 JAXB和代码生成 874
24.9.1 注解我们的模型 874
24.9.2 从一个XML架构生成一个Java模型 880
24.9.3 从Java模型生成一个XML架构 880
24.10 用XSL/XSLT转换文档 880
24.10.1 XSL基础知识 881
24.10.2 转换动物园名册 883
24.10.3 XSLTransform 885
24.10.4 浏览器中的XSL 886
24.11 Web服务 886
24.12 本书的结尾 887
附录A Eclipse IDE 888
A.1 IDE战争 889
A.2 Eclipse入门 889
A.3 使用Eclipse 890
A.3.1 获取源代码 891
A.3.2 布局 892
A.3.3 运行示例 893
A.3.4 构建基于Ant的示例 894
A.3.5 独特示例 894
A.4 Eclipse功能 894
A.4.1 编码快捷 894
A.4.2 自动更正 895
A.4.3 重构 896
A.4.4 区分文件 897
A.4.5 组织导入 897
A.4.6 格式化源代码 897
A.5 结语 897
附录B BeanShell:简单Java脚本 898
B.1 运行BeanShell 898
B.2 Java语句和表达式 899
B.3 BeanShell命令 900
B.4 脚本化方法和对象 901
B.5 修改类路径 903
B.6 更多内容 903
术语表 905