Home > Store > Open Source > Ajax & JavaScript

Internet & World Wide Web How to Program, 2nd Edition

Register your product to gain access to bonus material or receive a coupon.

Internet & World Wide Web How to Program, 2nd Edition


  • Sorry, this book is no longer in print.
Not for Sale



  • NEW - Additional resources available for instructors who want to cover non-Microsoft environments.
    • Updated material on www.deitel.com and www.prenhall.com/deitel includes an extensive treatment of Netscape® 6 and alternative versions of the code from the Dynamic HTML chapters that will work with non-Microsoft environments. Ex.___

  • NEW - Two new chapters covering XHTML.
    • Teaches students how to mark up content for the web. Ex.___

  • NEW - New chapter on wireless internet technology.
    • Provides students with an overview of Wireless Markup Language (WML) and WMLScript for programming wireless devices such as cell phones, pagers, and personal digital assistants. Ex.___

  • NEW - New chapter dedicated to accessibility.
    • Discusses the ways in which the websites can be designed for ease of use by people with disabilities. Ex.___

  • NEW - Two new chapters on Python and PHP.
    • These chapters, along with the chapters on ASP, Perl and Java Servlets, address the similarities and differences of using these various server-side languages to create dynamic web-based application. Ex.___

  • NEW - Updates and additional detail throughout the book.
    • Includes topics such as XML, multimedia, e-commerce, databases, Perl and Servlets. Ex.___

  • Signature “Live Code™ Approach”—Language features are presented in the context of a wide variety of complete working programs. Features thousands of lines of code in hundreds of complete working programs.
    • Enables students to confirm that programs run as expected. Students can also manipulate the code from the CD-ROM in the back of the book or from the book's Companion Website (www.prenhall.com/deitel), or from the authors' website (www.deitel.com). Ex.___

  • Outstanding, consistent and applied pedagogy—Icons throughout identify Software Engineering Observations; Good Programming Practices; Common Programming Errors; Portability Tips; Performance Tips, Testing and Debugging Tips, and Look-and-Feel Observations.
    • Provides hundreds of valuable programming tips and facilitates learning. Ex.___

  • Extensive set of interesting exercises and substantial projects.
    • Students can apply what they've learned in each chapter. Ex.___

  • In full color.
    • Syntax coloring helps students to better interpret the code. Ex.___

  • CD-ROM with each text.
    • Includes Microsoft Agent® Agent 2.0, Microsoft® Internet Explorer 5.5, Adobe® Acrobat® Reader 5.0, My SQL 3.23, ActiveState Languages (to include ActivePerl 5.6.1 and ActivePython 21), the following software developed by the Apache Software Foundation: PHP 4.05 and Apache Web Server 1.3.20, source code for all the book's examples and hyperlinks to valuable Internet demos and resources. Ex.___

  • Focus on two projects.
    • Students develop their own personal Web pages and create multi-tier, client/server database-intensive Web-based applications. Ex.___

  • Also available packaged with the Interactive Multimedia Cyber Classroom CD-ROM in The Complete Internet & World Wide Web Training Course, Second Edition (CD-ROM version: 0-13-089561-X; Web-based version: 0-13-065258-X).
    • Provides extra hands-on experience and study aids for a minimal additional cost. Includes many hours of detailed, expert walkthroughs of the book's hundreds of live-code examples; post-assessment exams with hundreds of short-answer questions (all with answers); hundreds of self-review exercises drawn from the text (half with answers); hundreds of programming exercises from the main text (these exercises don't have answers in the main text but half of these exercises have answers in the Complete Training Course); hundreds of tips that are marked with icons and show how to write code that's portable, reusable, and optimized for performance; and full-text searching and hyperlinking. Ex.___

Each How to Program text can be ordered as a Complete Training Course package, containing the main text and the corresponding Cyber Classroom—an interactive, multimedia, tutorial version of the book. The Complete Training Courses are a great value, giving students additional hands-on experience and study aids for a minimal additional cost.

Each Complete Training Course is compatible with Windows 95, Windows 98, Windows NT and Windows 2000 and includes the following features:

  • The full text, illustrations and program listings of its corresponding How to Program book with full-text searching and hyperlinking.
  • Hours of detailed, expert audio descriptions of thousands of lines of code that help to reinforce concepts.
  • An abundance of self-assessment material:
    • Practice exams that offer students hundreds of short answer test questions and answers.

    • Hundreds of self-review questions that are drawn from the text, all with answers.

    • Hundreds of programming exercises that are drawn from the text, half with answers (the main text does not provide any answers to these exercises).

  • Intuitive browser-based interface, designed to be easy and accessible for anyone who's ever used a Web browser.

We offer the Complete Training Courses in either CD-ROM or Web-based format. When professors order the Web-based version of a Complete Training Course, their students receive the corresponding How to Program book packaged with a URL and password that gives then six months of access to the Cyber Classroom software via the Web.

If your customer has already received Internet & World Wide Web How to Program, Second Edition, please sample only the Internet & World Wide Web Multimedia Cyber Classroom CD-ROM (0-13-089559-8) to show them the advantages they would get with The Complete Training Course. Please do not sample The Complete Training Course as they will receive a duplicate copy of the main text.


  • Copyright 2002
  • Dimensions: 7" x 9-1/8"
  • Pages: 1428
  • Edition: 2nd
  • Book
  • ISBN-10: 0-13-030897-8
  • ISBN-13: 978-0-13-030897-9

The authoritative DEITEL LIVE-CODE introduction to Internet & World Wide Web programming

The Internet and World Wide Web have revolutionized software development with multimediaintensive, platform-independent code for conventional Internet-, Intranet- and Extranet-based applications. This college-level textbook carefully explains how to program multitiered, client/server, database-intensive, Web-based applications.

