Home > Store

Internet & World Wide Web How to Program

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

Internet & World Wide Web How to Program

Book

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

About

Features

  • Up-to-the minute coverage of Internet and Web technologies—Including Dynamic HTML, JavaScript®, VBScript®, ActiveX®, Databases, Electronic Commerce, and more.
    • Updates are regularly posted on the Web at www.deitel.com.
  • Focus on two projects.
    • Students develop their own personal Web pages and team up with other students to create a multi-tier, client/server Web-based application.
  • Published in full color throughout.
  • CD-ROM—Contains Microsoft® Internet Explorer 5.0, Jasc Paintshop Pro 5.03 (30-day trial), Microsoft® Personal Web Server 4.0, Adobe® Acrobat® Reader 4.0, source code for all the code examples in the text, and hyperlinks to valuable demos and resources on the Internet.
  • Also available packaged with the award-winning Interactive Multimedia Cyber Classroom CD-ROM in The Complete Internet and World Wide Web Training Course (BK/Cyber Classroom CD-ROM, 0-13-085609-6).
  • An extensive set of supporting resources—Includes an extensive Instructor's Manual, a test bank, access to the authors via e-mail deitel@deitel.com, and a companion website that offers additional instructor and student support (includes adobe acrobat PDF slides for electronic display) at www.prenhall.com/deitel/.

Description

  • Copyright 2000
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-016143-8
  • ISBN-13: 978-0-13-016143-7

The Internet and the World Wide Web are revolutionizing software development with multimedia-intensive, 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.

Authors Harvey and Paul Dietel are the principals of Deitel & Associates, Inc., the internationally-recognized training and consulting organization specializing in Java™, C++, C, Visual Basic® , object technology, and Internet and World Wide Web programming training. They are also the authors of the best-selling college-level textbooks including C++ How to Program (2/e), Java How to Program (3/e), C How to Program (2/e) and Visual Basic® 6 How to Program. The Deitels and their colleague Tem Nieto introduce the fundamentals of Internet and World Wide Web programming. Key topics include:

  • Client-side and server-side scripting, objects
  • HTML, JavaScript™/Jscript, VBScript
  • ActiveX™ Controls, graphics, GUI, events
  • Database: SQL, ADO, RDS, data binding
  • Electronic commerce, SSL, SET™, cryptography
  • ASP, Perl/CGI, Servlets
  • Dynamic HTML, XML
  • Multimedia, animation
  • Audio, video, speech
  • PWS, IIS, Apache, Jigsaw

Internet and World Wide Web How to Program include:

  • Hundreds of "live-code" programs with screen captures that show exact outputs
  • Extensive exercises (many with answers) accompanying every chapter
  • Hundreds of tips, recommended practices and cautions-marked with these icons

