You are previewing Internet & World Wide Web: How to Program, Fourth Edition.
O'Reilly logo
Internet & World Wide Web: How to Program, Fourth Edition

Book Description

Internet and World Wide Web How to Program, 4e  by market leading authors, Harvey M. Deitel and Paul J. Deitel introduces readers with little or no programming experience to the exciting world of Web-Based applications.  This book has been substantially revised to reflect today's Web 2.0 rich Internet application-development methodologies.  A comprehensive book that covers the fundamentals needed to program on the Internet, this book provides in-depth coverage of introductory programmming principles, various markup languages (XHTML, Dynamic HTML and XML), several scripting languages (JavaScript, PHP, Ruby/Ruby on Rails and Perl); AJAX, web services, Web Servers (IIS and Apache) and relational databases (MySQL/Apache Derby/Java DB) -- all the skills and tools needed to create dynamic Web-based applications.  The book contains comprehensive introductions to ASP.NET 2.0 and JavaServer Faces (JSF) and a new chapter on Adobe Flex 2.0.  Hundreds of live-code examples of real applications are throughout the book.  The examples are downloadable from the Deitel website once registered and logged in and allow readers to run the applications and see and hear the outputs.  The book provides instruction on building Ajax-enabled rich Internet applications that enhance the presentation of online content and give web applications the look and feel of desktop applications.  The chapter on Web 2.0 and Internet business exposes readers to a wide range of other topics associated with Web 2.0 applications and businesses  After mastering the material in this book, readers will be well prepared to build real-world, industrial strength, Web-based applications. For Internet and Web-based computer programmers, and others in organizations and businesses who need to develop their own Websites and pages.