Dr. Harvey M. Deitel and Paul J. Deitel are the founders of Deitel & Associates, Inc., the internationally recognized corporate training and content-creation organization specializing in Java, C++, C, Visual C#, Visual Basic®, Visual C++®, .NET, XML, Python, Perl, Internet, Web and object technologies. The Deitels are also the authors of the world's #1 Java and C++ textbooks—Java How to Program, 4/e and C++ How to Program, 3/e—and many other best sellers. In Internet & World Wide Web How to Program, 2/e, the Deitels and their colleague, Tem R. Nieto, discuss key topics, including:

  • XHTML/CSS/Dynamic HTML
  • Multitier Client/Server Applications
  • Internet Explorer® 5.5/Netscape® 6
  • Apache/IIS/PWS
  • JavaScript/VB Script®
  • DOM/DHTML Objects & Events
  • Filters/Transitions/ActiveX®
  • Flash/Animation/ActionScript
  • e-Commerce/Security
  • Wireless Web/WML/WMLScript
  • ASP/JSP/Servlets/Perl/CGI/Python/PHP
  • Web-Page Authoring/Photoshop® Elements
  • Data Binding/SQL/MySQL/DBI/ADO
  • Multimedia/Audio/Video/Accessibility
  • Speech Synthesis/Recognition/MS Agent

Internet & World Wide Web How to Program, 2/e includes extensive pedagogic features:

  • Hundreds of LIVE-CODE programs with screen captures that show exact outputs
  • Extensive World Wide Web and Internet resources to encourage further research
  • Hundreds of tips, recommended practices and cautions—all marked with icons

Internet & World Wide Web How to Program, 2/e is the centerpiece of a family of resources for teaching and learning Internet and Web programming, including Web sites (www.deitel.com and www.prenhall.com/deitel with the book's code examples (also on the enclosed CD) and other information for faculty, students and professionals; an optional interactive CD (Internet & World Wide Web Programming Multimedia Cyber Classroom, 2/e) containing hyperlinks, audio walkthroughs of the code examples, solutions to about half the book's exercises; and e-mail access to the authors at deitel@deitel.com

For information on worldwide corporate on-site seminars and Web-based training offered by Deitel & Associates, Inc., visit: www.deitel.com

For information on current and forthcoming Deitel/Prentice Hall publications including How to Program Series books, Multimedia Cyber Classrooms, Complete Training Courses (which include Deitel books and Cyber Classrooms) and Web-Based Training Courses please see the last few pages of this book.

Sample Content

Table of Contents


1. Introduction to Computers and the Internet.

Introduction. What Is a Computer? Types of Programming Languages. Other High-Level Languages. Structured Programming. History of the Internet. Personal Computing. History of the World Wide Web. World Wide Web Consortium (W3C). Hardware Trends. Key Software Trend: Object Technology. JavaScript: Object-Based Scripting for the Web. Browser Portability. C and C++. Java. Internet and World Wide Web How to Program. Dynamic HTML. Tour of the Book. Internet and World Wide Web Resources.

2. Microsoft® Internet Explorer 5.5.

Introduction to the Internet Explorer 5.5 Web Browser. Connecting to the Internet. Internet Explorer 5.5 Features. Searching the Internet. Online Help and Tutorials. Keeping Track of Favorite Sites. File Transfer Protocol (FTP). Outlook Express and Electronic Mail. NetMeeting. MSN Messenger Service. Customizing Browser Settings.

3. Photoshop® Elements™.

Introduction. Image Basics. Vector and Raster Graphics. Toolbox. Layers. Screen Capturing. File Formats: GIF and JPEG. Internet and World Wide Web Resources.

4. Introduction to XHTML: Part 1.

Introduction. Editing XHTML. First XHTML Example. W3C XHTML Validation Service. Headers. Linking. Images. Special Characters and More Line Breaks. Unordered Lists. Nested and Ordered Lists. Internet and World Wide Web Resources.

5. Introduction to XHTML: Part 2.

Introduction. Basic XHTML Tables. Intermediate XHTML Tables and Formatting. Basic XHTML Forms. More Complex XHTML Forms. Internal Linking. Creating and Using Image Maps. meta Elements. frameset Element. Nested framesets. Internet and World Wide Web Resources.

6. Cascading Style Sheets™ (CSS).

Introduction. Inline Styles. Embedded Style Sheets. Conflicting Styles. Linking External Style Sheets. WK CSS Validation Service. Positioning Elements. Backgrounds. Element Dimensions. Text Flow and the Box Model. User Style Sheets. Internet and World Wide Web Resources.

7. JavaScript: Introduction to Scripting.

Introduction. Simple Program: Printing a Line of Text in a Web Page. Another JavaScript Program: Adding Integers. Memory Concepts. Arithmetic. Decision Making: Equality and Relational Operators. JavaScript Internet and World Wide Web Resources.

8. JavaScript: Control Structures 1.

Introduction. Algorithms. Pseudocode. Control Structures. if Selection Structure. if/else Selection Structure. while Repetition Structure. Formulating Algorithms: Case Study 1 (Counter-Controlled Repetition). Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition). Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures). Assignment Operators. Increment and Decrement Operators. Note on Data Types. JavaScript Internet and World Wide Web Resources.

9. JavaScript: Control Structures 2.

Introduction. Essentials of Counter-Controlled Repetition. for Repetition Structure. Examples Using the for Structure. switch Multiple-Selection Structure. do/while Repetition Structure. break and continue Statements. Labeled break and continue Statements. Logical Operators. Summary of Structured Programming.

10. JavaScript: Functions.