Internet and World Wide Web How to Program is the centerpiece of a family of resources for teaching and learning Internet and World Wide Web programming, including a Web site (http://www.prenhall.com/deitel) with the book's code examples and other information for faculty, students and professional programmers; an optional interactive CD-ROM (Internet and World Wide Web Multimedia Cyber Classroom) containing extensive interactivity features-such as thousands of hyperlinks and audio walkthroughs of the code examples in Internet and World Wide Web How to Program - and e-mail access to the authors at deitel@deitel.com

Sample Content

Table of Contents

1. Introduction to Computers and the Internet.
2. Introduction to Internet Explorer 5 and the World Wide Web.
3. Introduction to HyperText Markup Language 4 (HTML 4).
4. Intermediate HTML 4.
5. Paint Shop Pro.
6. Microsoft FrontPage Express.
7. Introduction to Microsoft Visual InterDev 6.
8. JavaScript/JScript: Introduction to Scripting.
9. JavaScript/JScript: Control Structures I.
10. JavaScript/JScript: Control Structures II.
11. JavaScript/JScript: Functions.
12. JavaScript/JScript: Arrays.
13. JavaScript/JScript: Objects.
14. Dynamic HTML: Cascading Style Sheets(tm) (CSS).
15. Dynamic HTML: Object Model and Collections.
16. Dynamic HTML: Event Model.
17. Dynamic HTML: Filters and Transitions.
18. Dynamic HTML: Data Binding with Tabular Data Control.
19. Dynamic HTML: Structured Graphics ActiveX Control.
20. Dynamic HTML: Path, Sequencer and Sprite ActiveX Controls.
21. Multimedia: Audio, Video, Speech Synthesis and Recognition.
22. Dynamic HTML: Client-Side Scripting with VBScript.
23. Electronic Commerce and Security.
24. Web Servers (PWS, IIS, Apache, Jigsaw).
25. Database: SQL, ADO and RDS.
26. Active Server Pages (ASP).
27. CGI (Common Gateway Interface) and Perl 5.
28. XML (Extensible Markup Language).
29. Servlets: Bonus for Java(tm) Developers.
Appendices.
Index.

Preface

Preface

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 38 years. The two young guys (PJD; MIT 1991 and TRN; MIT 1992) have each been programming and/or teaching programming for 18 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 Internet and the World Wide Web are evolving rapidly, if not explosively. This creates tremendous challenges for us as authors, for our publisher — Prentice Hall, for instructors, and for students and professional people.

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

Why We Wrote Internet and World Wide Web How to Program

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 is the basic principles of programming with an emphasis on the effective use of control structures and functionalization. We present these topics in Internet and World Wide Web How to Program exactly the way HMD has done in his university courses. Our experience has been that students handle the material in the early chapters on control structures and functions in about the same manner as they handle introductory Pascal or C courses. There is one noticeable difference though: students are highly motivated by the fact that they are learning three leading-edge scripting languages (JavaScript, VBScript and Perl) and a leading-edge programming paradigm (object-based programming) that will be immediately useful to them as they leave the university environment for a world in which the Internet and the World Wide Web have a massive new prominence.

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

Internet and World Wide Web How to Program is the fifth book in the Deitel/Prentice Hall How to Program series. It is distinguished by its focus on Web-based application development (emphasized in our server-side treatment). We wrote it fresh on the heels of Java How to Program: Third Edition.

We have emphasized color throughout the book. Almost from the start, the World Wide Web has been a colorful, multimedia-intensive medium. It appeals to both our visual and auditory senses. Someday it may even appeal to our senses of touch, taste and smell as well! We suggested to our publisher, Prentice Hall, that they should publish this book in color. The use of color in this book is crucial to understanding and appreciating scores of the book's programs. We hope it helps you develop more appealing Web-based applications.

Many books about the Web concentrate on developing attractive Web pages. We certainly discuss that subject intensely. However, the key focus of this book is really Web-based 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-code examples on the CD accompanying this book so that you can run the applications, and see and hear for yourself the multimedia outputs. You can interact with our game programs and art programs.

The Web is an artist's paradise. Your creativity is your only limitation. But the Web contains so many tools and mechanisms to leverage your abilities that even if you are not artistically inclined, you can still create stunning outputs. Our goal is to help you master these tools and mechanisms so that you can maximize your creativity and development abilities. Not only will the Web help you increase your productivity, but it will also open up to you whole new areas of expertise that you never thought you had.

We are excited about the enormous range of possibilities the Internet and the Web offer. We have worked hard to create hundreds of useful live-code examples to help you master Internet and Web programming quickly and effectively. All of the code examples are on the accompanying disk and are available for free download from our Web site:

http://www.deitel.com/

Dynamic HTML is 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 three-dimensional imaging. Dynamic HTML's features are precisely what businesses and organizations need to meet today's information processing requirements. So we immediately viewed Dynamic HTML as having the potential to become one of the world's key general-purpose programming languages.

People want to communicate. People need to communicate. Sure, they have been communicating since the dawn of civilization, but computer communications have been mostly limited to digits, alphabetic characters and special characters. The next major wave in communications is surely 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. And at some point, they will insist on three-dimensional, moving-image transmission. Our current flat, two-dimensional televisions will eventually be replaced with three-dimensional 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 half 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.

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 them today. It's not hard to imagine the Internet and the World Wide Web replacing the newspaper with completely electronic news media. Many newspapers and magazines already offer Web-based versions, some fee based and some free. Increased bandwidth is making it possible to stream audio and video over the Web. Companies and even individuals already run their own Web-based 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 you are reading may someday appear in a museum alongside radios, TVs and newspapers in an "early media of ancient civilization" exhibit.

One exciting possibility is that people with disabilities will be able to take advantage of computing and communications through the Internet and especially through the Web. In this regard, the World Wide Web Consortium (W3C) is pursuing its Web Accessibility Initiative. Information about the Web Accessibility Initiative is available at

http://www.w3.org/WAI/

The goal of the WAI is to transform the Web into a medium in which all people, are able to access and use the technology and information available.

Teaching Approach

Internet and World Wide Web How to Program 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 most of their time teaching edge-of-the-practice topics in industry classrooms worldwide. The text emphasizes good pedagogy.

Live-Code Teaching Approach

The book is loaded with hundreds of live-code examples. This is the focus of the way we teach and write about programming, and the focus of each of our multimedia Cyber Classrooms as well. Each new concept is presented in the context of a complete, working program immediately followed by one or more windows showing the program'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 programs is much like entering and running them on a computer.

Internet and World Wide Web How to Program "jumps right in" with HTML programming from Chapter 3, then rapidly proceeds with programming in JavaScript, Microsoft's Dynamic HTML, VBScript, Perl and XML. Students really want to "cut to the chase." There is great stuff to be done in all these languages so let's get right to it! Web programming is not trivial by any means, but it's 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 much 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.

World Wide Web Access

All of the code for Internet and World Wide Web How to Program (and our other publications) is on the Internet free for download at the Deitel & Associates, Inc. Web site

http://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. It's a great way to learn programming by doing 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.

Objectives

Each chapter begins with a statement of Objectives. This tells the student what to expect and gives the student an opportunity, after reading the chapter, to determine if he or she has met these objectives. It is a confidence builder and a source of positive reinforcement.

Quotations

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 you read each chapter.

Outline

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.

10,889 Lines of Code in 202 Example Programs (with Program Outputs)

We present features in the context of complete, working programs. This is the focus of our teaching and our writing. We call it our "live-code" approach. 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 download all the code for the book from our Web site and run each program while studying that program in the text. The programs are available at http://www.deitel.com/

499 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 control structures.

367 Programming Tips

We have included programming tips to help students focus on important aspects of program development. We highlight hundreds of these tips 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.

77 Good Programming Practices

When we teach introductory courses, we state that the "buzzword" of each course is "clarity," and we highlight as Good Programming Practices techniques for writing programs that are clearer, more understandable, more debuggable, and more maintainable.

95 Common Programming Errors

Students learning a language tend to make certain errors frequently. Focusing the students' attention on these Common Programming Errors helps students avoid making the same errors. It also helps reduce the long lines outside instructors' offices during office hours!

30 Testing and Debugging Tips

When we first designed this "tip type," we thought we would use it strictly to describe how to test and debug programs. In fact, many of the tips simply describe aspects of markup languages and scripting languages that reduce the likelihood of introducing "bugs" in the first place and thus simplify the testing and debugging process for programs.

36 Performance Tips

In our experience, teaching students to write clear and understandable programs is by far the most important goal for a first programming course. But 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 really care about performance. They want to know what they can do to "turbo charge" their programs. So we have included many Performance Tips that highlight opportunities for improving program performance.

25 Portability Tips

Some programmers assume that if they implement a Web application, the application will automatically be "perfectly" portable across all browsers. Unfortunately, this is not always the case. We include Portability Tips to help students write portable code, and also to provide insights on how complex an issue portability truly is.

87 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.

17 Look-and-Feel Observations

We provide Look-and-Feel Observations to highlight graphical user interface conventions. These observations help students design their own graphical user interfaces to conform with industry norms.

Summary (1111 Summary bullets)

Each chapter ends with additional pedagogical devices. We present a thorough, bullet-list-style Summary of the chapter. On average, there are 38 summary bullets per chapter. This helps the students review and reinforce key concepts.

Terminology (2445 Terms)

We include in a Terminology section an alphabetized list of the important terms defined in the chapter — again, further reinforcement. On average, there are 84 terms per chapter.

Summary of Tips, Practices and Errors

For ease of reference, we collect at the back of each chapter the Good Programming Practices, Common Programming Errors, Testing and Debugging Tips, Performance Tips, Portability Tips, Software Engineering Observations and Look-and-Feel Observations.

498 Self-Review Exercises and Answers (Count Includes Separate Parts)

Extensive self-review exercises and answers are included for self-study. This gives the student a chance to build confidence with the material and prepare for the regular exercises. Students should attempt all the self-review exercises and check their answers.

590 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 methods and classes; writing complete methods, classes, applets and applications; and writing major term projects. The large number of exercises across a wide variety of areas 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 most 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 of the exercises are included on the Internet and World Wide Web Multimedia Cyber Classroom CD (available in bookstores and computer stores; please see the last few pages of this book or visit our Web site at http://www.deitel.com/ for ordering instructions).

Approximately 5800 Index Entries (with approximately 8000 Page References)

We have included an extensive Index at the back of the book. This helps the student 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. Each of the terms in the Terminology sections appears 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 and World Wide Web How to Program has 202 live-code examples and 590 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, such as "Maze Generator and Walker," are indexed both alphabetically (in this case under "M") and as subindex items under "Exercises."

Bibliography

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

Tour of the Book

As we write this, there exist few formal university courses dedicated solely to programming for the Internet and the World Wide Web. This book is our view of an Internet and World Wide Web programming course — we felt that writing a book on this subject would prompt faculty to teach these topics.

We welcome any feedback you may have about how to improve this book for future editions. In addition, please let us know if you have Netscape-specific requirements that we might be able to help with so that you may effectively use the book in your classes.

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

The following brief walk-through discusses the exciting technologies covered in the book. Chapter 1 contains a more detailed walk-through.

In Chapter 1 we present some historical information about computers and computer programming, as well as introductory information about the Internet and the World Wide Web. In Chapter 2, we introduce Microsoft's powerful Internet Explorer 5 (IE5) browser and several of its included programs such as Chat, NetMeeting and Outlook Express (included on the CD for both the professional and academic markets).

Chapters 3 and 4 present HTML 4 from the introductory through intermediate levels. We introduce the basics of creating Web pages in HTML using a technique we call the live-code approach. Every concept is presented in the context of a complete working HTML/JavaScript/Dynamic HTML document (or Web page) that is immediately followed by the screen output produced when that HTML document is rendered by Internet Explorer 5. By the end of Chapter 4, students will be creating substantial, visually appealing Web sites.

Chapter 5 is an introduction to Jasc Software's Paint Shop Pro 5 (a 30-day evaluation copy of the software is included on the CD). Great Web pages often come alive with rich graphics and multimedia. This chapter explains how to use many of Paint Shop Pro's powerful graphics capabilities to create images that can add pizzazz to Web pages.

In Chapter 6, we introduce Microsoft FrontPage Express — a simple WYSIWYG HTML editor that allows you to create Web pages quickly and easily.

Chapter 7 is an Introduction to Microsoft Visual InterDev 6, a heavy-duty, industrial-strength integrated development environment for developing Internet and World-Wide-Web based applications. In this chapter, we discuss the basics of the InterDev environment. In later chapters of the book, you can use InterDev with various server-side technologies such as Active Server Pages to quickly build powerful Web-based applications. Note: Although Chapter 7 is the only chapter of this book that uses Visual InterDev, you can (optionally) choose to use InterDev throughout the book. Readers not interested in using InterDev should simply skip Chapter 7.

Chapters 8 through 13 introduce programming and scripting for nonprogrammers. We use JavaScript to introduce programming, control structures, functions, event handling, arrays and objects (object-based programming). We then use the features of JavaScript in Chapters 14 through 21 to demonstrate dynamic manipulation of We page contents. JavaScript enables us to present fundamental computer-science concepts at the same depth as other programming languages (such as C, C++, Java and Visual Basic), but in the exciting context of the Internet and World Wide Web.

Note: JavaScript was created by Netscape. Microsoft's version is called JScript. The languages are close. Netscape, Microsoft and other companies are cooperating with the European Computer Manufacturer's Association (ECMA) to produce a universal, client-side scripting language, the current version of which is referred to as ECMA-262. JavaScript and JScript each conform to this standard. We tested the JavaScript programs in Chapters 8 through 12. Each of these programs works in the latest Netscape and Microsoft browsers.

In Chapters 14 through 20 we teach Dynamic HTML. In these chapters we cover Cascading Style Sheets (CSS), the DHTML object model and collections, the event model, filters and transitions, data binding with the Tabular Data Control, and four ActiveX controls useful for enhancing your page's visual appeal — the Structured Graphics Control, Sprite Control, Sequencer Control, and Path Control. Dynamic HTML is stunning! In these chapters, students will turn their Web sites into dynamic masterpieces. From sorting data on the client side to applying dynamic light filters to images, Dynamic HTML is a truly powerful way to add glitz, glimmer and animation in a way that minimizes the load on your servers and the Internet to your Web pages.

Chapter 21, "Multimedia", is a delight! We focus on the explosion of audio, video and speech technology appearing on the Web. Students will learn how to add sound and video to their Web pages. They learn how to add animated characters which handle both speech synthesis and voice recognition with Microsoft Agent. This chapter demonstrates how to incorporate streaming audio, specifically for the RealNetworks RealPlayer into a Web page. We also demonstrate an example of embedding VRML, the three-dimensional Virtual Reality Modeling Language.

In Chapter 22, we assume the reader is now familiar with the principles of programming and scripting (from studying and using JavaScript in Chapters 8 through 21), so we present Microsoft's VBScript condensed into a single chapter. VBScript is a peer scripting language to JavaScript. It is a subset of Visual Basic. It can certainly be used for client-side scripting, but because it is a Microsoft-specific technology you would probably use it for client-side supporting only on Microsoft Intranet-based applications. VBScript has become the de facto standard for writing server-side Active Server Pages (ASP), which we discuss in detail in Chapter 26. Because we need to discuss VBScript before ASP, we have chosen to include this chapter as the last in our discussion of client-side scripting (so in this book you see VBScript being used for both client-side, and server-side scripting).

Chapter 23, "Electronic Commerce and Security," is a unique chapter for an introductory programming textbook. The Web has caused a complete rethinking of the way systems should most effectively be designed and implemented. E-Commerce is hot! Businesses are reinventing themselves online, incorporating Internet and Web technology into existing systems and new information systems design. The trade publications are abuzz with e-commerce. This chapter discusses the fundamentals of conducting business on the Internet and the Web. Our goal is to give students an understanding of how important this topic is now and how it will continue to be important as they pursue their careers. We present a number of case studies, with the key goal of highlighting the common core of technologies needed to implement e-commerce systems. We emphasize the importance of Internet and Web technology, database technology, security technology and others. Then in the remainder of the server-side programming chapters, we put many of these technologies to work in constructing actual multi-tiered, client/server, database-intensive Web-based systems.

In Chapter 24, we present several major Web servers in use today. We focus on setting up Microsoft's Personal Web Server (PWS) as a simple server with which students can begin to grasp the complexities involved in running a Web site. Three other Web servers — Microsoft's Internet Information Server (IIS), the W3C's Java-based Jigsaw Server and Apache (the most widely used server on the Web today) — are presented later in that chapter, with overviews and directions should the student desire to move past the limited functionality and configurability of Personal Web Server. Note: Although we mention these server software packages in our book, our organization does not provide support for them.

A common topic among all three server technologies is the ability to interact with databases. Databases are crucial to any intensive e-commerce application — maintaining customer lists, product lists, user names and passwords. To that effect, our book offers discussions of a variety of database technologies. In Chapter 17, we cover Microsoft's Tabular Data Control (TDC), which uses an ActiveX control to sort and filter data directly on the client side. Chapter 25 is devoted exclusively to database topics, including an introduction to the Structured Query Language (SQL), the de facto language for querying databases), a discussion of ActiveX Data Objects (ADO), Open Database Connectivity (ODBC) and Remote Data Services (RDS), which complements the TDC by allowing the client effect state changes in the server-side database. The chapters devoted to ASP, Perl, and Java Servlets all cover implementing database access smoothly into your Web-based applications.

In Chapter 26 we discuss Microsoft's Active Server Pages (ASP), the first of the three most popular server-side software development paradigms the book presents. Active Server Pages can be programmed in a variety of languages — by far the most popular of these is Microsoft's VBScript which we discuss thoroughly in Chapter 22. In a typical multitiered Web-based application, there is a top-tier containing the code that interacts directly with the user. This tier, called the client, is usually the browser (such as IE5) rendering a Web-page and executing scripting commands. These commands can be implemented in a variety of languages, but JavaScript has become the de facto standard universal client-side scripting language. Microsoft offers its version of JavaScript which is called JScript. We have tried to use only the common portions of these languages for the client-side scripting code in the book. The bottom tier is the database containing the organization's information. The middle tier, called the server, contains the business logic. Active Server Pages is Microsoft's technology for implementing middle-tier business logic. This a crucial chapter for those readers who will want to implement substantial Web-based applications.

Chapter 27 presents a nice introduction to CGI and Perl, including many real-world, live-code examples and discussions, including demonstrations of some of the most recent features of each of these technologies. As an example, we use Perl's regular expressions and file I/O capabilities to construct a simple search engine.

Chapter 28 covers one of the hottest new technologies — XML. XML is a language for creating new markup languages. The possible uses for XML are endless. Chess fans might want to transmit marked-up chess moves — in this chapter we do just that, using JavaScript to interpret XML markup into moving images of chess pieces across a board in an HTML Web page!

In Chapter 29 we discuss Java servlets, a third popular way of building the server side of Web-based applications (the other two are ASP and Perl/CGI). This chapter is included as a "bonus section" for the portion of our audience that is familiar with Java.

Internet and World Wide Web How to Program Companion CD

The CD-ROM at the end of this book contains Microsoft's Internet Explorer 5 and Personal Web Server 4, JASC Software's Paint Shop Pro 5 (30-day evaluation version) and Adobe Acrobat Reader 4. The CD also contains the book's examples and an HTML Web page with links to the Deitel & Associates, Inc. Web site, the Prentice Hall Web site and the many Web sites listed in the Web resources sections of several 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.

For complete CD-ROM installation instructions, use your browser to read the file WELCOME.HTM on the CD. We will be putting additional information on our Web site: http://www.deitel.com/. We do not provide support for the software application programs. However, if you have technical questions about the installation of the CD, please email media.support@pearsoned.com. A timely response will be returned to you.

Internet and World Wide Web Programming Multimedia Cyber Classroom and The Complete Internet and World Wide Web Programming Training Course

We have prepared an interactive, CD-ROM-based, software version of Internet and World Wide Web How to Program called the Internet and World Wide Web Programming Multimedia Cyber Classroom. It is loaded with features for learning and reference. The Cyber Classroom is wrapped with the textbook at a discount in The Complete Internet and World Wide Web Programming Training Course. If you already have the book and would like to purchase the Internet and World Wide Web Programming Multimedia Cyber Classroom separately, please call 1-800-811-0912 and ask for ISBN# 0-13-016842-4.

The CD has an introduction with the authors overviewing the Cyber Classroom's features. The 202 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 on the lightning bolt icon and the program will run. You will immediately 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, recompile the program 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. The Web browser remembers in a "history list" recent sections you have visited and allows you to move forward or backward through them. The thousands of index entries are hyperlinked to their text occurrences. You can key in a term using the "Search" 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 like the hundreds of solved problems from the textbook 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 because of the extensive hyperlinking and other navigational features. We recently had an email 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 a nice 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 also published the C++ Multimedia Cyber Classroom (2/e), the Visual Basic 6 Multimedia Cyber Classroom and the Java 2 Multimedia Cyber Classroom (3/e).

We would sincerely appreciate your comments, criticisms, corrections and suggestions for improving the text. Please address all correspondence to our email address:

deitel@deitel.com

We will respond immediately. Well, that's it for now. Welcome to the exciting world of Internet and World Wide Web programming. We hope you enjoy this look at leading-edge computer applications development. Good luck!

Dr. Harvey M. Deitel Paul J. Deitel Tem R. Nieto

About the Authors

Dr. Harvey M. Deitel, CEO of Deitel & Associates, Inc., has 38 years experience in the computing field including extensive industry and academic experience. He is one of the world's leading computer science instructors and seminar presenters. Dr. Deitel earned B.S. and M.S. degrees from the Massachusetts Institute of Technology and a Ph.D. from Boston University. He worked on the pioneering virtual memory operating systems projects at IBM and MIT that developed techniques widely implemented today in systems like UNIX and Windows NT. He has 20 years of college teaching experience including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc. with Paul J. Deitel. He is author or co-author of several dozen books and multimedia packages and is currently writing many more. With translations published in Japanese, Russian, Spanish, Basic Chinese, Advanced Chinese, Korean, French, Polish and Portuguese, Dr. Deitel's texts have earned international recognition. Dr. Deitel has delivered professional seminars internationally to major corporations, government organizations and various branches of the military.

Paul J. Deitel, Executive Vice President of Deitel & Associates, Inc., is a graduate of the Massachusetts Institute of Technology's Sloan School of Management where he studied Information Technology. Through Deitel & Associates, Inc. he has delivered Java, C and C++ courses for industry clients including Compaq, Digital Equipment Corporation, Sun Microsystems, Rogue Wave Software, Computervision, Stratus, Fidelity, Cambridge Technology Partners, Open Environment Corporation, One Wave, Hyperion Software, Lucent Technologies, Adra Systems, Entergy, CableData Systems, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, IBM and many others. He has lectured on C++ and Java for the Boston Chapter of the Association for Computing Machinery. He has taught satellite-based Java courses through a cooperative venture of Deitel & Associates, Inc., Prentice Hall and the Technology Education Network. He is the co-author of sixteen books and multimedia packages with Harvey Deitel and is currently writing many more.

Tem R. Nieto, Principal Instructor with Deitel & Associates, Inc., is a graduate of the Massachusetts Institute of Technology where he studied engineering and computing. Through Deitel & Associates, Inc. he has delivered courses for industry clients including Sun Microsystems, Digital Equipment Corporation, Compaq, EMC, Stratus, Fidelity, Art Technology, Progress Software, Toys "R" Us, Operational Support Facility of the National Oceanographic and Atmospheric Administration, Jet Propulsion Laboratory, Nynex, Motorola, Federal Reserve Bank of Chicago, Banyan, Schlumberger, University of Notre Dame, NASA, various military installations and many others. He has co-authored five books and multimedia packages with the Deitels and contributed to several others.

The Deitels are co-authors of the best-selling introductory college computer-science programming language textbooks, C How to Program: Second Edition, C++ How to Program: Second Edition, Java How to Program: Third Edition and Visual Basic 6 How to Program (co-authored with Tem R. Nieto). The Deitels are also co-authors of the C & C++ Multimedia Cyber Classroom: Second Edition — Prentice Hall's first multimedia-based textbook, the Java 2 Multimedia Cyber Classroom: Third Edition, the Visual Basic 6 Multimedia Cyber Classroom co-authored with their colleague Tem R. Nieto and the Internet and World Wide Web Programming Multimedia Cyber Classroom. The Deitels are also co-authors of The Complete C++ Training Course: Second Edition, The Complete Visual Basic 6 Training Course, The Complete Java 2 Training Course: Third Edition and The Complete Internet and World Wide Web Programming Training Course — these products each contain the corresponding How to Program Series textbook and the corresponding Multimedia Cyber Classroom.

About Deitel & Associates, Inc.

Deitel & Associates, Inc. is an internationally recognized corporate training and publishing organization specializing in programming languages, Internet/World Wide Web technology and object technology education. Deitel & Associates, Inc. is a member of the World Wide Web Consortium. The company provides courses on Java, C++, Visual Basic, C, Internet and World Wide Web programming, and Object Technology. The principals of Deitel & Associates, Inc. are Dr. Harvey M. Deitel and Paul J. Deitel. The company's clients include some of the world's largest computer companies, government agencies, branches of the military and business organizations. Through its publishing partnership with Prentice Hall, Deitel & Associates, Inc. publishes leading-edge programming textbooks, professional books, interactive CD-ROM-based multimedia Cyber Classrooms, satellite courses and World Wide Web courses. Deitel & Associates, Inc. and the authors can be reached via email at

deitel@deitel.com

To learn more about Deitel & Associates, Inc., its publications, public seminar schedule and worldwide corporate on-site curriculum, see the last few pages of this book and visit:

http://www.deitel.com/

Deitel & Associates, Inc. has competitive opportunities in its College Internship Program for students in the Boston area. For information, please contact Abbey Deitel at deitel@deitel.com.

Individuals wishing to purchase Deitel books and multimedia packages can do so through

http://www.deitel.com/

Bulk orders by corporations and academic institutions should be placed directly with Prentice Hall — see the last few pages of this book for worldwide ordering details.

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020