CISC474, Reading Notes for Sebesta,
Programming The World Wide Web, 3rd Edition

Reading notes by Phill Conrad, Asst. Professor, CIS Dept. University of Delaware


Chapter 1: Fundamentals

Chapter 2: Introduction to XHTML

Chapter 3: Cascading Style Sheets

Chapter 4: The Basics of JavaScript

Chapter 5: JavaScript and HTML Documents

Chapter 6: Dynamic Documents with JavaScript

Chapter 7: Java Applets

Chapter 8: Introduction to XML

Chapter 9: The Basics of Perl

Chapter 10: Using Perl for CGI Programming

Chapter 11: Servlets and Java Server Pages

Chapter 12: Introduction to PHP

Chapter 13: Introduction to ASP.NET

Chapter 14: Database Access through the Web

Appendix A: Introduction to Java


Chapter 1: Fundamentals

1.1 A Brief Introduction to the Internet

1.1.1 Origins

1.1.2 What the Internet Is

1.1.3 Internet Protocol Addresses

1.1.4 Domain Names

1.2 The World Wide Web

1.2.1 Origins

1.2.2 Web or Internet?

1.3 Web Browsers

1.4 Web Servers

1.4.1 Web Server Operation

1.4.2 General Server Characteristics

1.4.3 Apache

1.4.4 IIS

1.5 Uniform Resource Locators

1.5.1 URL Formats

1.5.2 URL Paths

1.6 Multipurpose Internet Mail Extensions

1.6.1 Type Specifications

1.6.2 Experimental Document Types

1.7 The Hypertext Transfer Protocol

1.7.1 The Request Phase

1.7.2 The Response Phase

1.8 The Web Programmer's Toolbox

1.8.1 Overview of XHTML

1.8.2 Tools for Creating XHTML Documents

1.8.3 Plug-ins and Filters

1.8.4 Overview of XML

1.8.5 Overview of JavaScript

1.8.6 Overview of Java

1.8.7 Overview of Perl

1.8.8 Overview of PHP

1.9 Summary

1.10 Review Questions

1.11 Exercises

Chapter 2: Introduction to XHTML

2.1 Origins and Evolution of HTML and XHTML

2.1.1 Versions of HTML and XHTML

2.1.2 HTML versus XHTML

2.2 Basic Syntax

2.3 Standard XHTML Document Structure

2.4 Basic Text Markup

2.4.1 Paragraphs

2.4.2 XHTML Document Validation

2.4.3 Line Breaks

2.4.4 Headings

2.4.5 Block Quotations

2.4.6 Font Styles and Sizes

2.4.7 Character Entitites

2.4.8 Horizontal Rules

2.4.9 The meta Element

2.5 Images

2.5.1 Image Formats

2.5.2 The <img /> tag

2.6 Hypertext Links

2.6.1 Links

2.6.2 Targets within Documents

2.6.3 Using LInks

2.7 Lists

2.7.1 Unordered Lists

2.7.2 Ordered Lists

2.7.3 Definition Lists

2.8 Tables

2.8.1 Basic Table Tags

2.8.2 The rowspan and colspan Attributes

2.8.3 The align and valign Attributes

2.8.4 The cellpadding and cellspacing Attributes

2.8.5 Table Sections

2.9 Forms

2.9.1 The <form> Tag

2.9.2 The <input> Tag

2.9.3 The <select> Tag

2.9.4 The <textarea> Tag

2.9.5 The Submit and Reset Buttons

2.9.6 A Complete Form Example

 

2.10 Frames

2.10.1 Framesets

2.10.2 Frames

2.11 Syntactic Differences Between HTML and XHTML

2.12 Summary

2.13 Review Questions

2.14 Exercises

Chapter 3: Cascading Style Sheets

3.1 Introduction

3.2 Levels of Style Sheets

3.3 Style Specification Formats

3.4 Selector Formats

3.4.1 Simple Selector Forms

3.4.2 Class Selectors

3.4.3 Generic Selectors

3.4.4 id Selectors

3.4.5 Pseudo Classes

3.5 Property Value Forms

3.6 Font Properties

3.6.1 Font Families