Introduction. Program Modules in JavaScript. Programmer-Defined Functions. Function Definitions. Random-Number Generation. Example: Game of Chance. Duration of Identifiers. Scope Rules. JavaScript Global Functions. Recursion. Example Using Recursion: Fibonacci Series. Recursion vs. Iteration. JavaScript Internet and World Wide Web Resources.

11. JavaScript: Arrays.

Introduction. Arrays. Declaring and Allocating Arrays. Examples Using Arrays. References and Reference Parameters. Passing Arrays to Functions. Sorting Arrays. Searching Arrays: Linear Search and Binary Search. Multiple- Subscripted Arrays. JavaScript Internet and World Wide Web Resources.

12. JavaScript: Objects.

Introduction. Thinking About Objects. Math Object. String Object. Date Object. Boolean and Number Objects. JavaScript Internet and World Wide Web Resources.

13. Dynamic HTML: Object Model and Collections.

Introduction. Object Referencing. Collections all and children. Dynamic Styles. Dynamic Positioning. Using the frames Collection. navigator Object. Summary of the DHTML Object Model.

14. Dynamic HTML: Event Model.

Introduction. Event onclick. Event onload. Error Handling with onerror. Tracking the Mouse with Event onmousemove. Rollovers with onmouseover and onmouseout. Form Processing with onfocus and onblur. More Form Processing with onsubmit and onreset. Event Bubbling. More DHTML Events.

15. Dynamic HTML: Filters and Transitions.

Introduction. Flip filters: flipv and fliph. Transparency with the chroma Filter. Creating Image masks. Miscellaneous Image filters: invert, gray and xray. Adding shadows to Text. Creating Gradients with alpha. Making Text glow. Creating Motion with blur. Using the wave Filter. Advanced Filters: dropShadow and light. Transitions I: Filter blendTrans. Transitions 11: Filter revealTrans.

16. Dynamic HTML: Data Binding with Tabular Data Control.

Introduction. Simple Data Binding. Moving a Recordset. Binding to an img. Binding to a table. Sorting table Data. Advanced Sorting and Filtering. Data Binding Elements. Internet and World Wide Web Resources.

17. Dynamic HTML: Structured Graphics ActiveX Control.

Introduction. Shape Primitives. Moving Shapes with Translate. Rotation. Mouse Events and External Source Files. Scaling. Internet and World Wide Web Resources.

18. Dynamic HTML: Path, Sequencer and Sprite ActiveX Controls.

Introduction. DirectAnimation Path Control. Multiple Path Controls. Time Markers for Path Control. DirectAnimation Sequencer Control. DirectAnimation Sprite Control. Animated GIFs. Internet and World Wide Web Resources.

19. Macromedia® Flash™: Building Interactive Animations.

Introduction. Flash TM Movie Development. Learning Flash with Hands-on Examples. Creating a Projector (.exe) File With Publish. Manually Embedding a Flash Movie in a Web Page. Creating Special Effects with Flash. Creating a Web-Site Introduction. ActionScript. Internet and World Wide Web Resources.

20. Extensible Markup Language (XML).

Introduction. Structuring Data. XML Namespaces. Document Type Definitions (DTDs) and Schemas. XML Vocabularies. Document Object Model (DOM). DOM Methods. Simple API for XML (SAX). Extensible Stylesheet Language (XSL). Microsoft BizTalk Simple Object Access Protocol (SOAP). Internet and World Wide Web Resources.

21. Web Servers (IIS, PWS and Apache).

Introduction. HTTP Request Types. System Architecture. Client-Side Scripting versus Server-Side Scripting. Accessing Web Servers. Microsoft Internet Information Services (IIS). Microsoft Personal Web Server (PWS). Apache Web Server. Requesting Documents. Internet and World Wide Web Resources.

22. Database: SQL, MySQL, DBI and ADO.

Introduction. Relational Database Model. Relational Database Overview. Structured Query Language. MySQL. Introduction to DBI. ActiveX Data Objects (ADO). Internet and World Wide Web Resources.

23. Wireless Internet and m-Business.

Introduction. M-Business. Identifying User Location. Wireless Marketing, Advertising and Promotions. Wireless Payment Options. Privacy and the Wireless Internet. International Wireless Communications. Wireless-Communications Technologies. WAP and WML. Phone Simulator and Setup Instructions. Creating WML Documents. WMLScript Programming. String Object Methods. Wireless Protocols, Platforms and Programming Languages. Internet and World Wide Web Resources.

24. VBScript.

Introduction. Operators. Data Types and Control Structures. VBScript Functions. VBScript Example Programs. Arrays. String Manipulation. Classes and Objects. Operator Precedence Chart. Internet and World Wide Web Resources.

25. Active Server Pages (ASP).

Introduction. How Active Server Pages Work. Setup. Active Server Page Objects. Simple ASP Examples. File System Objects. Session Tracking and Cookies. Accessing a Database from an Active Server Page. Server-Side ActiveX Components. Internet and World Wide Web Resources.

26. Case Study: Active Server Pages and XML.

Introduction. Setup and Message Forum Documents. Forum Navigation. Adding Forums. Forum XML Documents. Posting Messages. Other Documents. Internet and World Wide Web Resources.

27. Perl and CGI (Common Gateway Interface).

Introduction. Perl. String Processing and Regular Expressions. Viewing Client/Server Environment Variables. Form Processing and Business Logic. Server-Side Includes. Verifying a Username and Password. Using DBI to Connect to a Database. Cookies and Perl. Operator Precedence Chart. Internet and World Wide Web Resources.

28. Python.

