did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780130092298

Core Servlets and JavaServer Pages Volume 1: Core Technologies

by ;
  • ISBN13:

    9780130092298

  • ISBN10:

    0130092290

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2003-08-26
  • Publisher: PEARSO

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $69.99 Save up to $17.50
  • Buy Used
    $52.49
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

bull; Introduces powerful new Servlet/JSP techniques that take advantage of the new features of JSP 2.0, servlets 2.4, and the JSP Standard Tag Library (JSTL) bull; Covers advanced JDBC topics, XML integration, Apache Struts and Integrating servlets and JSP with the Model-View-Controller (MVC) architecture bull; Written by best-selling author Marty Hall -- who states this is "a significant revision. "

Author Biography

MARTY HALL is president of coreservlets.com, Inc., a small company that provides training courses and consulting services related to server-side Java technology. He also teaches Java and Web programming in the Johns Hopkins University part-time graduate program in Computer Science, where he directs the Distributed Computing and Web Technology concentration areas. Marty is the author of four books from Prentice Hall and Sun Microsystems Press: the first edition of Core Servlets and JavaServer Pages, More Servlets and JavaServer Pages, and the first and second editions of Core Web Programming.

LARRY BROWN is a Senior Network Engineer and Oracle DBA for the U.S. Navy (NSWCCD), where he specializes in developing and deploying network and Web solutions in an enterprise environment. He is also a Computer Science faculty member at the Johns Hopkins University, where he teachers server-side programming, distributed Web programming, and Java user interface development for the part-time graduate program. Larry is the co-author of the second edition of Core Web Programming, also from Prentice Hall and Sun Microsystems Press.

Table of Contents