3.6.2 Font Sizes

3.6.3 Font Styles

3.6.4 Font Weights

3.6.5 Font Shorthands

3.6.6 Text Decoration

3.7 List Properties

3.8 Color

3.8.1 Color Groups

3.8.2 Color Properties

3.9 Alignment of Text

3.10 The Box Model

3.10.1 Borders

3.10.2 Margins and Padding

3.11 Background Images

3.12 The <span> and <div> Tags

3.13 Summary

3.14 Review Questions

3.15 Exercises

Chapter 4: The Basics of JavaScript

4.1 Overview of JavaScript

4.1.1 Origins

4.1.2 JavaScript and Java

4.1.3 Uses of JavaScript

4.1.4 Event-Driven Computation

4.1.5 Browsers and XHTML/JavaScript Documents

4.2 Object Orientation and JavaScript

4.2.1 JavaScript Objects

4.3 General Syntactic Characteristics

4.4 Primitives, Operations, and Expressions

4.4.1 Primitive Types

4.4.2 Numeric and String Literals

4.4.3 Other Primitive Types

4.4.4 Declaring Variables

4.4.5 Numeric Operators

4.4.6 The Math Object

4.4.7 The Number Object

4.4.8 The String Catenation Operator

4.4.9 Implicit Type Conversions

4.4.10 Explicit Type Conversions

4.4.11 String Properties and Methods

4.4.12 The typeof Operator

4.4.13 Assignment Statements

4.4.14 The Date Object

4.5 Screen Output and Keyboard Input

4.6 Control Statements

4.6.1 Control Expresssions

4.6.2 Selection Statements

4.6.3 The switch Statement

4.6.4 Loop Statements

 

4.7 Object Creation and Modification

 

4.8 Arrays

4.8.1 Array Object Creation

4.8.2 Characteristics of Array Objects

4.8.3 Array Methods

4.9 Functions

4.9.1 Fundamentals

4.9.2 Local Variables

4.9.3 Parameters

4.9.4 The sort Method, Revisited

4.10 An Example

4.11 Constructors

4.12 Pattern Matching Using Regular Expressions

4.12.1 Character and Character-Class Patterns

4.12.2 Anchors

4.12.3 Pattern Modifiers

4.12.4 Other Pattern-Matching Methods of String

4.13 Another Example

4.14 Errors in Scripts

4.15 Summary

4.16 Review Questions

4.17 Exercises

Chapter 5: JavaScript and HTML Documents

5.1 The JavaScript Execution Environment

5.2 The Document Object Model

5.3 Element Access in JavaScript

5.4 Events and Event Handling

5.4.1 Basic Concepts of Event Handling

5.4.2 Events, Attributes and Tags

5.5 Handling Events from Body Elements

5.6 Handling Events from Button Elements

5.6.1 Plain Buttons

5.6.2 Checkboxes and Radio Buttons

5.7 Handling Events from Text Boxes and Passwords

5.7.1 The focus event

5.7.2 Validating Form Input

5.8 The DOM 2 Event Model

5.8.1 Event Propagation

5.8.2 Event Handler Registration

5.8.3 An Example of the DOM 2 Event Model

5.9 The navigator Object

5.10 Summary

5.11 Review Questions

5.12 Exercises

Chapter 6: Dynamic Documents with JavaScript

6.1 Introduction

6.2 Element Positioning

6.2.1 Absolute Positioning

6.2.2 Relative Positioning

6.2.3 Static Positioning

6.3 Moving Elements

6.4 Element Visibility

6.5 Changing Colors and Fonts

6.5.1 Changing Colors

6.5.2 Changing Fonts

6.6 Dynamic Content

6.7 Stacking Elements

6.8 Locating the Mouse Cursor

6.9 Reacting to a Mouse Click

6.10 Slow Movement of Elements

6.11 Dragging and Dropping Elements

6.12 Summary

6.13 Review Questions

6.14 Exercises

Chapter 7: Java Applets

7.1 Introduction

7.2 The Primary Applet Activities

7.3 The paintComponent Method

7.4 The <object> Tag

7.5 Applet Parameters

7.6 Simple Graphics

7.6.1 The Coordinate System