Introduction. Basic Data Types, Control Structures and Functions. Tuples, Lists and Dictionaries. String Processing and Regular Expressions. Exception Handling. Introduction to CGI Programming. Form Processing and Business Logic. Cookies. Database Application Programming Interface (DB-API). Operator Precedence Chart. Internet and World Wide Web Resources.

29. PHP.

Introduction. PHP. String Processing and Regular Expressions. Viewing Client/Server Environment Variables. Form Processing and Business Logic. Verifying a Username and Password. Connecting to a Database. Cookies. Operator Precedence. Internet and World Wide Web Resources.

30. Servlets: Bonus for Java™ Developers.

Introduction. Servlet Overview and Architecture. Handling HTTP get Requests. Handling HTTP get Requests Containing Data. Handling HTTP post Requests. Redirecting Requests to Other Resources. Session Tracking. Multi-tier Applications: Using JDBC from a Servlet. HttpUtils Class. Internet and World Wide Web Resources.

31. JavaServer Pages: Bonus for Java™ Developers.

Introduction. JavaServer Pages Overview. A First JavaServer Page Example. Implicit Objects. Scripting. Standard Actions. Directives. Custom Tag Libraries. World Wide Web Resources.

32. e-Business and e-Commerce.

Introduction. E-Business Models. Building an e-Business. e-Marketing. Online Payments. Security. Legal Issues. XML and e-Commerce. Internet and World Wide Web Resources.

33. Multimedia: Audio, Video, Speech Synthesis and Recognition.

Introduction. Audio and Video. Adding Background Sounds with the bgsound Element. Adding Video with the img Element's dynsrc Property. Adding Audio or Video with the embed Element. Using the Windows Media Player ActiveX Control. Microsoft Agent Control. RealPlayerTM Plug-in. Synchronized Multimedia Integration Language (SMIL). Scalable Vector Graphics (SVG). Internet and World Wide Web Resources.

34. Accessibility.

Introduction. Web Accessibility. Web Accessibility Initiative. Providing Alternatives for Images. Maximizing Readability by Focusing on Structure. Accessibility in XHTML Tables. Accessibility in XHTML Frames. Accessibility in XML. Using Voice Synthesis and Recognition with VoiceXML. CallXML. JAWS for Windows. Other Accessibility Tools. Accessibility in Microsoft Windows 2000. Internet and World Wide Web Resources.

Appendix A. XHTML Special Characters.

Appendix B. Operator Precedence Chart.

Appendix C. ASCII Character Set.

Appendix D. Number Systems.

Introduction. Abbreviating Binary Numbers as Octal Numbers and Hexadecimal Numbers. Converting Octal Numbers and Hexadecimal Numbers to Binary Numbers. Converting from Binary, Octal, or Hexadecimal to Decimal. Converting from Decimal to Binary, Octal, or Hexadecimal. Negative Binary Numbers: Two's Complement Notation.

Appendix E. XHTML Colors.

Appendix F. Career Opportunities.

Introduction. Resources for the Job Seeker. Online Opportunities for Employers. Recruiting Services. Career Sites. Internet and World Wide Web Resources.

Appendix G. Unicode®.

Introduction. Unicode Transformation Formats. Characters and Glyphs. Advantages/Disadvantages of Unicode. Unicode Consortium's Web Site. Using Unicode. Character Ranges.




Live in fragments no longer: Only connect.
Edward Morgan Forster

Welcome to the exciting world of Internet and World Wide Web programming. This book is by an old guy and two young guys. The old guy (HMD; Massachusetts Institute of Technology 1967) has been programming and/or teaching programming for 40 years. The two young guys (PJD; MIT 1991 and TRN; MIT 1992) have been programming and/or teaching programming for over 20 years. The old guy programs and teaches from experience; the young guys do so from an inexhaustible reserve of energy. The old guy wants clarity; the young guys want performance. The old guy seeks elegance and beauty; the young guys want results. We got together to produce a book we hope you will find informative, challenging and entertaining.

The explosion and popularity of the Internet and the World Wide Web creates tremendous challenges for us as authors, for our publisher—Prentice Hall, for instructors, for students and for professionals.

The World Wide Web increases the prominence of the Internet in information systems, strategic planning and implementation. Organizations want to integrate the Internet "seamlessly" into their information systems and the World Wide Web offers endless opportunity to do so.

New Features in Internet & World Wide Web How to Program: Second Edition