ACKNOWLEDGMENTS XXIII
About the Authors
xxiv
INTRODUCTION XXV
Who Should Read This Book
xxvii
Volume 2
xxvii
Distinctive Features
xxviii
How This Book Is Organized
xxx
Conventions
xxxi
About the Web Site
xxxii
CHAPTER 1 AN OVERVIEW OF SERVLET AND JSP TECHNOLOGY 2(12)
1.1 A Servlet's Job
3(2)
1.2 Why Build Web Pages Dynamically?
5(1)
1.3 A Quick Peek at Servlet Code
6(1)
1.4 The Advantages of Servlets Over "Traditional" CGI
7(4)
Efficient
8(1)
Convenient
8(1)
Powerful
8(1)
Portable
9(1)
Inexpensive
9(1)
Secure
10(1)
Mainstream
10(1)
1.5 The Role of JSP
11(3)
PART I SERVLET TECHNOLOGY 14(286)
CHAPTER 2 SERVER SETUP AND CONFIGURATION
16(48)
2.1 Download and Install the Java Software Development Kit (SDK)
18(1)
2.2 Download a Server for Your Desktop
19(3)
2.3 Configure the Server
22(1)
2.4 Configuring Apache Tomcat
23(5)
Setting the JAVA_HOME Variable
24(1)
Specifying the Server Port
25(1)
Enabling Servlet Reloading
26(1)
Enabling the ROOT Context
26(1)
Turning on the Invoker Servlet
26(1)
Increasing DOS Memory Limits
27(1)
Setting CATALINA_HOME
27(1)
Testing the Basic Server Setup
27(1)
2.5 Configuring Macromedia JRun
28(6)
The JRun Serial Number
29(1)
JRun User Restrictions
29(1)
The Java Installation Location
30(1)
The Server Installation Location
30(1)
The Administrator Username and Password
30(1)
The Autostart Capability
31(1)
The Server Port
32(1)
Testing the Basic Server Setup
33(1)
2.6 Configuring Caucho Resin
34(1)
Setting the JAVA_HOME Variable
34(1)
Specifying the Resin Port
34(1)
Testing the Basic Server Setup
34(1)
2.7 Set Up Your Development Environment
35(4)
Creating a Development Directory
36(1)
Setting Your CLASSPATH
36(2)
Making Shortcuts to Start and Stop the Server
38(1)
Bookmarking or Installing the Servlet and JSP API Documentation
39(1)
2.8 Test Your Setup
39(10)
Verifying Your SDK Installation
40(1)
Checking Your Basic Server Configuration
40(2)
Compiling and Deploying Some Simple Servlets
42(7)
2.9 Establish a Simplified Deployment Method
49(3)
Copying to a Shortcut or Symbolic Link
50(1)
Using the -d Option of javac
51(1)
Letting Your IDE Take Care of Deployment
51(1)
Using ant or a Similar Tool
52(1)
2.10 Deployment Directories for Default Web Application: Summary
52(3)
Tomcat
53(1)
JRun
53(1)
Resin
54(1)
2.11 Web Applications: A Preview
55(9)
Making a Web Application Directory
56(1)
Updating Your CLASSPATH
57(1)
Registering the Web Application with the Server
57(1)
Using the URL Prefix
58(2)
Assigning Custom URLs to Your Servlets
60(4)
CHAPTER 3 SERVLET BASICS
64(30)
3.1 Basic Servlet Structure
66(2)
3.2 A Servlet That Generates Plain Text
68(2)
3.3 A Servlet That Generates HTML
70(2)
3.4 Servlet Packaging
72(2)
3.5 Simple HTML-Building Utilities
74(3)
3.6 The Servlet Life Cycle
77(9)
The service Method
77(1)
The doGet, doPost, and doXxx Methods
78(1)
The init Method
79(6)
The destroy Method
85(1)
3.7 The Single ThreadModel Interface
86(4)
3.8 Servlet Debugging
90(4)
CHAPTER 4 HANDLING THE CLIENT REQUEST: FORM DATA
94(52)
4.1 The Role of Form Data
95(2)
4.2 Reading Form Data from Servlets
97(3)
Reading Single Values: getParameter
97(1)
Reading Multiple Values: getParameterValues
98(1)
Looking Up Parameter Names: getParameterNames and getParameterMap
98(1)
Reading Raw Form Data and Parsing Uploaded Files: getReader or getInputStream
99(1)
Reading Input in Multiple Character Sets: setCharacterEncoding
99(1)
4.3 Example: Reading Three Parameters
100(4)
4.4 Example: Reading All Parameters
104(4)
4.5 Using Default Values, When Parameters Are Missing or Malformed
108(12)
4.6 Filtering Strings for HTML-Specific Characters
120(7)
Code for Filtering
121(2)
Example: A Servlet That Displays Code Snippets
123(4)
4.7 Automatically Populating Java Objects from Request Parameters: Form Beans
127(7)
Putting BeanUtilities to Work
130(3)
Obtaining and Installing the Jakarta Commons Packages
133(1)
4.8 Redisplaying the Input Form When Parameters Are Missing or Malformed
134(12)
Redisplay Options
135(1)
A Servlet That Processes Auction Bids
136(10)
CHAPTER 5 HANDLING THE CLIENT REQUEST: HTTP REQUEST HEADERS
146(28)
5.1 Reading Request Headers
148(2)
5.2 Making a Table of AII Request Headers
150(2)
5.3 Understanding HTTP I.I Request Headers
152(4)
5.4 Sending Compressed Web Pages
156(5)
5.5 Differentiating Among Different Browser Types
161(2)
5.6 Changing the Page According to How the User Got There
163(4)
5.7 Accessing the Standard CGI Variables
167(7)
Servlet Equivalent of CGI Variables
168(2)
A Servlet That Shows the CGI Variables
170(4)
CHAPTER 6 GENERATING THE SERVER RESPONSE: HTTP STATUS CODES
174(20)
6.1 Specifying Status Codes
176(2)
Setting Arbitrary Status Codes: setStatus
176(1)
Setting 302 and 404 Status Codes: sendRedirect and sendError
177(1)
6.2 HTTP 1.1 Status Codes
178(6)
6.3 A Servlet That Redirects Users to Browser-Specific Pages
184(2)
6.4 A Front End to Various Search Engines
186(8)
CHAPTER 7 GENERATING THE SERVER RESPONSE: HTTP RESPONSE HEADERS
194(34)
7.1 Setting Response Headers from Servlets
196(1)
7.2 Understanding HTTP 1.1 Response Headers
197(7)
7.3 Building Excel Spreadsheets
204(2)
7.4 Persistent Servlet State and Auto-Reloading Pages
206(11)
Finding Prime Numbers for Use with Public Key Cryptography
206(11)
7.5 Using Servlets to Generate JPEG Images
217(11)
CHAPTER 8 HANDLING COOKIES
228(34)
8.1 Benefits of Cookies
229(2)
Identifying a User During an E-commerce Session
230(1)
Remembering Usernames and Passwords
230(1)
Customizing Sites
231(1)
Focusing Advertising
231(1)
8.2 Some Problems with Cookies
231(3)
8.3 Deleting Cookies
234(2)
8.4 Sending and Receiving Cookies
236(3)
Sending Cookies to the Client
236(2)
Reading Cookies from the Client
238(1)
8.5 Using Cookies to Detect First-Time Visitors
239(2)
8.6 Using Cookie Attributes
241(3)
8.7 Differentiating Session Cookies from Persistent Cookies
244(4)
8.8 Basic Cookie Utilities
248(2)
Finding Cookies with Specified Names
248(2)
Creating Long-Lived Cookies
250(1)
8.9 Putting the Cookie Utilities into Practice
250(2)
8.10 Modifying Cookie Values: Tracking User Access Counts
252(3)
8.11 Using Cookies to Remember User Preferences
255(7)
CHAPTER 9 SESSION TRACKING
262(38)
9.1 The Need for Session Tracking
263(2)
Cookies
264(1)
URL Rewriting
264(1)
Hidden Form Fields
265(1)
Session Tracking in Servlets
265(1)
9.2 Session Tracking Basics
265(4)
Accessing the Session Object Associated with the Current Request
266(1)
Looking Up Information Associated with a Session
267(1)
Associating Information with a Session
268(1)
Discarding Session Data
268(1)
9.3 The Session-Tracking API
269(2)
9.4 Browser Sessions vs. Server Sessions
271(1)
9.5 Encoding URLs Sent to the Client
272(1)
9.6 A Servlet That Shows Per-Client Access Counts
273(4)
9.7 Accumulating a List of User Data
277(4)
9.8 An On-Line Store with a Shopping Cart and Session Tracking
281(21)
Creating the Front End
281(5)
Handling the Orders
286(6)
Behind the Scenes: Implementing the Shopping Cart and Catalog Items
292(8)
PART II JSP TECHNOLOGY 300(196)
CHAPTER 10 OVERVIEW OF JSP TECHNOLOGY
302(16)
10.1 The Need for JSP
304(1)
10.2 Benefits of JSP
305(1)
10.3 Advantages of JSP Over Competing Technologies
306(3)
Versus NET and Active Server Pages (ASP)
306(1)
Versus PHP
307(1)
Versus Pure Servlets
307(1)
Versus JavaScript
308(1)
Versus WebMacro or Velocity
308(1)
10.4 Misconceptions About JSP
309(3)
Forgetting JSP Is Server-Side Technology
309(1)
Confusing Translation Time with Request Time
310(1)
Thinking JSP Alone Is Sufficient
311(1)
Thinking Servlets Alone Are Sufficient
312(1)
10.5 Installation of JSP Pages
312(2)
JSP Directories for Tomcat (Default Web Application)
312(1)
JSP Directories for JRun (Default Web Application)
313(1)
JSP Directories for Resin (Default Web Application)
313(1)
10.6 Basic Syntax
314(4)
HTML Text
314(1)
HTML Comments
314(1)
Template Text
314(1)
JSP Comment
314(1)
JSP Expression
315(1)
JSP Scriptlet
315(1)
JSP Declaration
315(1)
JSP Directive
315(1)
JSP Action
316(1)
JSP Expression Language Element
316(1)
Custom Tag (Custom Action)
316(1)
Escaped Template Text
317(1)
CHAPTER 11 INVOKING JAVA CODE WITH JSP SCRIPTING ELEMENTS
318(34)
11.1 Creating Template Text
319(1)
11.2 Invoking Java Code from JSP
320(1)
Types of JSP Scripting Elements
321(1)
11.3 Limiting the Amount of Java Code in JSP Pages
321(4)
The Importance of Using Packages
323(2)
11.4 Using JSP Expressions
325(3)
Predefined Variables
325(1)
JSP/Servlet Correspondence
326(1)
XML Syntax for Expressions
327(1)
11.5 Example: JSP Expressions
328(2)
11.6 Comparing Servlets to JSP Pages
330(2)
11.7 Writing Scriptlets
332(2)
JSP/Servlet Correspondence
333(1)
XML Syntax for Scriptlets
334(1)
11.8 Scriptlet Example
334(2)
11.9 Using Scriptlets to Make Parts of the JSP Page Conditional
336(2)
11.10 Using Declarations
338(2)
JSP/Servlet Correspondence
339(1)
XML Syntax for Declarations
340(1)
11.11 Declaration Example
340(2)
11.12 Using Predefined Variables
342(2)
11.13 Comparing JSP Expressions, Scriptlets, and Declarations
344(8)
Example 1: JSP Expressions
345(2)
Example 2: JSP Scriptlets
347(2)
Example 3: JSP Declarations
349(3)
CHAPTER 12 CONTROLLING THE STRUCTURE OF GENERATED SERVLETS: THE JSP PAGE DIRECTIVE
352(20)
12.1 The import Attribute
354(3)
12.2 The contentType and pageEncoding Attributes
357(2)
Generating Excel Spreadsheets
358(1)
12.3 Conditionally Generating Excel Spreadsheets
359(3)
12.4 The session Attribute
362(1)
12.5 The isELIgnored Attribute
363(1)
12.6 The buffer and autoFlush Attributes
363(1)
12.7 The info Attribute
364(1)
12.8 The errorPage and isErrorPage Attributes
364(3)
12.9 The isThreadSafe Attribute
367(2)
12.10 The extends Attribute
369(1)
12.11 The language Attribute
369(1)
12.12 XML Syntax for Directives
370(2)
CHAPTER 13 INCLUDING FILES AND APPLETS IN JSP PAGES
372(26)
13.1 Including Pages at Request Time: The jsp:include Action
374(6)
The page Attribute: Specifying the Included Page
374(2)
XML Syntax and jsp:include
376(1)
The flush Attribute
376(1)
A News Headline Page
377(2)
The jsp:param Element: Augmenting Request Parameters
379(1)
13.2 Including Files at Page Translation Time: The include Directive
380(6)
Maintenance Problems with the include Directive
381(1)
Additional Power from the include Directive
382(1)
Updating the Main Page
383(1)
XML Syntax for the include Directive
383(1)
Example: Reusing Footers
383(3)
13.3 Forwarding Requests with jsp:forward
386(1)
13.4 Including Applets for the Java Plug-In
386(12)
The jsp:plugin Element
389(2)
The jsp:param and jsp:params Elements
391(1)
The jsp:fallback Element
392(1)
A jsp:plugin Example
392(6)
CHAPTER 14 USING JAVABEANS COMPONENTS IN JSP DOCUMENTS
398(36)
14.1 Why Use Beans?
400(1)
14.2 What Are Beans?
400(2)
14.3 Using Beans: Basic Tasks
402(4)
Building Beans: jsp:useBean
402(1)
Installing Bean Classes
403(1)
Using jsp:useBean Options: scope, beanName, and type
404(1)
Accessing Bean Properties: jsp:getProperty
405(1)
Setting Simple Bean Properties: jspgetProperty
405(1)
14.4 Example: StringBean
406(3)
14.5 Setting Bean Properties: Advanced Techniques
409(8)
Associating Individual Properties with Input Parameters
414(1)
Associating All Properties with Request Parameters
415(2)
14.6 Sharing Beans
417(4)
Creating Beans Conditionally
418(3)
14.7 Sharing Beans in Four Different Ways: An Example
421(13)
Building the Bean and the Bean Tester
422(1)
Using scope="page"-No Sharing
423(2)
Using Request-Based Sharing
425(3)
Using Session-Based Sharing
428(2)
Using ServletContext-Based Sharing
430(4)
CHAPTER 15 INTEGRATING SERVLETS AND JSP: THE MODEL VIEW CONTROLLER (MVC) ARCHITECTURE
434(30)
15.1 Understanding the Need for MVC
435(2)
MVC Frameworks
436(1)
Architecture or Approach?
437(1)
15.2 Implementing MVC with RequestDispatcher
437(6)
Defining Beans to Represent the Data
438(1)
Writing Servlets to Handle Requests
438(1)
Populating the Beans
439(1)
Storing the Results
439(1)
Forwarding Requests to JSP Pages
440(3)
Extracting Data from Beans
443(1)
15.3 Summarizing MVC Code
443(2)
Request-Based Data Sharing
443(1)
Session-Based Data Sharing
444(1)
Application-Based Data Sharing
444(1)
15.4 Interpreting Relative URLs in the Destination Page
445(1)
15.5 Applying MVC: Bank Account Balances
446(7)
15.6 Comparing the Three Data-Sharing Approaches
453(9)
Request-Based Sharing
454(2)
Session-Based Sharing
456(3)
Application-Based Sharing
459(3)
15.7 Forwarding Requests from JSP Pages
462(1)
15.8 Including Pages
463(1)
CHAPTER 16 SIMPLIFYING ACCESS TO JAVA CODE: THE JSP 2.0 EXPRESSION LANGUAGE
464(32)
16.1 Motivating EL Usage
465(2)
16.2 Invoking the Expression Language
467(1)
Escaping Special Characters
468(1)
16.3 Preventing Expression Language Evaluation
468(3)
Deactivating the Expression Language in an Entire Web Application
469(1)
Deactivating the Expression Language in Multiple JSP Pages
469(1)
Deactivating the Expression Language in Individual JSP Pages
470(1)
Deactivating Individual Expression Language Statements
470(1)
16.4 Preventing Use of Standard Scripting Elements
471(1)
16.5 Accessing Scoped Variables
472(3)
Choosing Attribute Names
473(1)
An Example
473(2)
16.6 Accessing Bean Properties
475(6)
Equivalence of Dot Notation and Array Notation
476(1)
An Example
477(4)
16.7 Accessing Collections
481(2)
An Example
481(2)
16.8 Referencing Implicit Objects
483(4)
An Example
485(2)
16.9 Using Expression Language Operators
487(4)
Arithmetic Operators
487(1)
Relational Operators
488(1)
Logical Operators
489(1)
The empty Operator
489(1)
An Example
489(2)
16.10 Evaluating Expressions Conditionally
491(4)
An Example
492(3)
16.11 Previewing Other Expression Language Capabilities
495(1)
PART III SUPPORTING TECHNOLOGY 496(162)
CHAPTER 17 ACCESSING DATABASES WITH JDBC
498(56)
17.1 Using JDBC in General
500(9)
Load the JDBC Driver
501(3)
Define the Connection URL
504(1)
Establish the Connection
504(1)
Create a Statement Object
505(1)
Execute a Query or Update
505(1)
Process the Results
506(3)
Close the Connection
509(1)
17.2 Basic JDBC Examples
509(8)
17.3 Simplifying Database Access with JDBC Utilities
517(13)
17.4 Using Prepared Statements
530(4)
17.5 Creating Callable Statements
534(7)
Define the Call to the Database Procedure
535(1)
Prepare a CallableStatement for the Procedure
536(1)
Register the Output Parameter Types
536(1)
Provide Values for the Input Parameters
536(1)
Execute the Stored Procedure
537(1)
Access the Output Parameters
537(1)
Example
537(4)
17.6 Using Database Transactions
541(5)
17.7 Mapping Data to Objects by Using ORM Frameworks
546(8)
CHAPTER 18 CONFIGURING MS ACCESS, MYSQL, AND ORACLE9I
554(52)
18.1 Configuring Microsoft Access for Use with JDBC
556(4)
Select a System DSN from the ODBC
Data Source Administrator
557(1)
Select a Driver for the New System DSN
558(1)
Select a Data Source
558(1)
Select OK to Accept the New DSN
559(1)
18.2 Installing and Configuring MySQL
560(3)
Download and Install MySQL
561(1)
Create a Database
561(1)
Create a User
562(1)
Install the JDBC Driver
562(1)
18.3 Installing and Configuring Oracle9i Database
563(27)
Download and Install Oracle9i
564(10)
Create a Database
574(1)
Create a Database with the Configuration Assistant
574(7)
Create a Database Manually
581(8)
Create a User
589(1)
Install the JDBC Driver
589(1)
18.4 Testing Your Database Through a JDBC Connection
590(9)
18.5 Setting Up the music Table
599(7)
Using CreateMusicTable.java to Create the music Table
599(3)
Using create_music table.sgl to Create the music Table
602(4)
CHAPTER 19 CREATING AND PROCESSING HTML FORMS
606(52)
Default Web Application: Tomcat
607(1)
Default Web Application: JRun
608(1)
Default Web Application: Resin
608(1)
19.1 How HTML Forms Transmit Data
608(5)
19.2 The FORM Element
613(7)
19.3 Text Controls
620(5)
Textfields
620(3)
Password Fields
623(1)
Text Areas
624(1)
19.4 Push Buttons
625(6)
Submit Buttons
626(3)
Reset Buttons
629(1)
JavaScript Buttons
630(1)
19.5 Check Boxes and Radio Buttons
631(3)
Check Boxes
631(1)
Radio Buttons
632(2)
19.6 Combo Boxes and List Boxes
634(5)
19.7 File Upload Controls
639(2)
19.8 Server-Side Image Maps
641(5)
IMAGE-Standard Server-Side Image Maps
642(2)
ISMAP-Alternative Server-Side Image Maps
644(2)
19.9 Hidden Fields
646(1)
19.10 Groups of Controls
647(2)
19.11 Tab Order Control
649(1)
19.12 A Debugging Web Server
650(9)
EchoServer
650(8)
APPENDIX SERVER ORGANIZATION AND STRUCTURE 658(13)
Tomcat
659(4)
Downloading the Software
659(1)
Bookmarking the Servlet and JSP APIs
659(1)
Configuring the Server
660(1)
Setting Up Your Development Environment
660(1)
Using the Default Web Application
661(1)
Using Custom Web Applications
661(2)
Viewing Autogenerated Code for JSP Pages
663(1)
JRun
663(4)
Downloading the Software
663(1)
Bookmarking the Servlet and JSP APIs
663(1)
Configuring the Server
664(1)
Setting Up Your Development Environment
664(1)
Using the Default Web Application
664(1)
Using Custom Web Applications
665(1)
Viewing Autogenerated Code for JSP Pages
666(1)
Resin
667(4)
Downloading the Software
667(1)
Bookmarking the Servlet and JSP APIs
667(1)
Configuring the Server
667(1)
Setting Up Your Development Environment
668(1)
Using the Default Web Application
668(1)
Using Custom Web Applications
669(1)
Viewing Autogenerated Code for JSP Pages
670(1)
INDEX 671

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