7.6.2 Lines

7.6.3 Rectangles

7.6.4 Polygons

7.6.5 Ovals

7.7 Color

7.8 Interactive Applets

7.8.1 Java Swing GUI Components

7.8.2 The Java Event Model

7.9 Summary

7.10 Review Questions

7.11 Exercises

Chapter 8: Introduction to XML

8.1 Introduction

8.2 The Syntax of XML

8.3 XML Document Structure

8.4 Document Type Definitions

8.4.1 Declaring Elements

8.4.2 Declaring Attributes

8.4.3 Declaring Entitites

8.4.4 A Sample DTD

8.4.5 Internal and External DTDs

8.5 Namespaces

 

8.6 XML Schemas

8.6.1 Schema Fundamentals

8.6.2 Defining a Schema

8.6.3 Defining a Schema Instance

8.6.4 An Overview of Data Types

8.6.5 Simple Types

8.6.6 Complex Types

8.6.7 Validating Instances of Schemas

8.7 Displaying Raw XML Documents

8.8 Displaying XML Documents with CSS

8.9 XSLT Style Sheets

8.9.1 Overview of XSLT

8.9.2 XSL Transformations for Presentation

8.10 XML Processors

8.10.1 The Purposes of XML Processors

8.10.2 The SAX Approach

8.10.3 The DOM Approach

8.11 Web Services

8.12 Summary

 

8.13 Review Questions

8.14 Exercises

Chapter 9: The Basics of Perl

9.1 Origins and Uses of Perl

9.2 Scalars and Their Operations

9.2.1 Numerics and String Literals

9.2.2 Scalar Variables

9.2.3 Numeric Operators

9.2.4 String Operations

9.2.5 String Functions

9.3 Assignment Statements and Simple Input and Output

9.3.1 Assignment Statements

9.3.2 Keyboard Input

9.3.3 Screen Output

9.4 Control Statements

9.4.1 Control Expressions

9.4.2 Selection and Loop Statements

9.5 Fundamentals of Arrays

9.5.1 List Literals

9.5.2 Arrays

9.5.3 The foreach Statement

9.5.4 Built In Functions for Arrays and Lists

9.5.5 An Example

9.6 Hashes

9.7 References

9.8 Functions

9.8.1 Fundamentals

9.8.2 Local Variables

9.8.3 Parameters

9.8.4 The sort Function, Revisited

9.8.5 An Example

9.9 Pattern Matching

9.9.1 The Basics of Patterns and Pattern Matching

9.9.2 Remembering Matches

9.9.3 Substitutions

9.9.4 The Transliterate Operator

9.10 File Input and Output

9.11 An Example

9.12 Summary

9.13 Review Questions

9.14 Exercises

Chapter 10: Using Perl for CGI Programming

10.1 The Common Gateway Interface

10.2 CGI Linkage

10.3 Query String Format

10.4 The CGI.pm Module

10.4.1 Common CGI.pm Functions

10.4.2 A Complete Form Example

10.5 A Survey Example

10.6 Cookies

10.7 Summary

10.8 Review Questions

10.9 Exercises

Chapter 11: Servlets and Java Server Pages

11.1 Overview of Servlets

11.2 Servlet Details

11.3 A Survey Example

11.4 Storing Information on Clients

11.4.1 Cookies

11.4.2 Session Tracking

11.5 Java Server Pages

11.5.1 Motivations for JSP

11.5.2 JSP Documents

11.5.3 Scriptlets

11.5.4 Expression Language

11.5.5 JSTL Control Action Elements

11.6 Summary

11.7 Review Questions

11.8 Exercises

Chapter 12: Introduction to PHP

12.1 Origins and Uses of PHP

12.2 Overview of PHP

12.3 General Syntactic Characteristics

12.4 Primitives, Operations, and Expressions

12.4.1 Variables

12.4.2 Integer Type

12.4.3 Double Type

12.4.4 String Type

12.4.5 Boolean Type

12.4.6 Arithmetic Operators and Expressions

12.4.7 String Operations

12.4.8 Scalar Type Conversions

12.4.9 Assignment Operators

12.5 Output

12.6 Control Statements