This edition contains many new features and enhancements including:

  • Full-Color Presentation. The book enhances LIVE-CODE TM examples by using full color. Readers see sample outputs as they would appear on a color monitor. We have syntax colored all the code examples, as many of today's development environments do. Our syntax-coloring conventions are as follows:
    - comments appear in green
    - keywords appear in dark blue
    - literal values appear in light blue
    - XHTML text and scripting text appear in black
    - ASP and JSP delimiters appear in red
  • XHTML. This edition uses XHTML as the primary means of describing Web content. The World Wide Web Consortium deprecated the use of HTML 4 and replaced it with XHTML 1.0 (Extensible Hypertext Markup Language). XHTML is derived from XML (Extensible Markup Language), which allows Web developers to create their own tags and languages. XHTML is replacing HTML as the standard for marking up Web content because it is more robust and offers more features.
  • Chapter 19, Macromedia® Flash. Flash is a cutting-edge multimedia application that enables Web developers to create interactive, animated content. Through hands-on examples, we show how to add interactivity, sound and animation to Web sites while teaching the fundamentals of Flash and ActionScript—Flash's scripting language. The chapter examples include creating interactive buttons, animated banners and animated splash screens (called animation pre-loaders).
  • Chapter 20, Extensible Markup Language (XML). Throughout the book we emphasize XHTML, which derived from XML and HTML. XML derives from SGML (Standardized General Markup Language), whose sheer size and complexity limits its use beyond heavyduty, industrial- strength applications. XML is a technology created by the World Wide Web Consortium for describing data in a portable format. XML is an effort to make SGMLlike technology available to a much broader community. XML is a condensed subset of SGML with additional features for usability. Document authors use XML's extensibility to create entirely new markup languages for describing specific types of data, including mathematical formulas, chemical molecular structures and music. Markup languages created with XML include XHTML (Chapters 4 and 5), MathML (for mathematics), VoiceXML (for speech), SMIL (the Synchronized Multimedia Integration Language for multimedia presentations), CML (Chemical Markup Language for chemistry) and XBRL (Extensible Business Reporting Language for financial data exchange).
  • Chapter 23, Wireless Internet and m-Business. We introduce the impact of wireless communications on individuals and businesses. The chapter then explores wireless devices and communications technologies and introduces wireless programming. The Wireless Application Protocol (WAP) is designed to enable different kinds of wireless devices to communicate and access the Internet using the Wireless Markup Language (WML). WML tags mark up a Web page to specify how to format a page on a wireless device. WMLScript helps WAP applications "come alive" by allowing a developer to manipulate WML document content dynamically. In addition to WAP/WML, we explore various platforms and programming languages on the client, such as Java 2 Micro Edition (J2ME), Qualcomm's Binary Runtime Environment for Wireless (BREW), the enormously popular Japanese i-mode service, Compact HyperText Markup Language (cHTML) and Bluetooth wireless technology.
  • Server-Side Technology. We present condensed treatments of six popular Internet/ Web programming languages for building the server side of Internet- and Webbased client/server applications. In Chapters 25 and 26, we discuss Active Server Pages (ASP)—Microsoft's technology for server-side scripting. In Chapter 27, we introduce Perl, an open-source scripting language for programming Web-based applications. In Chapters 28 and 29, we introduce Python and PHP—two emerging, open-source scripting languages. In Chapters 30 and 31, we provide two bonus chapters for Java programmers on Java servlets and JavaServer Pages (JSP).
  • Chapter 34, Accessibility. Currently, the World Wide Web presents many challenges to people with disabilities. Individuals with hearing and visual impairments have difficulty accessing multimedia-rich Web sites. To rectify this situation, the World Wide Web Consortium (W3C) launched the Web Accessibility Initiative (WAI), which provides guidelines for making Web sites accessible to people with disabilities. This chapter provides a description of these guidelines. We also introduce VoiceXML and CallXML, two technologies for increasing the accessibility of Web-based content.
  • Appendix F, Career Opportunities. This detailed appendix introduces career services on the Internet. We explore online career services from the employer and employee's perspective. We suggest sites on which you can submit applications, search for jobs and review applicants (if you are interested in hiring people). We also review services that build recruiting pages directly into e-businesses. One of our reviewers told us that he had just gone through a job search largely using the Internet and this chapter would have expanded his search dramatically.
  • Appendix G, Unicode. This appendix overviews the Unicode Standard. As computer systems evolved worldwide, computer vendors developed numeric representations of character sets and special symbols for the local languages spoken in different countries. In some cases, different representations were developed for the same languages. Such disparate character sets made communication between computer systems difficult. XML and XMLderived languages, such as XHTML, support the Unicode Standard (maintained by a nonprofit organization called the Unicode Consortium), which defines a single character set with unique numeric values for characters and special symbols in most spoken languages. This appendix discusses the Unicode Standard, overviews the Unicode Consortium Web site (unicode.org) and shows an XML example that displays "Welcome to Unicode!" in ten different languages!

Some Notes to Instructors

Why We Wrote Internet & World Wide Web How to Program: Second Edition
Dr. Harvey M. Deitel taught introductory programming courses in universities for 20 years with an emphasis on developing clearly written, well-designed programs. Much of what is taught in these courses are the basic principles of programming with an emphasis on the effective use of control structures and functionalization. We present these topics in Internet & World Wide Web How to Program: Second Edition, the way HMD has done in his university courses. Students are highly motivated by the fact that they are learning six leading-edge scripting languages (JavaScript, VBScript, Perl, Python, PHP and Flash ActionScript) and a leading-edge programming paradigm (object-based programming). We also teach Dynamic HTML, a means of adding "dynamic content" to World Wide Web pages. Instead of Web pages with only text and static graphics, Web pages "come alive" with audios, videos, animations, interactivity and threedimensional moving images. Dynamic HTML's features are precisely what businesses and organizations need to meet today's information processing requirements. These programming languages will be useful to students immediately as they leave the university environment and head into a world in which the Internet and the World Wide Web have massive prominence.

Focus of the Book
Our goal was clear: produce a textbook for introductory university-level courses in computer programming for students with little or no programming experience, yet offer the depth and rigorous treatment of theory and practice demanded by traditional, upper-level programming courses and professionals. To meet this goal, we produced a comprehensive book that teaches the principles of control structures, object-based programming, various markup languages (XHTML, Dynamic HTML and XML) and scripting languages such as JavaScript, VBScript, Perl, Python, PHP and Flash ActionScript. After mastering the material in this book, students entering upper-level programming courses and industry will be well prepared to take advantage of the Internet and the Web.

Using Color to Enhance Pedagogy and Clarity
We have emphasized color throughout the book. The World Wide Web is a colorful, multimediaintensive medium. It appeals to our visual and audio senses. Someday it may even appeal to our senses of touch, taste and smell! We suggested to our publisher, Prentice Hall, that they publish this book in color. The use of color is crucial to understanding and appreciating many of the programs we present. Almost from its inception, the Web has been a color-intensive medium. We hope it helps you develop more appealing Web-based applications.