Table of Contents

  1. Copyright
    1. Dedication
  2. Deitel® Series Page
    1. How To Program Series
    2. Simply Series
    3. SafariX Web Books
  3. Deitel Resource Centers
  4. Preface
    1. New and Updated Features
    2. Dependency Chart
    3. Teaching Approach
    4. Student Resources Included with Internet & World Wide Web How to Program, 4/e
    5. Instructor Resources for Internet & World Wide Web How to Program, 4/e
    6. Deitel® Buzz Online Free E-mail Newsletter
    7. The Deitel Online Resource Centers
  5. Acknowledgments
    1. Internet & World Wide Web How to Program, 4/e Reviewers
    2. Internet & World Wide Web How to Program, 3/e Reviewers
  6. About the Authors
  7. About Deitel & Associates, Inc.
  8. Before You Begin
    1. Downloading the Internet & World Wide Web How to Program, 4/e Source Code
    2. Web Browsers Used in This Book
  9. 1. Introduction
    1. 1. Introduction to Computers and the Internet
      1. 1.1. Introduction
        1. Architecture of Internet & World Wide Web How to Program, 4/e
      2. 1.2. What Is a Computer?
      3. 1.3. Computer Organization
      4. 1.4. Machine Languages, Assembly Languages and High-Level Languages
      5. 1.5. History of the Internet and World Wide Web
      6. 1.6. World Wide Web Consortium (W3C)
      7. 1.7. Web 2.0
      8. 1.8. Personal, Distributed and Client/Server Computing
      9. 1.9. Hardware Trends
      10. 1.10. Key Software Trend: Object Technology
      11. 1.11. JavaScript: Object-Based Scripting for the Web
      12. 1.12. Browser Portability
      13. 1.13. C, C++ and Java
        1. C
        2. C++
        3. Java
      14. 1.14. BASIC, Visual Basic, Visual C++, C# and .NET
      15. 1.15. Software Technologies
      16. 1.16. Notes about Internet & World Wide Web How to Program, 4/e
      17. 1.17. Web Resources
      18. Summary
        1. Section 1.1 Introduction
        2. Section 1.2 What Is a Computer?
        3. Section 1.3 Computer Organization
        4. Section 1.4 Machine Languages, Assembly Languages and High-Level Languages
        5. Section 1.5 History of the Internet and World Wide Web
        6. Section 1.6 World Wide Web Consortium (W3C)
        7. Section 1.7 Web 2.0
        8. Section 1.8 Personal, Distributed and Client/Server Computing
        9. Section 1.9 Hardware Trends
        10. Section 1.10 Key Software Trend: Object Technology
        11. Section 1.11 JavaScript: Object-Based Scripting for the Web
        12. Section 1.12 Browser Portability
        13. Section 1.13 C, C++ and Java
        14. Section 1.14 BASIC, Visual Basic, Visual C++, C# and .NET
        15. Section 1.15 Software Technologies
      19. Terminology
      20. Self-Review Exercises
      21. Answers to Self-Review Exercises
      22. Exercises
    2. 2. Web Browser Basics: Internet Explorer and Firefox
      1. 2.1. Introduction to the Internet Explorer 7 and Firefox 2 Web Browsers
      2. 2.2. Connecting to the Internet
      3. 2.3. Internet Explorer 7 and Firefox 2 Features
        1. Hyperlinks
        2. Tabbed Browsing
        3. Using the History Feature
        4. AutoComplete
        5. Off-Line Browsing
        6. Downloads
        7. Viewing Source Code
      4. 2.4. Customizing Browser Settings
      5. 2.5. Searching the Internet
      6. 2.6. Keeping Track of Your Favorite Sites
      7. 2.7. File Transfer Protocol (FTP)
      8. 2.8. Online Help
      9. 2.9. Other Web Browsers
      10. 2.10. Wrap-Up
      11. 2.11. Web Resources
      12. Summary
        1. Section 2.1 Introduction to the Internet Explorer 7 and Firefox 2 Web Browsers
        2. Section 2.2 Connecting to the Internet
        3. Section 2.3 Internet Explorer 7 and Firefox 2 Features
        4. Section 2.4 Customizing Browser Settings
        5. Section 2.5 Searching the Internet
        6. Section 2.6 Keeping Track of Your Favorite Sites
        7. Section 2.7 File Transfer Protocol (FTP)
        8. Section 2.8 Online Help
        9. Section 2.9 Other Web Browsers
      13. Terminology
      14. Self-Review Exercises
      15. Answers to Self-Review Exercises
      16. Exercises
    3. 3. Dive Into® Web 2.0
      1. 3.1. Introduction
      2. 3.2. What Is Web 2.0?
      3. 3.3. Search
        1. Attention Economy
        2. Google Search
        3. Yahoo!
        4. MSN
        5. Ask
        6. Vertical Search
        7. Location-Based Search
        8. Creating Customized Search Engines
        9. Search Engine Optimization (SEO)
        10. Link Building
        11. Search Engine Marketing (SEM)
        12. Search Engine Watch and Search Engine Land
        13. Search Engine Strategies Conferences
        14. Discovery
      4. 3.4. Content Networks
      5. 3.5. User-Generated Content
        1. Collective Intelligence
        2. Wikis
        3. Collaborative Filtering
        4. Craigslist
        5. Wisdom of Crowds
      6. 3.6. Blogging
        1. History of Blogging
        2. Blog Components
        3. Blogging and Journalism
        4. Growth of Blogging
        5. Blogging and RSS Feeds
        6. Blogging Software
        7. Blog Networks
        8. Blog Search Engines
      7. 3.7. Social Networking
        1. Network Effects
        2. Friendster
        3. MySpace
        4. Facebook
        5. LinkedIn
        6. Xing
        7. Second Life
        8. Gaia Online
        9. Mobile Social Networking
      8. 3.8. Social Media
        1. YouTube
        2. Internet TV
        3. Digg
        4. Last.fm
        5. Digital Rights Management (DRM)
        6. Podcasting
      9. 3.9. Tagging
        1. History of Tagging
        2. Tag Clouds
        3. Folksonomies
        4. Flickr
        5. Technorati
      10. 3.10. Social Bookmarking
        1. del.icio.us
        2. Ma.gnolia
      11. 3.11. Software Development
        1. The Webtop
        2. Software as a Service (SaaS)
        3. Perpetual Beta and Agile Development
        4. Open Source
        5. Licensing: GNU Licenses and Creative Commons
      12. 3.12. Rich Internet Applications (RIAs)
        1. Ajax
        2. Dojo
        3. Flex
        4. Silverlight
        5. JavaFX
        6. Ruby on Rails
        7. Script.aculo.us
        8. JavaServer Faces
        9. ASP.NET Ajax
        10. Adobe Integrated Runtime and Google Gears
      13. 3.13. Web Services, Mashups, Widgets and Gadgets
        1. APIs
        2. Mashups
        3. Widgets and Gadgets
        4. Amazon Web Services
        5. REST (Representational State Transfer)-Based Web Services
      14. 3.14. Location-Based Services
        1. Global Positioning System (GPS)
        2. Mapping Services
        3. GeoRSS and Geotagging
      15. 3.15. XML, RSS, Atom, JSON and VoIP
        1. XML
        2. RSS and Atom
        3. JSON
        4. VoIP
      16. 3.16. Web 2.0 Monetization Models
      17. 3.17. Web 2.0 Business Models
      18. 3.18. Future of the Web
        1. Tagging and Folksonomies
        2. Semantic Web
        3. Microformats
        4. Resource Description Framework (RDF)
        5. Ontologies
        6. Closing Comment
      19. 3.19. Wrap-Up
      20. 3.20. Where to Go for More Web 2.0 Information
      21. 3.21. Web 2.0 Bibliography
        1. General Web 2.0
        2. Search
        3. User-Generated Content
        4. Blogging
        5. Social Networking
        6. Social Media
        7. Tagging
        8. Social Bookmarking
        9. Software Development
        10. Rich Internet Applications
        11. Web Services and Mashups
        12. Location-Based Services
        13. XML, RSS, Atom, JSON and VoIP
        14. Internet Business
        15. Semantic Web
      22. 3.22. Web 2.0 Glossary
      23. Self-Review Exercises
      24. Answers to Self-Review Exercises
      25. Exercises
  10. 2. The Ajax Client
    1. 4. Introduction to XHTML
      1. 4.1. Introduction
      2. 4.2. Editing XHTML
      3. 4.3. First XHTML Example
      4. 4.4. W3C XHTML Validation Service
      5. 4.5. Headings
      6. 4.6. Linking
        1. Hyperlinking to an E-Mail Address
      7. 4.7. Images
        1. Using Images as Hyperlinks
      8. 4.8. Special Characters and Horizontal Rules
      9. 4.9. Lists
        1. Nested Lists
      10. 4.10. Tables
        1. Using rowspan and colspan
      11. 4.11. Forms
        1. Additional Form Elements
      12. 4.12. Internal Linking
      13. 4.13. meta Elements
      14. 4.14. Wrap-Up
      15. 4.15. Web Resources
      16. Summary
        1. Section 4.1 Introduction
        2. Section 4.2 Editing XHTML
        3. Section 4.3 First XHTML Example
        4. Section 4.4 W3C XHTML Validation Service
        5. Section 4.5 Headings
        6. Section 4.6 Linking
        7. Section 4.7 Images
        8. Section 4.8 Special Characters and Horizontal Rules
        9. Section 4.9 Lists
        10. Section 4.10 Tables
        11. Section 4.11 Forms
        12. Section 4.12 Internal Linking
        13. Section 4.13 meta Elements
      17. Terminology
      18. Self-Review Exercises
      19. Answers to Self-Review Exercises
      20. Exercises
    2. 5. Cascading Style Sheets™ (CSS)
      1. 5.1. Introduction
      2. 5.2. Inline Styles
      3. 5.3. Embedded Style Sheets
      4. 5.4. Conflicting Styles
      5. 5.5. Linking External Style Sheets
      6. 5.6. Positioning Elements
        1. Inline and Block-Level Elements
      7. 5.7. Backgrounds
      8. 5.8. Element Dimensions
      9. 5.9. Box Model and Text Flow
      10. 5.10. Media Types
      11. 5.11. Building a CSS Drop-Down Menu
      12. 5.12. User Style Sheets
      13. 5.13. CSS 3
      14. 5.14. Wrap-Up
      15. 5.15. Web Resources
      16. Summary
        1. Section 5.2 Inline Styles
        2. Section 5.3 Embedded Style Sheets
        3. Section 5.4 Conflicting Styles
        4. Section 5.5 Linking External Style Sheets
        5. Section 5.6 Positioning Elements
        6. Section 5.7 Backgrounds
        7. Section 5.8 Element Dimensions
        8. Section 5.9 Box Model and Text Flow
        9. Section 5.10 Media Types
        10. Section 5.11 Building a CSS Drop-Down Menu
        11. Section 5.12 User Style Sheets
        12. Section 5.13 CSS 3
      17. Terminology
      18. Self-Review Exercises
      19. Answers to Self-Review Exercises
      20. Exercises
    3. 6. JavaScript: Introduction to Scripting
      1. 6.1. Introduction
      2. 6.2. Simple Program: Displaying a Line of Text in a Web Page
      3. 6.3. Modifying Our First Program
        1. Displaying a Line of Colored Text
        2. Displaying Multiple Lines of Text
        3. Displaying Text in an Alert Dialog
      4. 6.4. Obtaining User Input with prompt Dialogs
        1. 6.4.1. Dynamic Welcome Page
        2. 6.4.2. Adding Integers
      5. 6.5. Memory Concepts
        1. Data Types in JavaScript
      6. 6.6. Arithmetic
      7. 6.7. Decision Making: Equality and Relational Operators
      8. 6.8. Wrap-Up
      9. 6.9. Web Resources
      10. Summary
        1. Section 6.1 Introduction
        2. Section 6.2 Simple Program: Displaying a Line of Text in a Web Page
        3. Section 6.3 Modifying Our First Program
        4. Section 6.4 Obtaining User Input with prompt Dialogs
        5. Section 6.5 Memory Concepts
        6. Section 6.6 Arithmetic
        7. Section 6.7 Decision Making: Equality and Relational Operators
      11. Terminology
      12. Self-Review Exercises
      13. Answers to Self-Review Exercises
      14. Exercises
    4. 7. JavaScript: Control Statements I
      1. 7.1. Introduction
      2. 7.2. Algorithms
      3. 7.3. Pseudocode
      4. 7.4. Control Structures
      5. 7.5. if Selection Statement
      6. 7.6. if...else Selection Statement
      7. 7.7. while Repetition Statement
      8. 7.8. Formulating Algorithms: Counter-Controlled Repetition
      9. 7.9. Formulating Algorithms: Sentinel-Controlled Repetition
      10. 7.10. Formulating Algorithms: Nested Control Statements
      11. 7.11. Assignment Operators
      12. 7.12. Increment and Decrement Operators
      13. 7.13. Wrap-Up
      14. 7.14. Web Resources
      15. Summary
        1. Section 7.2 Algorithms
        2. Section 7.3 Pseudocode
        3. Section 7.4 Control Structures
        4. Section 7.5 if Selection Statement
        5. Section 7.6 if...else Selection Statement
        6. Section 7.7 while Repetition Statement
        7. Section 7.8 Formulating Algorithms: Counter-Controlled Repetition
        8. Section 7.9 Formulating Algorithms: Sentinel-Controlled Repetition
        9. Section 7.10 Formulating Algorithms: Nested Control Statements
        10. Section 7.11 Assignment Operators
        11. Section 7.12 Increment and Decrement Operators
      16. Terminology
      17. Self-Review Exercises
      18. Answers to Self-Review Exercises
      19. Exercises
    5. 8. JavaScript: Control Statements II
      1. 8.1. Introduction
      2. 8.2. Essentials of Counter-Controlled Repetition
      3. 8.3. for Repetition Statement
      4. 8.4. Examples Using the for Statement
      5. 8.5. switch Multiple-Selection Statement
      6. 8.6. do...while Repetition Statement
      7. 8.7. break and continue Statements
      8. 8.8. Labeled break and continue Statements
      9. 8.9. Logical Operators
      10. 8.10. Summary of Structured Programming
      11. 8.11. Wrap-Up
      12. 8.12. Web Resources
      13. Summary
        1. Section 8.2 Essentials of Counter-Controlled Repetition
        2. Section 8.3 for Repetition Statement
        3. Section 8.4 Examples Using the for Statement
        4. Section 8.5 switch Multiple-Selection Statement
        5. Section 8.6 do...while Repetition Statement
        6. Section 8.7 break and continue Statements
        7. Section 8.8 Labeled break and continue Statements
        8. Section 8.9 Logical Operators
      14. Terminology
      15. Self-Review Exercises
      16. Answers to Self-Review Exercises
      17. Exercises
    6. 9. JavaScript: Functions
      1. 9.1. Introduction
      2. 9.2. Program Modules in JavaScript
      3. 9.3. Programmer-Defined Functions
      4. 9.4. Function Definitions
        1. Programmer-Defined Function square
        2. Programmer-Defined Function maximum
      5. 9.5. Random Number Generation
      6. 9.6. Example: Game of Chance
      7. 9.7. Another Example: Random Image Generator
      8. 9.8. Scope Rules
      9. 9.9. JavaScript Global Functions
      10. 9.10. Recursion
      11. 9.11. Recursion vs. Iteration
      12. 9.12. Wrap-Up
      13. 9.13. Web Resources
      14. Summary
        1. Section 9.1 Introduction
        2. Section 9.2 Program Modules in JavaScript
        3. Section 9.3 Programmer-Defined Functions
        4. Section 9.4 Function Definitions
        5. Section 9.5 Random Number Generation
        6. Section 9.6 Example: Game of Chance
        7. Section 9.7 Another Example: Random Image Generator
        8. Section 9.8 Scope Rules
        9. Section 9.9 JavaScript Global Functions
        10. Section 9.10 Recursion
        11. Section 9.11 Recursion vs. Iteration
      15. Terminology
      16. Self-Review Exercises
      17. Answers to Self-Review Exercises
      18. Exercises
    7. 10. JavaScript: Arrays
      1. 10.1. Introduction
      2. 10.2. Arrays
      3. 10.3. Declaring and Allocating Arrays
      4. 10.4. Examples Using Arrays
        1. Creating and Initializing Arrays
        2. Initializing Arrays with Initializer Lists
        3. Summing the Elements of an Array with for and for ... in
        4. Using the Elements of an Array as Counters
      5. 10.5. Random Image Generator Using Arrays
      6. 10.6. References and Reference Parameters
      7. 10.7. Passing Arrays to Functions
      8. 10.8. Sorting Arrays
      9. 10.9. Searching Arrays: Linear Search and Binary Search
        1. Searching an Array with Linear Search
        2. Searching an Array with Binary Search
      10. 10.10. Multidimensional Arrays
        1. Arrays of One-Dimensional Arrays
        2. Two-Dimensional Arrays with Rows of Different Lengths
        3. Creating Two-Dimensional Arrays with new
        4. Two-Dimensional Array Example: Displaying Element Values
        5. Common Multidimensional-Array Manipulations with for and for...in Statements
      11. 10.11. Building an Online Quiz
      12. 10.12. Wrap-Up
      13. 10.13. Web Resources
      14. Summary
        1. Section 10.1 Introduction
        2. Section 10.2 Arrays
        3. Section 10.3 Declaring and Allocating Arrays
        4. Section 10.4 Examples Using Arrays
        5. Section 10.5 Random Image Generator Using Arrays
        6. Section 10.6 References and Reference Parameters
        7. Section 10.7 Passing Arrays to Functions
        8. Section 10.8 Sorting Arrays
        9. Section 10.9 Searching Arrays: Linear Search and Binary Search
        10. Section 10.10 Multidimensional Arrays
        11. Section 10.11 Building an Online Quiz
      15. Terminology
      16. Self-Review Exercises
      17. Answers to Self-Review Exercises
      18. Exercises
    8. 11. JavaScript: Objects
      1. 11.1. Introduction
      2. 11.2. Introduction to Object Technology
        1. Basic Object-Technology Concepts
        2. Classes, Properties and Methods
      3. 11.3. Math Object
      4. 11.4. String Object
        1. 11.4.1. Fundamentals of Characters and Strings
        2. 11.4.2. Methods of the String Object
        3. 11.4.3. Character-Processing Methods
        4. 11.4.4. Searching Methods
        5. 11.4.5. Splitting Strings and Obtaining Substrings
        6. 11.4.6. XHTML Markup Methods
      5. 11.5. Date Object
      6. 11.6. Boolean and Number Objects
      7. 11.7. document Object
      8. 11.8. window Object
      9. 11.9. Using Cookies
      10. 11.10. Final JavaScript Example
        1. The Quiz Page
      11. 11.11. Using JSON to Represent Objects
      12. 11.12. Wrap-Up
      13. 11.13. Web Resources
      14. Summary
        1. Section 11.1 Introduction
        2. Section 11.2 Introduction to Object Technology
        3. Section 11.3 Math Object
        4. Section 11.4 String Object
        5. Section 11.5 Date Object
        6. Section 11.6 Boolean and Number Objects
        7. Section 11.7 document Object
        8. Section 11.8 window Object
        9. Section 11.9 Using Cookies
        10. Section 11.10 Final JavaScript Example
        11. Section 11.11 Using JSON to Represent Objects
      15. Terminology
      16. Self-Review Exercise
      17. Answers to Self-Review Exercise
      18. Exercises
      19. Special Section: Challenging String-Manipulation Exercises
    9. 12. Document Object Model (DOM): Objects and Collections
      1. 12.1. Introduction
      2. 12.2. Modeling a Document: DOM Nodes and Trees
      3. 12.3. Traversing and Modifying a DOM Tree
        1. Finding and Highlighting an Element Using getElementById and className
        2. Creating and Inserting Elements Using insertBefore and appendChild
        3. Replacing and Removing Elements Using replaceChild and removeChild
      4. 12.4. DOM Collections
      5. 12.5. Dynamic Styles
      6. 12.6. Summary of the DOM Objects and Collections
      7. 12.7. Wrap-Up
      8. 12.8. Web Resources
      9. Summary
        1. Section 12.1 Introduction
        2. Section 12.2 Modeling a Document: DOM Nodes and Trees
        3. Section 12.3 Traversing and Modifying a DOM Tree
        4. Section 12.4 DOM Collections
        5. Section 12.5 Dynamic Styles
        6. Section 12.6 Summary of the DOM Objects and Collections
      10. Terminology
      11. Self-Review Exercises
      12. Answers to Self-Review Exercises
      13. Exercises
    10. 13. JavaScript: Events
      1. 13.1. Introduction
      2. 13.2. Registering Event Handlers
      3. 13.3. Event onload
      4. 13.4. Event onmousemove, the event Object and this
      5. 13.5. Rollovers with onmouseover and onmouseout
      6. 13.6. Form Processing with onfocus and onblur
      7. 13.7. More Form Processing with onsubmit and onreset
      8. 13.8. Event Bubbling
      9. 13.9. More Events
      10. 13.10. Wrap-Up
      11. 13.11. Web Resources
      12. Summary
        1. Section 13.1 Introduction
        2. Section 13.2 Registering Event Handlers
        3. Section 13.3 Event onload
        4. Section 13.4 Event onmousemove, the event Object and this
        5. Section 13.5 Rollovers with onmouseover and onmouseout
        6. Section 13.6 Form Processing with onfocus and onblur
        7. Section 13.7 More Form Processing with onsubmit and onreset
        8. Section 13.8 Event Bubbling
      13. Terminology
      14. Self-Review Exercises
      15. Answers to Self-Review Exercises
      16. Exercises
    11. 14. XML and RSS
      1. 14.1. Introduction
      2. 14.2. XML Basics
        1. Viewing and Modifying XML Documents
        2. Processing XML Documents
        3. Validating XML Documents
        4. Formatting and Manipulating XML Documents
      3. 14.3. Structuring Data
        1. XML Markup for an Article
        2. Viewing an XML Document in Internet Explorer and Firefox
        3. XML Markup for a Business Letter
      4. 14.4. XML Namespaces
        1. Differentiating Elements with Namespaces
        2. Specifying a Default Namespace
        3. Namespaces in XML Vocabularies
      5. 14.5. Document Type Definitions (DTDs)
        1. Creating a Document Type Definition
        2. Defining Elements in a DTD
        3. Defining Attributes in a DTD
        4. Character Data vs. Parsed Character Data
        5. Defining Empty Elements in a DTD
        6. Well-Formed Documents vs. Valid Documents
      6. 14.6. W3C XML Schema Documents
        1. Validating Against an XML Schema Document
        2. Creating an XML Schema Document
        3. Defining an Element in XML Schema
        4. A Closer Look at Types in XML Schema
      7. 14.7. XML Vocabularies
        1. 14.7.1. MathML™
          1. Simple Equation in MathML
          2. Algebraic Equation in MathML
          3. Calculus Expression in MathML
        2. 14.7.2. Other Markup Languages
      8. 14.8. Extensible Stylesheet Language and XSL Transformations
        1. A Simple XSL Example
        2. Using XSLT to Sort and Format Data
        3. Summary of XSL Style-Sheet Elements
      9. 14.9. Document Object Model (DOM)
        1. Overview of the body Element
        2. Global Script Variables
        3. Function loadXMLDocument
        4. Function buildHTML
        5. Function displayDoc
        6. Functions processFirstChild and processLastChild
        7. Functions processNextSibling and processPreviousSibling
        8. Function processParentNode
        9. Common DOM Properties
        10. Locating Data in XML Documents with XPath
      10. 14.10. RSS
        1. RSS 2.0 channel and item Elements
        2. Browsers and RSS Feeds
        3. Creating a Feed Aggregator
        4. Determining the Browser Type and Loading the Documents
        5. Transforming the RSS to XHTML
        6. Displaying the XHTML Markup
      11. 14.11. Wrap-Up
      12. 14.12. Web Resources
      13. Summary
        1. Section 14.1 Introduction
        2. Section 14.2 XML Basics
        3. Section 14.3 Structuring Data
        4. Section 14.4 XML Namespaces
        5. Section 14.5 Document Type Definitions (DTDs)
        6. Section 14.6 W3C XML Schema Documents
        7. Section 14.7 XML Vocabularies
        8. Section 14.8 Extensible Stylesheet Language and XSL Transformations
        9. Section 14.9 Document Object Model (DOM)
        10. Section 14.10 RSS
      14. Terminology
      15. Self-Review Exercises
      16. Answers to Self-Review Exercises
      17. Exercises
    12. 15. Ajax-Enabled Rich Internet Applications
      1. 15.1. Introduction
      2. 15.2. Traditional Web Applications vs. Ajax Applications
        1. Traditional Web Applications
        2. Ajax Web Applications
      3. 15.3. Rich Internet Applications (RIAs) with Ajax
      4. 15.4. History of Ajax
      5. 15.5. “Raw” Ajax Example Using the XMLHttpRequest Object
        1. Asynchronous Requests
        2. Exception Handling
        3. Callback Functions
        4. XMLHttpRequest Object Properties and Methods
      6. 15.6. Using XML and the DOM
      7. 15.7. Creating a Full-Scale Ajax-Enabled Application
        1. Using JSON
        2. Rich Functionality
        3. Interacting with a Web Service on the Server
        4. Parsing JSON Data
        5. Creating XHTML Elements and Setting Event Handlers on the Fly
        6. Implementing Type-Ahead
        7. Implementing a Form with Asynchronous Validation
      8. 15.8. Dojo Toolkit
        1. Loading Dojo Packages
        2. Using an Existing Dojo Widget
        3. Asynchronous Requests in Dojo
        4. Partial Page Updates Using Dojo’s Cross-Browser DOM Manipulation Capabilities
        5. Adding Edit-In-Place Functionality
      9. 15.9. Wrap-Up
      10. 15.10. Web Resources
      11. Summary
        1. Section 15.1 Introduction
        2. Section 15.2 Traditional Web Applications vs. Ajax Applications
        3. Section 15.3 Rich Internet Applications (RIAs) with Ajax
        4. Section 15.4 History of Ajax
        5. Section 15.5 “Raw” Ajax Example using the XMLHttpRequest Object
        6. Section 15.6 Using XML and the DOM
        7. Section 15.7 Creating a Full-Scale Ajax-Enabled Application
        8. Section 15.8 Dojo Toolkit
      12. Terminology
      13. Self-Review Exercises
      14. Answers to Self-Review Exercises
      15. Exercises
  11. 3. Rich Internet Application Client Technologies
    1. 16. Adobe® Flash® CS3
      1. 16.1. Introduction
      2. 16.2. Flash Movie Development
      3. 16.3. Learning Flash with Hands-On Examples
        1. 16.3.1. Creating a Shape with the Oval Tool
        2. 16.3.2. Adding Text to a Button
        3. 16.3.3. Converting a Shape into a Symbol
        4. 16.3.4. Editing Button Symbols
        5. 16.3.5. Adding Keyframes
        6. 16.3.6. Adding Sound to a Button
        7. 16.3.7. Verifying Changes with Test Movie
        8. 16.3.8. Adding Layers to a Movie
        9. 16.3.9. Animating Text with Tweening
        10. 16.3.10. Adding a Text Field
        11. 16.3.11. Adding ActionScript
      4. 16.4. Publishing Your Flash Movie
      5. 16.5. Creating Special Effects with Flash
        1. 16.5.1. Importing and Manipulating Bitmaps
        2. 16.5.2. Creating an Advertisement Banner with Masking
        3. 16.5.3. Adding Online Help to Forms
      6. 16.6. Creating a Website Splash Screen
      7. 16.7. ActionScript
      8. 16.8. Wrap-Up
      9. 16.9. Web Resources
      10. Summary
        1. Section 16.1 Introduction
        2. Section 16.2 Flash Movie Development
        3. Section 16.3 Learning Flash with Hands-On Examples
        4. Section 16.3.1 Creating a Shape with the Oval Tool
        5. Section 16.3.2 Adding Text to a Button
        6. Section 16.3.3 Converting a Shape into a Symbol
        7. Section 16.3.4 Editing Button Symbols
        8. Section 16.3.5 Adding Keyframes
        9. Section 16.3.6 Adding Sound to a Button
        10. Section 16.3.7 Verifying Changes with Test Movie
        11. Section 16.3.8 Adding Layers to a Movie
        12. Section 16.3.9 Animating Text with Tweening
        13. Section 16.3.10 Adding a Text Field
        14. Section 16.3.11 Adding ActionScript
        15. Section 16.4 Publishing Your Flash Movie
        16. Section 16.5.1 Importing and Manipulating Bitmaps
        17. Section 16.5.2 Creating an Advertisement Banner with Masking
        18. Section 16.5.3 Adding Online Help to Forms
        19. Section 16.6 Creating a Website Splash Screen
      11. Terminology
      12. Self-Review Exercises
      13. Answers to Self-Review Exercises
      14. Exercises
    2. 17. Adobe® Flash® CS3: Building an Interactive Game
      1. 17.1. Introduction
      2. 17.2. Object-Oriented Programming
      3. 17.3. Objects in Flash
      4. 17.4. Cannon Game: Preliminary Instructions and Notes
        1. Labeling Frames
        2. Using the Actions Layer
      5. 17.5. Adding a Start Button
      6. 17.6. Creating Moving Objects
        1. Adding the Target
        2. Adding the Blocker
      7. 17.7. Adding the Rotating Cannon
        1. Coding the Cannon’s Rotation
        2. Hiding the Cannon Layer
      8. 17.8. Adding the Cannonball
        1. Initializing the Ball’s Motion Variables
        2. Scripting the Ball’s Motion
      9. 17.9. Adding Sound and Text Objects to the Movie
      10. 17.10. Adding the Time Counter
        1. Adding the Time Box
        2. Creating a Final Animation Sequence
      11. 17.11. Detecting a Miss
      12. 17.12. Adding Collision Detection
        1. Adding Collision Detection to the Target and Blocker
      13. 17.13. Finishing the Game
      14. 17.14. ActionScript 3.0 Elements Introduced in This Chapter
      15. Summary
        1. Section 17.1 Introduction
        2. Section 17.2 Object-Oriented Programming
        3. Section 17.3 Objects in Flash
        4. Section 17.4 Cannon Game: Preliminary Instructions and Notes
        5. Section 17.5 Adding a Start Button
        6. Section 17.6 Creating Moving Objects
        7. Section 17.7 Adding the Rotating Cannon
        8. Section 17.8 Adding the Cannonball
        9. Section 17.9 Adding Sound and Text Objects to the Movie
        10. Section 17.10 Adding the Time Counter
        11. Section 17.12 Adding Collision Detection
      16. Terminology
      17. Self-Review Exercises
      18. Answers to Self-Review Exercises
      19. Exercises
    3. 18. Adobe® Flex™ 2 and Rich Internet Applications
      1. 18.1. Introduction
      2. 18.2. Flex Platform Overview
      3. 18.3. Creating a Simple User Interface
        1. Compiling an Application
        2. Running a Flex Application in the Browser
        3. Embedding Images
        4. Using View States
      4. 18.4. Accessing XML Data from Your Application
        1. Search Function ActionScript
        2. Yahoo! Map ActionScript
        3. Button Event-Handling ActionScript
      5. 18.5. Interacting with Server-Side Applications
        1. ActionScript for Weather Application
      6. 18.6. Customizing Your User Interface
      7. 18.7. Creating Charts and Graphs
      8. 18.8. Connection-Independent RIAs on the Desktop: Adobe Integrated Runtime (AIR)
      9. 18.9. Flex 3 Beta
      10. 18.10. Wrap-Up
      11. 18.11. Web Resources
      12. Summary
        1. Section 18.1 Introduction
        2. Section 18.2 Flex Platform Overview
        3. Section 18.3 Creating a Simple User Interface
        4. Section 18.4 Accessing XML Data from Your Application
        5. Section 18.5 Interacting with Server-Side Applications
        6. Section 18.6 Customizing Your User Interface
        7. Section 18.7 Creating Charts and Graphs
        8. Section 18.8 Connection-Independent RIAs on the Desktop: Adobe Integrated Runtime (AIR)
        9. Section 18.9 Flex 3 Beta
      13. Terminology
      14. Self-Review Exercises
      15. Answers to Self-Review Exercises
      16. Exercises
    4. 19. Microsoft® Silverlight™ and Rich Internet Applications
      1. 19.1. Introduction
      2. 19.2. Platform Overview
      3. 19.3. Silverlight 1.0 Installation and Overview
      4. 19.4. Creating a Movie Viewer for Silverlight 1.0
        1. 19.4.1. Creating a User Interface In XAML Using Expression Blend
          1. Canvas Elements
        2. 19.4.2. Using Storyboards
        3. 19.4.3. Creating Controls
          1. Creating the Video Thumbnail Buttons
          2. Creating the Video Playback Control Buttons
          3. Creating the Volume and Timeline Controls
          4. Using a MediaElement to Display Audio/Video
          5. Creating Event Handlers in XAML
          6. Configuring the Event Handlers
          7. Registering Event Handlers in JavaScript
        4. 19.4.4. Using JavaScript for Event Handling and DOM Manipulation
          1. Handling Events and Accessing XAML Elements in JavaScript
          2. Creating a Timer
          3. Handling Button Events
          4. Adding a Full-Screen Feature
          5. Dynamically Changing XAML Layout
          6. Creating a Timeline for a MediaElement
          7. Controlling Volume of a MediaElement
      5. 19.5. Embedding Silverlight in HTML
      6. 19.6. Silverlight Streaming
        1. Encoding Your Video with Expression Media Encoder
        2. Uploading an Application to the Silverlight Streaming Service
      7. 19.7. Silverlight 1.1 Installation and Overview
      8. 19.8. Creating a Cover Viewer for Silverlight 1.1 Alpha
        1. Creating a Silverlight 1.1 Application in Visual Studio 2008
        2. Visual Basic Code-Behind File
      9. 19.9. Building an Application with Third-Party Controls
      10. 19.10. Consuming a Web Service
        1. Step 1: Opening the Add Web Reference Dialog
        2. Step 2: Locating Web Services on Your Computer
        3. Step 3: Adding the Web Reference
        4. Step 4: Viewing the Web Reference in the Solution Explorer
        5. 19.10.1. Consuming the HugeInteger Web Service
      11. 19.11. Silverlight Demos, Games and Web Resources
      12. 19.12. Wrap-Up
      13. Summary
        1. Section 19.1 Introduction
        2. Section 19.2 Platform Overview
        3. Section 19.3 Silverlight 1.0 Installation and Overview
        4. Section 19.4 Creating a Movie Viewer for Silverlight 1.0
        5. Section 19.4.1 Creating a User Interface In XAML Using Expression Blend
        6. Section 19.4.2 Using Storyboards
        7. Section 19.4.3 Creating Controls
        8. Section 19.4.4 Using JavaScript for Event Handling and DOM Manipulation
        9. Section 19.5 Embedding Silverlight in HTML
        10. Section 19.6 Silverlight Streaming
        11. Section 19.7 Silverlight 1.1 Installation and Overview
        12. Section 19.8 Creating a Cover Viewer for Silverlight 1.1 Alpha
        13. Section 19.9 Building an Application with Third-Party Controls
        14. Section 19.10 Consuming a Web Service
      14. Terminology
      15. Self-Review Exercises
      16. Answers to Self-Review Exercises
      17. Exercises
    5. 20. Adobe® Dreamweaver® CS3
      1. 20.1. Introduction
      2. 20.2. Adobe Dreamweaver CS3
      3. 20.3. Text Styles
        1. Creating Style Sheets
      4. 20.4. Images and Links
      5. 20.5. Symbols and Lines
      6. 20.6. Tables
      7. 20.7. Forms
      8. 20.8. Scripting in Dreamweaver
      9. 20.9. Spry Framework for Creating Ajax Applications
      10. 20.10. Site Management
      11. 20.11. Wrap-Up
      12. 20.12. Web Resources
      13. Summary
        1. Section 20.1 Introduction
        2. Section 20.2 Adobe Dreamweaver CS3
        3. Section 20.3 Text Styles
        4. Section 20.4 Images and Links
        5. Section 20.5 Symbols and Lines
        6. Section 20.6 Tables
        7. Section 20.7 Forms
        8. Section 20.8 Scripting in Dreamweaver
        9. Section 20.9 Spry Framework for Creating Ajax Applications
        10. Section 20.10 Site Management
      14. Terminology
      15. Self-Review Exercises
      16. Answers to Self-Review Exercises
      17. Exercises
  12. 4. Rich Internet Application Server Technologies
    1. 21. Web Servers (IIS and Apache)
      1. 21.1. Introduction
      2. 21.2. HTTP Transactions
        1. URIs
        2. Parts of a URL
        3. Making a Request and Receiving a Response
        4. HTTP Headers
        5. HTTP get and post Requests
        6. Client-Side Caching
      3. 21.3. Multitier Application Architecture
      4. 21.4. Client-Side Scripting versus Server-Side Scripting
      5. 21.5. Accessing Web Servers
        1. Windows Firewall Settings
      6. 21.6. Microsoft Internet Information Services (IIS)
        1. 21.6.1. Microsoft Internet Information Services (IIS) 5.1 and 6.0
        2. 21.6.2. Microsoft Internet Information Services (IIS) 7.0
      7. 21.7. Apache HTTP Server
      8. 21.8. Requesting Documents
      9. 21.9. Web Resources
      10. Summary
        1. Section 21.1 Introduction
        2. Section 21.2 HTTP Transactions
        3. Section 21.3 Multitier Application Architecture
        4. Section 21.4 Client-Side Scripting versus Server-Side Scripting
        5. Section 21.6 Microsoft Internet Information Services (IIS)
        6. Section 21.7 Apache HTTP Server
      11. Terminology
      12. Self-Review Exercises
      13. Answers to Self-Review Exercises
      14. Exercises
    2. 22. Database: SQL, MySQL, ADO.NET 2.0 and Java DB
      1. 22.1. Introduction
      2. 22.2. Relational Databases
      3. 22.3. Relational Database Overview: A books Database
      4. 22.4. SQL
        1. 22.4.1. Basic SELECT Query
        2. 22.4.2. WHERE Clause
        3. 22.4.3. ORDER BY Clause
        4. 22.4.4. Combining Data from Multiple Tables: INNER JOIN
        5. 22.4.5. INSERT Statement
        6. 22.4.6. UPDATE Statement
        7. 22.4.7. DELETE Statement
      5. 22.5. MySQL
      6. 22.6. Instructions for Installing MySQL
        1. Installing MySQL
      7. 22.7. Instructions for Setting Up a MySQL User Account
      8. 22.8. Creating a Database in MySQL
      9. 22.9. ADO.NET Object Model
        1. Namespaces System.Data, System.Data.OleDb and System.Data.SqlClient
        2. ADO.NET’s Disconnected Model
      10. 22.10. Java DB/Apache Derby
      11. 22.11. Wrap-Up
      12. 22.12. Web Resources
      13. Summary
        1. Section 22.1 Introduction
        2. Section 22.2 Relational Databases
        3. Section 22.4.1 Basic SELECT Query
        4. Section 22.4.2 WHERE Clause
        5. Section 22.4.3 ORDER BY Clause
        6. Section 22.4.4 Merging Data from Multiple Tables: INNER JOIN
        7. Section 22.4.5 INSERT Statement
        8. Section 22.4.6 UPDATE Statement
        9. Section 22.4.7 DELETE Statement
        10. Section 22.5 MySQL
        11. Section 22.9 ADO.NET Object Model
        12. Section 22.10 Java DB/Apache Derby
      14. Terminology
      15. Self-Review Exercise
      16. Answers to Self-Review Exercise
      17. Exercises
    3. 23. PHP
      1. 23.1. Introduction
      2. 23.2. PHP Basics
        1. Installing PHP
        2. Simple PHP Program
        3. Converting Between Data Types
        4. Arithmetic Operators
        5. Initializing and Manipulating Arrays
      3. 23.3. String Processing and Regular Expressions
        1. 23.3.1. Comparing Strings
        2. 23.3.2. Regular Expressions
          1. Searching for Expressions
          2. Representing Patterns
          3. Finding Matches
          4. Character Classes
          5. Finding Multiple Instances of a Pattern
      4. 23.4. Form Processing and Business Logic
        1. Superglobal Arrays
        2. Using PHP to Process XHTML Forms
      5. 23.5. Connecting to a Database
      6. 23.6. Using Cookies
        1. Writing Cookies
        2. Reading an Existing Cookie
      7. 23.7. Dynamic Content
      8. 23.8. Operator Precedence Chart
      9. 23.9. Wrap-Up
      10. 23.10. Web Resources
      11. Summary
        1. Section 23.1 Introduction
        2. Section 23.2 PHP Basics
        3. Section 23.3 String Processing and Regular Expressions
        4. Section 23.4 Form Processing and Business Logic
        5. Section 23.5 Connecting to a Database
        6. Section 23.6 Using Cookies
        7. Section 23.7 Dynamic Content
      12. Terminology
      13. Self-Review Exercises
      14. Answers to Self-Review Exercises
      15. Exercises
    4. 24. Ruby on Rails
      1. 24.1. Introduction
      2. 24.2. Ruby
        1. Installing Instant Rails
        2. Printing a Line of Text
        3. Running a Ruby Script
        4. Variables and Data Types in Ruby
        5. Using Arrays and Hashes
        6. Conditionals, Loops and Code Blocks
        7. Classes
      3. 24.3. Rails Framework
        1. Model-View-Controller
        2. Overview
        3. Creating a Rails Application
      4. 24.4. ActionController and ActionView
        1. Rails Controller
        2. Running Ruby on Rails
        3. Rendering a View
        4. Using a Layout
      5. 24.5. A Database-Driven Web Application
        1. Object Relational Mapping
        2. Creating the Database
        3. Creating the Employee Model
        4. Employee Controller
        5. The list View
      6. 24.6. Case Study: Message Forum
        1. Design
        2. 24.6.1. Logging In and Logging Out
        3. 24.6.2. Embellishing the Models
          1. Message Model
          2. Forum Model
        4. 24.6.3. Generating Scaffold Code
        5. 24.6.4. Forum Controller and Forum Views
          1. List View
          2. New View
          3. Delete View
          4. Forum Layout
        6. 24.6.5. Message Controller and Message Views
          1. List View
          2. New View
          3. Message Layout
        7. 24.6.6. Ajax-Enabled Rails Applications
      7. 24.7. Script.aculo.us
        1. Visual Effects
        2. Other Script.aculo.us Features
        3. Flickr Photo Viewer with Effects
      8. 24.8. Wrap-Up
      9. 24.9. Web Resources
      10. Summary
        1. Section 24.1 Introduction
        2. Section 24.2 Ruby
        3. Section 24.3 Rails Framework
        4. Section 24.4 ActionController and ActionView
        5. Section 24.5 A Database-Driven Web Application
        6. Section 24.6 Case Study: Message Forum
        7. Section 24.7 Script.aculo.us
      11. Terminology
      12. Self-Review Exercises
      13. Answers to Self-Review Exercises
      14. Exercises
    5. 25. ASP.NET 2.0 and ASP.NET Ajax
      1. 25.1. Introduction
      2. 25.2. Creating and Running a Simple Web Form Example
        1. 25.2.1. Examining an ASPX File
        2. 25.2.2. Examining a Code-Behind File
        3. 25.2.3. Relationship Between an ASPX File and a Code-Behind File
        4. 25.2.4. How the Code in an ASP.NET Web Page Executes
        5. 25.2.5. Examining the XHTML Generated by an ASP.NET Application
        6. 25.2.6. Building an ASP.NET Web Application
          1. Step 1: Creating the Website
          2. Step 2: Examining the Solution Explorer of the Newly Created Project
          3. Step 3: Examining the Toolbox in Visual Web Developer
          4. Step 4: Examining the Web Forms Designer
          5. Step 5: Examining the Code-Behind File in the IDE
          6. Step 6: Renaming the ASPX File
          7. Step 7: Renaming the Class in the Code-Behind File and Updating the ASPX File
          8. Step 8: Changing the Title of the Page
          9. Step 9: Designing the Page
          10. Step 10: Adding Page Logic
          11. Step 11: Running the Program
          12. Windows Firewall Settings
      3. 25.3. Web Controls
        1. 25.3.1. Text and Graphics Controls
          1. Adding an XHTML Table to a Web Form
          2. Setting the Color of Text on a Web Form
          3. Examining Web Controls on a Sample Registration Form
        2. 25.3.2. AdRotator Control
          1. Demonstrating the AdRotator Web Control
          2. Connecting Data to an AdRotator Control
          3. Examining an XML File Containing Advertisement Information
        3. 25.3.3. Validation Controls
          1. Validating Input in a Web Form
          2. Using RequiredFieldValidator Controls
          3. Using RegularExpressionValidator Controls
          4. Examining the Code-Behind File for a Web Form That Receives User Input
          5. Examining the Client-Side XHTML for a Web Form with Validation
      4. 25.4. Session Tracking
        1. Personalization
        2. Privacy
        3. Recognizing Clients
        4. 25.4.1. Cookies
          1. Using Cookies to Provide Book Recommendations
          2. Adding and Linking to a New Web Form
          3. Writing Cookies in a Code-Behind File
          4. Displaying Book Recommendations Based on Cookie Values
          5. Code-Behind File That Creates Book Recommendations from Cookies
        5. 25.4.2. Session Tracking with HttpSessionState
          1. Adding Session Items
          2. Displaying Recommendations Based on Session Values
          3. Code-Behind File That Creates Book Recommendations from a Session
      5. 25.5. Case Study: Connecting to a Database in ASP.NET
        1. 25.5.1. Building a Web Form That Displays Data from a Database
          1. Step 1: Creating the Project
          2. Step 2: Creating the Form for User Input
          3. Step 3: Adding a GridView Control to the Web Form
          4. Step 4: Adding a Database to an ASP.NET Web Application
          5. Step 5: Binding the GridView to the Messages Table of the Guestbook Database
          6. Step 6: Modifying the Columns of the Data Source Displayed in the GridView
          7. Step 7: Modifying the Way the SqlDataSource Control Inserts Data
          8. ASPX File for a Web Form That Interacts with a Database
        2. 25.5.2. Modifying the Code-Behind File for the Guestbook Application
      6. 25.6. Case Study: Secure Books Database Application
        1. 25.6.1. Examining the Completed Secure Books Database Application
        2. 25.6.2. Creating the Secure Books Database Application
          1. Step 1: Creating the Website
          2. Step 2: Setting Up the Website’s Folders
          3. Step 3: Configuring the Application’s Security Settings
          4. Step 4: Examining the Autogenerated Web.config Files
          5. Step 5: Creating a Master Page
          6. Step 6: Creating a Content Page
          7. Step 7: Adding a CreateUserWizard Control to a Content Page
          8. Step 8: Creating a Login Page
          9. Step 9: Creating a Content Page That Only Authenticated Users Can Access
          10. Step 10: Customizing the Secure Page
          11. Step 11: Connecting the CreateUserWizard and Login Controls to the Secure Page
          12. Step 12: Generating a DataSet Based on the Books.mdf Database
          13. Step 13: Creating and Configuring an AuthorsTableAdapter
          14. Step 14: Creating and Configuring a TitlesTableAdapter
          15. Step 15: Adding a DropDownList Containing Authors’ First and Last Names
          16. Step 16: Creating a GridView to Display the Selected Author’s Books
          17. Step 17: Examining the Markup in Books.aspx
      7. 25.7. ASP.NET Ajax
        1. ScriptManager Control
        2. Partial Page Updates Using the UpdatePanel Control
        3. Adding Ajax Functionality to ASP.NET Validation Controls Using Ajax Extenders
        4. Additional ASP.NET Information
      8. 25.8. Wrap-Up
      9. 25.9. Web Resources
      10. Summary
        1. Section 25.1 Introduction
        2. Section 25.2 Creating and Running a Simple Web Form Example
        3. Section 25.2.1 Examining an ASPX File
        4. Section 25.2.2 Examining a Code-Behind File
        5. Section 25.2.3 Relationship Between an ASPX File and a Code-Behind File
        6. Section 25.2.4 How the Code in an ASP.NET Web Page Executes
        7. Section 25.2.5 Examining the XHTML Generated by an ASP.NET Application
        8. Section 25.2.6 Building an ASP.NET Web Application
        9. Section 25.3 Web Controls
        10. Section 25.3.1 Text and Graphics Controls
        11. Section 25.3.2 AdRotator Control
        12. Section 25.3.3 Validation Controls
        13. Section 25.4 Session Tracking
        14. Section 25.4.1 Cookies
        15. Section 25.4.2 Session Tracking with HttpSessionState
        16. Section 25.5 Case Study: Connecting to a Database in ASP.NET
        17. Section 25.5.1 Building a Web Form That Displays Data from a Database
        18. Section 25.5.2 Modifying the Code-Behind File for the Guestbook Application
        19. Section 25.6.1 Examining the Completed Secure Books Database Application
        20. Section 25.6.2 Creating the Secure Books Database Application
        21. Section 25.7 ASP.NET Ajax
      11. Terminology
      12. Self-Review Exercises
      13. Answers to Self-Review Exercises
      14. Exercises
    6. 26. JavaServer™ Faces Web Applications
      1. 26.1. Introduction
      2. 26.2. Java Web Technologies
        1. 26.2.1. Servlets
        2. 26.2.2. JavaServer Pages
          1. Custom Tag Libraries
          2. JSP Components
          3. Static Content
          4. Processing a JSP Request
        3. 26.2.3. JavaServer Faces
        4. 26.2.4. Web Technologies in Netbeans
      3. 26.3. Creating and Running a Simple Application in Netbeans
        1. 26.3.1. Examining a JSP File
        2. 26.3.2. Examining a Page Bean File
        3. 26.3.3. Event-Processing Life Cycle
        4. 26.3.4. Relationship Between the JSP and Page Bean Files
        5. 26.3.5. Examining the XHTML Generated by a Java Web Application
        6. 26.3.6. Building a Web Application in Netbeans
          1. Step 1: Creating the Web Application Project
          2. Step 2: Examining the Visual Editor Window of the New Project
          3. Step 3: Examining the Palette in Netbeans
          4. Step 4: Examining the Projects Window
          5. Step 5: Examining the JSP and Java Files in the IDE
          6. Step 6: Renaming the JSP and JSF Files
          7. Step 7: Changing the Title of the Page
          8. Step 8: Designing the Page
          9. Step 9: Adding Page Logic
          10. Step 10: Examining the Outline Window
          11. Step 11: Running the Application
      4. 26.4. JSF Components
        1. 26.4.1. Text and Graphics Components
          1. Adding a Formatting Component to a Web Page
          2. Examining Web Components on a Sample Registration Form
        2. 26.4.2. Validation Using Validator Components and Custom Validators
          1. Validating Form Data in a Web Application
          2. Building the Web Page
          3. Setting the Required Property of an Input Component
          4. Using the LengthValidator Component
          5. Using Regular Expressions to Perform Custom Validation
          6. Examining the Page Bean File for a Form That Receives User Input
      5. 26.5. Session Tracking
        1. Personalization
        2. Privacy
        3. Recognizing Clients
        4. 26.5.1. Cookies
          1. Using Cookies to Provide Book Recommendations
          2. Adding and Linking to a New Web Page
          3. Displaying Book Recommendations Based on Cookie Values
          4. Page Bean That Creates Book Recommendations from Cookies
        5. 26.5.2. Session Tracking with the SessionBean Object
          1. Adding Properties to the SessionBean
          2. Manipulating SessionBean Properties in a Page Bean File
          3. Displaying Recommendations Based on Session Values
          4. Page Bean That Creates Book Recommendations from a SessionBean Property
      6. 26.6. Wrap-Up
      7. 26.7. Web Resources
      8. Summary
        1. Section 26.1 Introduction
        2. Section 26.2 Java Web Technologies
          1. Section 26.2.1 Servlets
          2. Section 26.2.2 JavaServer Pages
          3. Section 26.2.3 JavaServer Faces
          4. Section 26.2.4 Web Technologies in Netbeans
          5. Section 26.3.1 Examining a JSP File
          6. Section 26.3.2 Examining a Page Bean File
          7. Section 26.3.3 Event-Processing Life Cycle
          8. Section 26.3.4 Relationship Between the JSP and Page Bean Files
          9. Section 26.3.6 Building a Web Application in Netbeans
          10. Section 26.4.1 Text and Graphics Components
          11. Section 26.4.2 Validation Using Validator Components and Custom Validators
        3. Section 26.5 Session Tracking
          1. Section 26.5.1 Cookies
          2. Section 26.5.2 Session Tracking with the SessionBean Object
      9. Terminology
      10. Self-Review Exercises
      11. Answers to Self-Review Exercises
      12. Exercises
    7. 27. Ajax-Enabled JavaServer™ Faces Web Applications
      1. 27.1. Introduction
      2. 27.2. Accessing Databases in Web Applications
        1. 27.2.1. Building a Web Application That Displays Data from a Database
          1. Step 1: Creating the Project
          2. Step 2: Creating the Form for User Input
          3. Step 3: Adding a Table Component to the Page
          4. Step 4: Creating a Java DB Database
          5. Step 5: Adding a Table and Data to the AddressBook Database
          6. Step 6: Binding the Table Component to the Addresses Table of the AddressBook Database
          7. Step 7: Modifying addressesRowSet’s SQL Statement
          8. Step 8: Adding Validation
          9. JSP File for a Web Page That Interacts with a Database
          10. Session Bean for the AddressBook Application
        2. 27.2.2. Modifying the Page Bean File for the AddressBook Application
      3. 27.3. Ajax-Enabled JSF Components
        1. Downloading the Java BluePrints Ajax-Enabled Components
        2. Importing the Java BluePrints Ajax-Enabled Components into the Netbeans Palette
      4. 27.4. AutoComplete Text Field and Virtual Forms
        1. Adding Search Components to the AddressBook.jsp Page
        2. 27.4.1. Configuring Virtual Forms
        3. 27.4.2. JSP File with Virtual Forms and an AutoComplete Text Field
        4. 27.4.3. Providing Suggestions for an AutoComplete Text Field
      5. 27.5. Google Maps Map Viewer Component
        1. 27.5.1. Obtaining a Google Maps API Key
        2. 27.5.2. Adding a Map Viewer Component to a Page
          1. Adding a Data Provider to the Page
        3. 27.5.3. JSP File with a Map Viewer Component
        4. 27.5.4. Page Bean That Displays a Map in the Map Viewer Component
      6. 27.6. Wrap-Up
      7. 27.7. Web Resources
      8. Summary
        1. Section 27.2 Accessing Databases in Web Applications
        2. Section 27.3 Ajax-Enabled JSF Components
        3. Section 27.4 AutoComplete Text Field and Virtual Forms
        4. Section 27.5 Google Maps Map Viewer Component
      9. Terminology
      10. Self-Review Exercises
      11. Answers to Self-Review Exercises
      12. Exercises
    8. 28. Web Services
      1. 28.1. Introduction
        1. Netbeans
      2. 28.2. Java Web Services Basics
      3. 28.3. Creating, Publishing, Testing and Describing a Web Service
        1. 28.3.1. Creating a Web Application Project and Adding a Web Service Class in Netbeans
          1. Creating a Web Application Project in Netbeans
          2. Adding a Web Service Class to a Web Application Project
        2. 28.3.2. Defining the HugeInteger Web Service in Netbeans
        3. 28.3.3. Publishing the HugeInteger Web Service from Netbeans
        4. 28.3.4. Testing the HugeInteger Web Service with Sun Java System Application Server’s Tester Web page
          1. Testing the HugeInteger Web Service from Another Computer
          2. Note to Windows XP Service Pack 2 and Windows Vista Users
        5. 28.3.5. Describing a Web Service with the Web Service Description Language (WSDL)
          1. Accessing the HugeInteger Web Service’s WSDL from Another Computer
      4. 28.4. Consuming a Web Service
        1. 28.4.1. Creating a Client in Netbeans to Consume the HugeInteger Web Service
          1. Creating a Desktop Application Project in Netbeans
          2. Adding a Web Service Reference to an Application
        2. 28.4.2. Consuming the HugeInteger Web Service
      5. 28.5. SOAP
      6. 28.6. Session Tracking in Web Services
        1. 28.6.1. Creating a Blackjack Web Service
          1. Session Tracking in Web Services
        2. 28.6.2. Consuming the Blackjack Web Service
      7. 28.7. Consuming a Database-Driven Web Service from a Web Application
        1. 28.7.1. Configuring Java DB in Netbeans and Creating the Reservation Database
          1. Creating the Reservation Web Service
        2. 28.7.2. Creating a Web Application to Interact with the Reservation Web Service
          1. Reserve.jsp
          2. Reserve.java
      8. 28.8. Passing an Object of a User-Defined Type to a Web Service
        1. Serialization of User-Defined Types
        2. Requirements for User-Defined Types Used with Web Methods
        3. Defining Class Equation
        4. Creating the EquationGenerator Web Service
        5. Testing the EquationGenerator Web Service
        6. Details of the EquationGenerator Web Service
        7. Consuming the EquationGenerator Web Service
      9. 28.9. REST-Based Web Services in ASP.NET
        1. 28.9.1. REST-Based Web Service Functionality
          1. Accessing the Database
          2. Responses Formatted as JSON
        2. 28.9.2. Creating an ASP.NET REST-Based Web Service
          1. Step 1: Creating the Project
          2. Step 2: Examining the Newly Created Project
          3. Step 3: Modifying and Renaming the Code-Behind File
          4. Step 4 Creating an Item Class
          5. Step 5: Examining the ASMX File
          6. Step 6: Modifying the ASMX File
          7. Step 7: Renaming the ASMX File
          8. Step 8: Changing the Web.Config File to allow REST requests
          9. Step 9: Adding the System.Web.Extensions Reference
        3. 28.9.3. Adding Data Components to a Web Service
          1. Step 1: Adding a DataSet to the Project
          2. Step 2: Selecting the Data Source and Creating a Connection
          3. Step 3: Opening the Query Builder and Adding the Events Table from Calendar.mdf
          4. Step 4: Configuring a SELECT Query to Obtain a Specific Event
          5. Step 5: Adding Another Query to the EventsTableAdapter for the CalendarDataSet
          6. Step 6: Configuring an UPDATE Statement to Modify a Description of a Specific Event
          7. Step 7: Adding a getItemsByDate Query
          8. Step 8: Testing the Web Service
      10. 28.10. Wrap-Up
      11. 28.11. Web Resources
        1. REST-Based Web Services
      12. Summary
        1. Section 28.1 Introduction
        2. Section 28.2 Java Web Services Basics
        3. Section 28.3.1 Creating a Web Application Project and Adding a Web Service Class in Netbeans
        4. Section 28.3.2 Defining the HugeInteger Web Service in Netbeans
        5. Section 28.3.3 Publishing the HugeInteger Web Service from Netbeans
        6. Section 28.3.4 Testing the HugeInteger Web Service with Sun Java System Application Server’s Tester Web Page
        7. Section 28.3.5 Describing a Web Service with the Web Service Description Language (WSDL)
        8. Section 28.4 Consuming a Web Service
        9. Section 28.4.1 Creating a Client in Netbeans to Consume the HugeInteger Web Service
        10. Section 28.5 SOAP
        11. Section 28.6 Session Tracking in Web Services
        12. Section 28.6.1 Creating a Blackjack Web Service
        13. Section 28.6.2 Consuming the Blackjack Web Service
        14. Section 28.8 Passing an Object of a User-Defined Type to a Web Service
      13. Terminology
      14. Self-Review Exercises
      15. Answers to Self-Review Exercises
      16. Exercises
  13. 5. Appendices
    1. A. XHTML Special Characters
    2. B. XHTML Colors
    3. C. JavaScript Operator Precedence Chart
    4. D. ASCII Character Set
    5. E. Number Systems
      1. E.1. Introduction
      2. E.2. Abbreviating Binary Numbers as Octal and Hexadecimal Numbers
      3. E.3. Converting Octal and Hexadecimal Numbers to Binary Numbers
      4. E.4. Converting from Binary, Octal or Hexadecimal to Decimal
      5. E.5. Converting from Decimal to Binary, Octal or Hexadecimal
      6. E.6. Negative Binary Numbers: Two’s Complement Notation
      7. Summary
        1. Section E.1 Introduction
        2. Section E.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers
        3. Section E.3 Converting Octal and Hexadecimal Numbers to Binary Numbers
        4. Section E.4 Converting from Binary, Octal or Hexadecimal to Decimal
        5. Section E.5 Converting from Decimal to Binary, Octal or Hexadecimal
        6. Section E.6 Negative Binary Numbers: Two’s Complement Notation
      8. Terminology
      9. Self-Review Exercises
      10. Answers to Self-Review Exercises
      11. Exercises
    6. F. Unicode®
      1. F.1. Introduction
      2. F.2. Unicode Transformation Formats
      3. F.3. Characters and Glyphs
      4. F.4. Advantages/Disadvantages of Unicode
      5. F.5. Unicode Consortium’s Website
      6. F.6. Using Unicode
      7. F.7. Character Ranges
      8. Summary
        1. Section F.1 Introduction
        2. Section F.2 Unicode Transformation Formats
        3. Section F.3 Characters and Glyphs
        4. Section F.4 Advantages/Disadvantages of Unicode
        5. Section F.5 Unicode Consortium’s Website
        6. Section F.6 Using Unicode
        7. Section F.7 Character Ranges
      9. Terminology
      10. Self-Review Exercises
      11. Answers to Self-Review Exercises
      12. Exercises