出版社:电子工业出版社
年代:2012
定价:118.0
本书共分4篇,从XML、XML Schema、XSLT、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进地引导读者快速掌握Java Web开发。本书内容全面,涵盖了从事Java Web开发所应掌握的所有知识,同时还讲解了最新的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
本书共分4篇,从XML、XML Schema、XSLT、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进地引导读者快速掌握Java Web开发。本书内容全面,涵盖了从事Java Web开发所应掌握的所有知识,同时还讲解了最新的Servlet 3.0和JSP 2.2规范新增的特性。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前Web开发中经常使用的功能,具有相当高的实用价值。本书不仅可以作为Java Web开发的学习用书,还可以作为从事Java Web开发的程序员的参考用书和必备手册。 【页数】:904【读者对象】此外,本书的配套光盘还免费提供了价值人民币330元的Java教学视频,对Java语言进行了全面讲解,帮助一些不会Java语言的读者快速地从Java基础知识的学习中过渡到Java Web的学习与开发上。【前言】 前 言随着Java语言的流行,Java在网站和企业级应用的开发上应用得越来越普遍,Java Web开发已经成为Java企业级解决方案中不可或缺的重要组成部分。本书遵照最新的Servlet 3.0和JSP 2.2规范,系统、完整地介绍了Java Web开发中的各种技术,从知识的讲解 → 知识的运用 → 实际问题的解决 → Web开发框架 → 程序架构的设计,一步一步地引导读者掌握Java Web开发的知识体系结构。本书面向的读者本书面向的读者群包括: 毫无Web经验的初学者。 具有一定的Web经验,但没有从事过Web开发的读者。 具有其他脚本语言Web开发经验,想要快速转向Java Web开发的程序员。 正在从事Java Web开发的初中级程序员。此外,为了照顾到连Java语言都没有掌握的读者,在本书的配套光盘中,提供了一套完整的Java教学视频(价值人民币330元),以帮助读者快速地从Java语言的学习中过渡到Java Web的开发上。也就是说,本书也适合于正准备学习Java语言的读者,通过本书,这些读者可以从学习Java语言开始,一直提升到掌握Java Web开发的企业级应用。本书的内容组织全书共分4篇,包括了XML篇、Servlet篇、JSP篇和应用篇。前3篇相对独立,但在内容上又有层进的关系。最后一部分综合应用了前3篇的知识,讲解了一些高级应用,并结合实际开发中要解决的问题,给出了很多具有实用价值的实例程序。此外,4个附录(见本书配套光盘)作为本书不可或缺的部分,先对HTML和HTTP协议进行了介绍,缺少Web经验的读者可以从前两个附录中学到Web开发的必备知识。另外,后两个附录还提供了server.xml和web.xml文件的介绍,可以作为读者从事Java Web开发的参考。本书在内容的编排上独具匠心,将知识的连贯性和学习规律有机地组织在一起。本书首先介绍了目前Web开发中很热的XML技术,通过和附录A的HTML知识进行对比学习,读者可以很快地掌握XML。在第1篇中,介绍了下面的内容: XML名称空间 XML Schema 解析XML文档 XSL转换 解析名称空间 XSLT 1.0 和XSLT 2.0本书第2篇是Servlet篇,围绕Servlet讲解了Servlet技术和Servlet的应用。在这部分内容中,还包括下面几个主题: Web应用程序的部署 Servlet访问数据库 会话跟踪 Servlet的异常处理机制 Servlet的线程安全读者如果掌握了这部分的内容,就可以开始Web应用程序的开发了。Servlet容器和Servlet部署使用的配置文件都是XML格式,作者经常看到学员由于不了解XML语法而导致配置出错,从而影响程序的运行。也正是因为这种情况的普遍性,因此本书在第1篇就详细讲解了XML,这样读者在配置Web容器和部署Servlet时,就不会因为语法问题而导致运行出错了。同时读者预先掌握了XML语法,对理解配置文件也有好处。本书第3篇是JSP篇,包括了与JSP相关的各种技术,主要内容有JSP技术、JSP与JavaBean、JSP开发的两种架构模型、自定义标签库、表达式语言、JSTL、标签文件。JSP是建立在Servlet规范提供的功能之上的动态网页技术,读者看完第2篇介绍的Servlet,自然也就能理解JSP了。第3篇的内容非常详尽,不但可以作为学习指南使用,而且可以作为以后工作中的参考手册。本书第4篇是应用篇,结合前3篇介绍的知识,讲解了一些高级应用,给出了很多具有实用价值的实例程序。主要内容有: Servlet监听器 过滤器在Web开发中的应用 中文乱码问题与国际化 开发安全的Web应用程序 使用Eclipse开发文件上传和下载 给图片添加水印和文字、图像缩放、动态验证码、避免表单重复提交等实例 使用Log4j进行日志操作 使用Ant辅助Web应用程序开发 Servlet 3.0新特性详解 XML与XSLT在Web开发中的应用这部分内容从应用开发的角度帮助读者提升Java Web开发技能,建立Web开发框架设计的思想。本书的实例程序作者在编写本书时,使用的操作系统是Windows XP SP3,Web服务器是Tomcat 7.0.23,JDK版本是1.7.0_01,浏览器是IE 8.0。本书所有的实例程序都在上述环境中运行正常。本书绝大部分的例子程序,都没有放在Tomcat安装目录的webapps目录下,而是单独放在自定义的一个目录中。读者要运行这些程序,有两种方式:一种方式是直接将光盘中的例子程序目录复制到Tomcat的webapps目录下运行;另一种方式是配置Web应用程序的运行目录,在%CATALINA_HOME%\ conf\Catalina\localhost目录下(%CATALINA_HOME%表示Tomcat的安装目录),建立chXX.xml(XX表示每章的序号,例如第5章是ch05.xml,第13章是ch13.xml)文件,编辑这个文件,输入下面的内容:<Context docBase="F;\JSPLesson\ch07" reloadable="true"/>将F;\JSPLesson\ch07替换为读者机器上对应章节的Web应用程序所在的目录。此外,每章例子程序的开发步骤中也给出了详细的配置过程,读者按照步骤操作,会发现配置非常容易。学习建议作者针对三种不同类型的读者,提出下面的学习建议。(1)对HTML和HTTP协议不是很了解的读者:建议从附录A、附录B开始学习,然后从第1章开始学习。在第1章的学习中,要结合附录A,彼此对照,看看XML和HTML之间的异同,加强学习的效果。在学习第2篇的Servlet时,要结合附录B,随时参照,以加深对HTTP Servlet的理解。(2)对HTML和HTTP协议比较清楚的读者,可以直接从第1章开始学习,按照章节的顺序一步一步进行下去。(3)有Java Web开发经验的读者,可以选择性地学习本书的内容,并在开发过程中,以本书作为参考用书。由于第1篇的第9章(XSLT 1.0)和第10章(XSLT 2.0)内容较多,而且有一定的难度,所以在这里建议读者在学习第34章(即最后一章)之前,再回过头学习这两章。当然,对于能够理解这一章内容的读者,学习的次序也就不重要了。本书的配套光盘说明本书的配套光盘提供了三部分的内容:本书所有实例的代码、价值人民币330元的Java教学视频(Flash格式)、附录。1.实例代码配套光盘中的实例代码是按照章节的顺序提供的,例如,第7章的例子程序位于光盘的Code\ch07目录下。某些章节的例子程序运行需要配置依赖的软件或开发包,请参见各章的内容。对于书中用到的软件和开发包,可通过百度或者程序员之家查找并下载(www.phome.asia或www.sunxin.org)。2.Java教学视频本套教学视频由作者本人录制,市场定价为人民币330元。为了帮助广大Java爱好者能够快速地步入Java企业级的开发,作者花费了大量的时间和精力将AVI格式的视频转换为Flash格式,免费提供给读者使用,希望读者能够从中受益。这套视频的内容简介如下。Lesson1 Java的一些基本概念,Java的起源、我们为什么要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的错误,Java语言的基本数据类型和Java的语句Lesson2 Java面向对象编程,面向对象编程和面向过程编程的区别,我们如何才能掌握面向对象的编程,类和对象的关系;讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常量、继承、多态Lesson3上 Java中包的概念,类的说明符、方法的说明符、对象的销毁(JVM垃圾回收器的演示),Java中接口理解与掌握Lesson3下 Java中内部类的理解、运用与掌握,Java中的异常处理Lesson4上 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆Lesson4下 数组的复制与排序,Runtime类与Process类,Class类与反射API,Runtime类与单例设计模式Lesson5 Java的多线程,程序、进程和线程的概念,实现多线程的两种方式,线程同步的原理,线程的死锁,运用wait和notify来实现producer - consumer关系,线程终止的两种情况Lesson6 Java中的集合类的讲解,栈、队列、链表等数据结构的讲解续表 Lesson7 Java I/O操作,字节流InputStream和OutputStream,字符流Reader和Writer,Java I/O库的设计原则,字符集的编码,RandomAccessFile类,管道流,对象的序列化Lesson8 Java图形界面编程,AWT、布局管理器、事件模型,JFC、Swing编程。应用JBuilder快速开发图形界面程序Lesson9 Applet编程,详细讲解Applet的生命周期,子体的设置,applet从网页中获取信息,applet和浏览器的通信,更新显示的原理,用Applet来制作动画程序,以及动画程序的优化Lesson10 Java网络编程,基于TCP的套接字编程,基于UDP的套接字编程,URL和URI,一个实用的下载程序3.附录由于图书容量的问题,为了降低本书的购买费用,附录4个章节以PDF文件的格式放到了光盘上。进一步学习的建议读者在掌握本书的内容后,可以再花一到两个月的时间学习某种Web开发框架,如Struts 2(可参看本书作者编著的《Struts 2深入详解》,电子工业出版社出版),以及某种对象-关系映射工具,如Hibernate,轻量级的Java EE框架:Spring。在掌握这些内容后,读者就可以去公司从事Java企业级的开发了。关于漫画头像封面的漫画头像由王裕民绘制,在此表示感谢。本书在编著过程中,赵岚岚、高莹、张素芳、瞿瑞强、张欣、张玲、窦建涛、涂君君、邵佳赜、马文勇参与编著,这里一并感谢。最后,衷心地祝愿读者能够从此书获益,从而实现自己的开发梦想。由于本书的内容较多、牵涉的技术较广,错误和疏漏之处在所难免,欢迎广大技术专家和读者指正。作者的联系方式是csunxin@sina.com,读者也可以登录程序员之家网站发表意见,网址是:www.phome.asia或者www.sunxin.org。
书籍详细信息 | |||
书名 | Java Web开发详解站内查询相似图书 | ||
9787121167683 如需购买下载《Java Web开发详解》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 电子工业出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 118.0 | 语种 | 简体中文 |
尺寸 | 28 × 20 | 装帧 | 平装 |
页数 | 904 | 印数 |
Java Web开发详解是电子工业出版社于2012.5出版的中图分类号为 TP312 的主题关于 JAVA语言-程序设计 的书籍。