Web-Based Applications Development
Many books about the Web concentrate on developing attractive Web pages. We discuss Web-page design intensely. But more importantly, the key focus of this book is on Webbased applications development. Our audiences want to build real-world, industrial-strength, Web-based applications. These audiences care about good looking Web pages, but they also care about client/server systems, databases, distributed computing, etc. Many books about the Web are reference manuals with exhaustive listings of features. That is not our style. We concentrate on creating real applications. We provide the LIVE-CODETM examples on the CD accompanying this book (and at www.deitel.com) so that you can run the applications and see and hear the multimedia outputs. You can interact with our game and art programs. The Web is an artist's paradise. Your creativity is your only limitation. However, the Web contains so many tools and mechanisms to leverage your abilities that even if you are not artistically inclined, you can create stunning output. Our goal is to help you master these tools so that you can maximize your creativity and development abilities.

Multimedia-Intensive Communications
People want to communicate. Sure, they have been communicating since the dawn of civilization, but computer communications have been limited mostly to digits, alphabetic characters and special characters. The next major wave of communication technology is multimedia. People want to transmit pictures and they want those pictures to be in color. They want to transmit voices, sounds and audio clips. They want to transmit full-motion color video. At some point, they will insist on three-dimensional, moving-image transmission. Our current flat, two-dimensional televisions eventually will be replaced with threedimensional versions that turn our living rooms into "theaters-in-the-round." Actors will perform their roles as if we were watching live theater. Our living rooms will be turned into miniature sports stadiums. Our business offices will enable video conferencing among colleagues halt a world apart, as if they were sitting around one conference table. The possibilities are intriguing, and the Internet is sure to play a key role in making many of these possibilities become reality. Dynamic HTML and Flash ActionScript are means of adding "dynamic content" to World Wide Web pages. Instead of Web pages with only text and static graphics, Web pages "come alive" with audios, videos, animations, interactivity and three-dimensional imaging. Dynamic HTML's and Flash ActionScript's features are precisely what businesses and organizations need to meet today's multimedia-communications requirements. There have been predictions that the Internet will eventually replace the telephone system. Why stop there? It could also replace radio and television as we know therh today. It is not hard to imagine the Internet and the World Wide Web replacing newspapers with electronic news media. Many newspapers and magazines already offer Webbased versions, some fee based and some free. Increased bandwidth makes it possible to stream audio and video over the Web. Both companies and individuals run their own Webbased radio and television stations. Just a few decades ago, there were only a few television stations. Today, standard cable boxes accommodate about 100 stations. In a few more years, we will have access to thousands of stations broadcasting over the Web worldwide. This textbook may someday appear in a museum alongside radios, TVs and newspapers in an "early media of ancient civilization" exhibit.

Teaching Approach

Internet & World Wide Web How to Program: Second Edition contains a rich collection of examples, exercises and projects drawn from many fields to provide the student with a chance to solve interesting real-world problems. The book concentrates on the principles of good software engineering and stresses program clarity. We avoid arcane terminology and syntax specifications in favor of teaching by example. The book is written by educators who spend much of their time teaching edge-of-the-practice topics in industry classrooms. The text emphasizes good pedagogy.

LIVE-CODE Teaching Approach
The book is loaded with hundreds of LIVE-CODE examples. This is how we teach and write about programming, and is the focus of each of our multimedia Cyber Classrooms as well. Each new concept is presented in the context of a complete, working example immediately followed by one or more windows showing the example's input/output dialog. We call this style of teaching and writing our LIVE-CODE approach. We use the language to teach the language. Reading these examples is much like entering and running them on a computer.

Internet & World Wide Web How to Program: Second Edition "jumps right in" with XHTML in Chapter 4, then rapidly proceeds with programming in JavaScript, Microsoft's Dynamic HTML, XML, VBScript/ASP, Perl, Python, PHP, Flash ActionScript, Java Servlets and JavaServer Pages. Many students wish to "cut to the chase;" there is great stuff to be done in these languages so let's get to it! Web programming is not trivial by any means, but it is fun, and students can see immediate results. Students can get graphical, animated, multimedia-based, audio-intensive, database-intensive, network-based programs running quickly through "reusable components." They can implement impressive projects. They can be more creative and productive in a one- or two-semester course than is possible in introductory courses taught in conventional programming languages, such as C, C++, Visual Basic and Java. Note: This book includes Java Servlets and JavaServer Pages as "bonus chapters;" it does not teach the fundamentals of Java programming. Readers who want to learn Java may want to consider reading our book, Java How to Program: Fourth Edition. Readers who desire a deeper, more developer-oriented treatment of Java may want to consider reading our book, Advanced Java 2 Platform How to Program.

World Wide Web Access
All the code for Internet & World Wide Web How to Program: Second Edition (and our other publications) is on the Internet free for download at the Deitel & Associates, Inc. Web site www.deitel.com.

Please download all the code, then run each program as you read the text. Make changes to the code examples and immediately see the effects of those changes. A great way to learn programming is by programming. Note: You must respect the fact that this is copyrighted material. Feel free to use it as you study, but you may not republish any portion of it in any form without explicit permission from Prentice Hall and the authors.

Each chapter begins with a statement of Objectives. This tells students what to expect and gives students an opportunity, after reading the chapter, to determine if they have met these objectives. This is a confidence builder and a source of positive reinforcement.

The learning objectives are followed by quotations. Some are humorous, some are philosophical and some offer interesting insights. Our students enjoy relating the quotations to the chapter material. Many of the quotations are worth a "second look" after reading the chapter.

The chapter Outline helps the student approach the material in top-down fashion. This, too, helps students anticipate what is to come and set a comfortable and effective learning pace.

