Preface xiii 1
Fundamentals 1
1.1 A Brief Introduction to the Internet 2
1.2 The World Wide Web 6
1.3 Web Browsers 7
1.4 Web Servers 8
1.5 Uniform Resource Locators 11
1.6 Multipurpose Internet Mail Extensions 13
1.7 The Hypertext Transfer Protocol 15
1.8 Security 18
1.9 The Web Programmer’s Toolbox 20
Summary 28
Review Questions 30
Exercises 32
2 Introduction to XHTML 35
2.1 Origins and Evolution of HTML and XHTML 36
2.2 Basic Syntax 38
2.3 Standard XHTML Document Structure 39
2.4 Basic Text Markup 40
2.5 Images 49
2.6 Hypertext Links 54
2.7 Lists 57
2.8 Tables 63
2.9 Forms 71
2.10 Syntactic Differences between HTML and XHTML 84
Summary 85
Review Questions 86
Exercises 88
3 Cascading Style Sheets 91
3.1 Introduction 92
3.2 Levels of Style Sheets 93
3.3 Style Specification Formats 94
3.4 Selector Forms 96
3.5 Property Value Forms 99
3.6 Font Properties 100
3.7 List Properties 106
3.8 Color 110
3.9 Alignment of Text 112
3.10 The Box Model 114
3.11 Background Images 119
3.12 The <span> and <div> Tags 121
3.13 Conflict Resolution 122
Summary 124
Review Questions 126
Exercises 127
4 The Basics of JavaScript 129
4.1 Overview of JavaScript 130
4.2 Object Orientation and JavaScript 133
4.3 General Syntactic Characteristics 134
4.4 Primitives, Operations, and Expressions 137
4.5 Screen Output and Keyboard Input 146
4.6 Control Statements 150
4.7 Object Creation and Modification 158
4.8 Arrays 159
4.9 Functions 164
4.10 An Example 169
4.11 Constructors 170
4.12 Pattern Matching Using Regular Expressions 171
4.13 Another Example 176
4.14 Errors in Scripts 177
Summary 179
Review Questions 181
Exercises 183
5 JavaScript and XHTML Documents 185
5.1 The JavaScript Execution Environment 186
5.2 The Document Object Model 187
5.3 Element Access in JavaScript 191
5.4 Events and Event Handling 193
5.5 Handling Events from Body Elements 197
5.6 Handling Events from Button Elements 199
5.7 Handling Events from Text Box and Password Elements 204
5.8 The DOM 2 Event Model 214
5.9 The navigator Object 219
5.10 DOM Tree Traversal and Modification 221
Summary 222
Review Questions 223
Exercises 224
6 Dynamic Documents with JavaScript 227
6.1 Introduction 228
6.2 Positioning Elements 228
6.3 Moving Elements 234
6.4 Element Visibility 237
6.5 Changing Colors and Fonts 238
6.6 Dynamic Content 242
6.7 Stacking Elements 245
6.8 Locating the Mouse Cursor 249
6.9 Reacting to a Mouse Click 251
6.10 Slow Movement of Elements 253
6.11 Dragging and Dropping Elements 256
Summary 261
Review Questions 262
Exercises 262
7 Introduction to XML 265
7.1 Introduction 266
7.2 The Syntax of XML 268
7.3 XML Document Structure 271
7.4 Document Type Definitions 272
7.5 Namespaces 279
7.6 XML Schemas 281
7.7 Displaying Raw XML Documents 289
7.8 Displaying XML Documents with CSS 291
7.9 XSLT Style Sheets 293
7.10 XML Processors 302
7.11 Web Services 304
Summary 305
Review Questions 307
Exercises 309
8 Introduction to Flash 311
8.1 Origins and Uses of Flash 312
8.2 A First Look at the Flash Authoring Environment 312
8.3 Drawing Tools 318
8.4 Static Graphics 327
8.5 Animation and Sound 332
8.6 User Interactions 343
Summary 348
Review Questions 350
Exercises 351
9 Introduction to PHP 353
9.1 Origins and Uses of PHP 354
9.2 Overview of PHP 354
9.3 General Syntactic Characteristics 355
9.4 Primitives, Operations, and Expressions 356
9.5 Output 362
9.6 Control Statements 364
9.7 Arrays 367
9.8 Functions 376
9.9 Pattern Matching 379
9.10 Form Handling 382
9.11 Files 388
9.12 Cookies 391
9.13 Session Tracking 394
Summary 394
Review Questions 396
Exercises 398
10 Introduction to Ajax 401
10.1 Overview of Ajax 402
10.2 The Basics of Ajax 405
10.3 Return Document Forms 415
10.4 Ajax Toolkits 419
10.5 Security and Ajax 427
Summary 428
Review Questions 429
Exercises 430
11 Java Web Software 431
11.1 Introduction to Servlets 432
11.2 The NetBeans Integrated Development Environment 437
11.3 A Survey Example 447
11.4 Storing Information on Clients 454
11.5 JavaServer Pages 463
11.6 JavaBeans 475
11.7 Model-View-Controller Application Architecture 479
11.8 JavaServer Faces 480
Summary 489
Review Questions 490
Exercises 492
12 Introduction to ASP.NET 495
12.1 Overview of the .NET Framework 496
12.2 A Bit of C# 499
12.3 Introduction to ASP.NET 503
12.4 ASP.NET Controls 510
12.5 ASP.NET AJAX 540
12.6 Web Services 546
Summary 555
Review Questions 556
Exercises 558
13 Database Access through the Web 559
13.1 Relational Databases 560
13.2 An Introduction to the Structured Query Language 562
13.3 Architectures for Database Access 567
13.4 The MySQL Database System 569
13.5 Database Access with PHP and MySQL 572
13.6 Database Access with JDBC and MySQL 581
13.7 Database Access with ASP.NET and MySQL 589
Summary 596
Review Questions 598
Exercises 600
14 Introduction to Ruby 601
14.1 Origins and Uses of Ruby 602
14.2 Scalar Types and Their Operations 602
14.3 Simple Input and Output 610
14.4 Control Statements 613
14.5 Fundamentals of Arrays 618
14.6 Hashes 623
14.7 Methods 625
14.8 Classes 630
14.9 Blocks and Iterators 635
14.10 Pattern Matching 638
Summary 641
Review Questions 642
Exercises 642
15 Introduction to Rails 645
15.1 Overview of Rails 646
15.2 Document Requests 648
15.3 Rails Applications with Databases 655
15.4 Rails with Ajax 675
Summary 683
Review Questions 684
Exercises 685
Appendix A Introduction to Java 687
Appendix B Named Colors 703
Appendix C Java Applets 707
Index 735