12.6.1 Relational Operators

12.6.2 Boolean Operators

12.6.3 Selection Statements

12.6.4 Loop Statements

12.6.5 Alternative Compound Delimiters

12.6.6 An Example

12.7 Arrays

12.7.1 Array Creation

12.7.2 Accessing Array Elements

12.7.3 Dealing with Arrays

12.7.4 Sequential Access To Array Elements

12.7.5 Sorting Arrays

12.8 Functions

12.8.1 General Characterstics of Functions

12.8.2 Parameters

12.8.3 The Scope of Variables

12.8.4 The LIfetime of Variables

12.9 Pattern Matching

12.10 Form Handling

12.11 Files

12.11.1 Opening and Closing Files

12.11.2 Reading from a File

12.11.3 Writing to a File

12.11.4 Locking Files

12.12 Cookies

12.13 Session Tracking

12.14 Summary

12.15 Review Questions

12.16 Exercises

Chapter 13: Introduction to ASP.NET

13.1 Overview of the .NET Framework

13.1.1 Background

13.1.2 The Common Language Runtime (CLR)

13.1.3 .NET Languages

13.1.4 The Common Language Infrastructure (CLI)

13.2 Overview of C#

13.2.1 Origins

13.2.2 Primitive Types and Expressions

13.2.3 Data Structures

13.2.4 Control Statements

13.2.5 Classes Methods and Structures

13.2.6 Properties

13.2.7 Delegates

13.2.8 Program Structure

13.2.9 File Storage For Programs

13.3 Introduction to ASP.NET

13.3.1 The Basics

13.3.2 ASP.NET Documents

13.3.3 Code-Behind Files

13.4 ASP.NET Controls

13.4.1 HTML Controls

13.4.2 Life Cycle of a Simple ASP.NET Document

13.4.3 Page-Level Events

13.4.4 Control Events

13.4.5 Web Controls

13.4.6 Creating Control Elements with Code

13.4.7 Response Output for Controls

13.4.8 An Example

13.4.9 Validation Controls

13.5 Web Services

13.5.1 Constructing Web Services

13.5.2 Advertising Web Services

13.6 Summary

 

13.7 Review Questions

 

13.8 Exercises

 

Chapter 14: Database Access through the Web

14.1 Relational Databases

14.2 An Introduction to the Structured Query Language

14.2.1 The CREATE TABLE SQL Command

14.2.2 The INSERT SQL Command

14.2.3 The SELECT SQL Command

14.2.4 The UPDATE SQL Command

14.2.5 The DELETE SQL Command

14.2.6 The DROP SQL Command

14.2.7 Joins

14.3 Architectures for Database Access

14.3.1 Client/Server Architecture

14.3.2 Database Access with Embedded SQL

14.3.3 The Microsoft Access Architecture

14.3.4 The Perl DBI/DBD Architecture

14.3.5 PHP and Database Access

14.3.6 The Java JDBC Architecture

14.4 The MySQL Database System

14.5 Database Access with Perl and MySQL

14.5.1 The DBI Module

14.5.2 An Example

14.6 Database Access with PHP and MySQL

14.6.1 Potential Problems with Special Characters

14.6.2 Connecting to MySQL and Selecting a Database

14.6.3 Requesting MySQL Operations

14.6.4 A PHP/MySQL Example

14.7 Database Access with JDBC and MySQL

14.7.1 Approaches to Using JDBC Outside the Web

14.7.2 JDBC and MySQL

14.7.3 A Complete JDBC/MySQL Example

14.7.4 Metadata

14.7.5 JDBC and Servlets

14.8 Summary

 

14.9 Review Questions

 

14.10 Exercises

 

Appendix A: Introduction to Java

A.1 Overview of Java

A.2 Data Types and Structures

A.3 Classes, Objects, and Methods

A.4 Interfaces

A.5 Exception Handling

A.5.1 Classes of Exceptions

A.5.2 Exception Handlers

A.5.3 Binding Exception to Handlers

A.5.4 Exception Propogation

A.5.5 The throws clause

A.5.6 An Example

A.6 Summary


Valid XHTML 1.1 Valid CSS!