15,836 Lines of Code in 311 Example LIVE-CODE Programs (with Program Outputs)
Each program is followed by the outputs produced when the document is rendered and its scripts are executed. This enables the student to confirm that the programs run as expected. Reading the book carefully is much like entering and running these programs on a computer. The programs range from just a few lines of code to substantial examples with several hundred lines of code. Students should run each program while studying that program in the text. The examples are available on the CD and at our Deitel (www.deitel.com) and Prentice Hall Web sites (www.prenhall.com\deitel).

714 Illustrations/Figures
An abundance of charts, line drawings and program outputs is included. The discussion of control structures, for example, features carefully drawn flowcharts. Note: We do not teach flowcharting as a program development tool, but we do use a brief, flowchart-oriented presentation to specify the precise operation of JavaScript's and VBScript's control structures.

466 Programming Tips
We have included programming tips to help students focus on important aspects of program development. We highlight hundreds of these rips in the form of Good Programming Practices, Common Programming Errors, Testing and Debugging Tips, Performance Tips, Portability Tips, Software Engineering Observations and Look-and-Feel Observations. These tips and practices represent the best we have gleaned from a combined seven decades of programming and teaching experience. One of our students—a mathematics major—told us that she feels this approach is like the highlighting of axioms, theorems and corollaries in mathematics books; it provides a foundation on which to build good software.

  • 86 Good Programming Practices
    Good Programming Practices call the students' attention to techniques for writing programs that are clearer, more understandable and more maintainable.
  • 143 Common Programming Errors
    Students learning a language—especially in their first programming course—tend to make certain errors frequently. Focusing on these Common Programming Errors helps students avoid making the same errors. It also helps reduce long lines outside instructors' offices during office hours!
  • 48 Performance Tips
    In our experience, teaching students to write clear and understandable programs is by far the most important goal of a first programming course. However, students want to write the programs that run the fastest, use the least memory, require the .smallest number of keystrokes or dazzle in other nifty ways. Students care about performance. They want to know what they can do to "turbo charge" their programs. Therefore, we include Performance Tips to highlight opportunities fbr improving program performance.
  • 31 Portability Tips
    There is a strong emphasis today on portability (i.e., on producing software that will run on a variety of computer systems with few, if any, changes). Achieving portability requires careful and cautious design. There are many pitfalls. We include numerous Portability Tips to help students write portable code.
  • 118 Software Engineering Observations
    The Software Engineering Observations highlight architectural and design issues that affect the construction of software systems, especially large-scale systems. Much of what the student learns here will be useful in upper-level courses and in industry as the student begins to work with large, complex real-world systems.
  • 31 Testing and Debugging Tips
    This "tip type" may be misnamed. When we first decided to incorporate Testing and Debugging Tips, we thought these tips would be suggestions. for testing programs to expose bugs and suggestions to remove those bugs. In fact, most of these tips tend to be observations about capabilities and features that prevent bugs from getting into programs in the first place.
  • 9 Look-and-Feel Observations
    We provide Look-and-Feel Observations to highlight graphical user interface (GUI) conventions. These observations help students design their own graphical user interfaces that conform with industry norms.

Summary (1274 Summary bullets)
Each chapter includes additional pedagogical devices. We present a thorough, bullet-list-style Summary of the chapter. On average, each chapter contains 37 summary bullets that help students review and reinforce important concepts.

Terminology (2921 Terms)
In the Terminology section, we include an alphabetized list of the important terms defined in the chapter—again, further reinforcement. On average, there are 86 terms per chapter.

652 Self-Review Exercises and Answers (Count Includes Separate Parts)
Extensive self-review exercises and answers are included for self-study. They provide the student with a chance to build confidence with the material and to prepare for the regular exercises. Students should attempt all the self-review exercises and check their answers.