Suppose your company wants to sell products online. You have a database that gives the price and inventory status of each item. But, your database doesn't speak HTTP, the protocol that Web browsers use. Nor does it output HTML, the format Web browsers need. What can you do? Once users know what they want to buy, how do you gather that information? You want to customize your site for visitors' preferences and interests--how? You want to keep track of user's purchases as they shop at your site--what techniques are required to implement this behavior? When your Web site becomes popular, you might want to compress pages to reduce bandwidth. How can you do this without causing your site to fail for the those visitors whose browsers don't support compression? In all these cases, you need a program to act as the intermediary between the browser and some server-side resource. This book is about using the Java platform for this type of program. "Wait a second," you say. "Didn't youalreadywrite a book about that?" Well, yes. In May of 2000, Sun Microsystems Press and Prentice Hall released Marty's second book,Core Servlets and JavaServer Pages. It was successful beyond everyone's wildest expectations, selling approximately 100,000 copies, getting translated into Bulgarian, Chinese simplified script, Chinese traditional script, Czech, French, German, Hebrew, Japanese, Korean, Polish, Russian, and Spanish, and being chosen by Amazon.com as one of the top five computer programming books of 2001. What fun! Since then, use of servlets and JSP has continued to grow at a phenomenal rate. The Java 2 Platform has become the technology of choice for developing e-commerce applications, dynamic Web sites, and Web-enabled applications and service. Servlets and JSP continue to be the foundation of this platform--they provide the link between Web clients and server-side applications. Virtually all major Web servers for Windows, Unix (including Linux), MacOS, VMS, and mainframe operating systems now support servlet and JSP technology either natively or by means of a plugin. With only a small amount of configuration, you can run servlets and JSP in Microsoft IIS, the Apache Web Server, IBM WebSphere, BEA WebLogic, Oracle Application Server 10g, and dozens of other servers. Performance of both commercial and open-source servlet and JSP engines has improved significantly. To no one's surprise, this field continues to grow at a rapid rate. As a result, we could no longer cover the technology in a single book.Core Servlets and JavaServer Pages, Volume 1: Core Technologies, covers the servlet and JSP capabilities that you are likely to use in almost every real-life project. This book,Volume 2: Advanced Technologies, covers features that you may use less frequently but are extremely valuable in robust applications. For example, Deployment descriptor file. Through the proper use of the deployment descriptor file, web.xml, you can control many aspects of the Web application behavior, from preloading servlets, to restricting resource access, to controlling session time-outs. Web application security. In any Web application today, security is a must! The servlet and JSP security model allows you to easily create login pages and control access to resources. Custom tag libraries. Custom tags significantly improve the design of JSPs. Custom tags allow you to easily develop your own library of reusable tags specific to your business applications. In addition to creating your own tags, we cover the Standard Tag Library (JSTL). Event handling. With the events framework, you can control initialization and shutdown of the Web application, recognize destruction of HTTP sessions, and set application wide values. Servlet and JSP filters. With filters, you can apply many pre and post processing actions. For instance, loggi

Rewards Program