633 Exercises (Solutions in Instructor's Manual; Count Includes Separate Parts)
Each chapter concludes with a substantial set of exercises, including simple recall of important terminology and concepts; writing individual statements; writing small portions of functions; writing complete functions and scripts; and writing major term projects. The large number of exercises across a wide variety of topics enables instructors to tailor their courses to the unique needs of their audiences and to vary course assignments each semester. Instructors can use these exercises to form homework assignments, short quizzes and major examinations. The solutions for the vast majority of the exercises are included in the Instructor's Manual and on the disks available only to instructors through their Prentice-Hall representatives. NOTE: Please do not write to us requesting the instructor's manual. Distribution of this publication is strictly limited to college professors teaching from the book. Instructors may obtain the solutions manual only from their regular Prentice Hall representatives. We regret that we cannot provide the solutions to professionals. Solutions to approximately half the exercises are included on the Internet & World Wide Web Multimedia Cyber Classroom: Second Edition CD (available in bookstores and computer stores; please see the last few pages of this book or visit our Web site at www.deitel.com for ordering instructions).

Approximately 6657 Index Entries (with approximately 8208 Page References)
At the back of the book, we have included an extensive Index to help students find any term or concept by keyword. The Index is useful to people reading the book for the first time and is especially useful to practicing programmers who use the book as a reference. Most of the terms in the Terminology sections appear in the Index (along with many more index items from each chapter). Students can use the Index in conjunction with the Terminology sections to be sure they have covered the key material of each chapter.

"Double Indexing" of All LIVE-CODE Examples and Exercises
Internet & World Wide Web How to Program: Second Edition has 311 LIVE-CODE examples and 633 exercises (including parts). Many of the exercises are challenging problems or projects requiring substantial effort. We have double indexed each of the LIVE-CODE examples and most of the more challenging projects. For every source-code program in the book, we took the file name and indexed it both alphabetically and as a subindex item under "Examples." This makes it easier to find examples using particular features. The more substantial exercises are indexed both alphabetically and as subindex items under "Exercises."

An extensive bibliography of books, articles and online documentation is included to encourage further reading.

The student should have two key projects in mind while reading through this book—developing a personal Web site using XHTML markup and JavaScript coding, and developing a complete client/server, database-intensive Web-based application by using techniques taught throughout this book.

Software Included with Internet & World Wide Web How to Program: Second Edition

The CD-ROM at the end of this book contains Microsoft Internet Explorer 5.5, Microsoft Agent 2.0, Adobes®Acrobat® Reader 5.0, MySQL 3.23, Jasc® Paint Shop Pro 7.0 (90-day evaluation version; this product is included as a bonus—it is not described in the book), ActivePerl 5.6.1, ActivePython 2.1, PHP 4.0.5 and Apache Web Server 1.3.20. The CD also contains the book's examples and an HTML Web page with links to the Deitel & Associates, Inc. Web site, to the Prentice Hall Web site and to the Web site that contains the links to the Web resources mentioned in the chapters. If you have access to the Internet, this Web page can be loaded into your World Wide Web browser to give you quick access to all the resources. We especially would like to thank Jasc Software for providing a trial version of their graphics and photo editor; again, this product is not discussed in the book, but a tutorial can be found at their Web site, www.jasc.com

If you have any questions about the software on the CD, please read the introductory documentation on the CD. We will post additional information on our Web site www.deitel.com. If you have any technical questions about the installation of the CD or about any of the software supplied with Deitel/Prentice Hall products, please e-mail media.support@pearsoned.com. They will respond promptly.

On our Web site, we provide installation instructions for ODBC, MySQL, IBM VoiceServer SDK 1.5, Microsoft Internet Information Services (IIS), Microsoft Personal Web Server (PWS), Apache Web server, Microsoft's MSXML 3.0 Parser, Perl, Python, PHP, World Wide Web Consortium's Validation Service (both for XHTML and Cascading Style Sheets), IBM Voice Server SDK 1.1, Java 2 Platform Standard Edition, the Microsoft Agent character Wartnose. We also illustrate how to create a database in MySQL and Microsoft Access.

Ancillary Package for Internet & World Wide Wed How to Program: Second Edition

NOTE: Please do not write to us requesting the instructor's manual. Distribution of this publication is strictly limited to college professors teaching from the book. Instructors may obtain the solutions manual only from their regular Prentice Hall representatives. We regret that we cannot provide the solutions to professionals. Internet & World Wide Web How to Program: Second Edition has extensive ancillary materials for instructors teaching from the book. The Instructor's Manual CD contains solutions to the vast majority of the end-of-chapter exercises and a test bank of multiple choice questions (approximately 2 per book section). In addition, we provide PowerPoint® slides containing all the code and figures in the text. You are free to customize these slides to meet your own classroom needs. Prentice Hall provides a Companion Web Site www.prenhall.com/deitel that includes resources for instructors and students. For instructors, the Web site has a Syllabus Manager for course planning, links to the PowerPoint slides and reference materials from the appendices of the book (such as the operator precedence chart, character sets and Web resources). For students, the Web site provides chapter objectives, true/false exercises with instant feedback, chapter highlights and reference materials.

Internet & World Wide Web Programming Multimedia Cyber Classroom: Second Edition and The Complete Internet & World Wide Web Programming Training Course: Second Edition

We have prepared an interactive, CD-ROM-based, software version of Internet & World Wide Web How to Program: Second Edition, called the Internet & World Wide Web Programming Multimedia Cyber Classroom: Second Edition. It is loaded with features for learning and reference. The Cyber Classroom is wrapped with the textbook at a discount in The Complete Internet & World Wide Web Programming Training Course: Second Edition. If you already have the book and would like to purchase the Internet & World Wide Web Programming Multimedia Cyber Classroom: Second Edition separately, please call 1-800-811-0912 and ask for ISBN# 0-13-089559-8. Please be sure to give the name of the product as well to avoid errors.

The CD includes an introduction with the authors overviewing the Cyber Classroom's features. The 311 LIVE-CODE example programs in the textbook truly "come alive" in the Cyber Classroom. If you are viewing a program and want to execute it, simply click the lightning bolt icon and the program will run. You will see—and hear for the audio-based multimedia programs—the program's outputs. If you want to modify a program and see and hear the effects of your changes, simply click the floppy-disk icon that causes the source code to be "lifted off' the CD and "dropped into" one of your own directories so that you can edit the text and try out your new version. Click the speaker icon for an audio that talks about the program and "walks you through" the code.

The Cyber Classroom also provides navigational aids, including extensive hyperlinking. With its browser-based front-end, the Cyber Classroom remembers recent sections you have visited and allows you to move forward or backward in that list. The thousands of index entries are hyperlinked to their text occurrences. You can key in a term using the "find" feature and, the Cyber Classroom will locate occurrences of that term throughout the text. The Table of Contents entries are "hot," so clicking a chapter name takes you to that chapter.

Students appreciate the hundreds of solved problems from the textbook (about half of the book exercises) that are included with the Cyber Classroom. Studying and running these extra programs is a great way for students to enhance their learning experience.

Students and professional users of our Cyber Classrooms tell us they like the interactivity and that the Cyber Classroom is an effective reference, due to the extensive hyperlinking and other navigational features. We recently received an e-mail from a person who said that he lives "in the boonies" and cannot take a live course at a university, so the Cyber Classroom was the solution to his educational needs.

Professors tell us that their students enjoy using the Cyber Classroom, spend more time on the course and master more of the material than in textbook-only courses. Also, the Cyber Classroom helps shrink lines outside professors' offices during office hours. We have published the Cyber Classrooms for most of our books.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership