
At a Glance
624 Pages
20 x 25.5
New Edition
Paperback
$112.99
or 4 interest-free payments of $28.25 with
 orÂShips in 10 to 15 business days
Industry Reviews
| Introduction to servlet and JSP programming | |
| An introduction to web programming with Java | |
| An introduction to web applications | p. 4 |
| A typical web application | p. 4 |
| The components of a web application | p. 6 |
| How static web pages work | p. 8 |
| How dynamic web pages work | p. 10 |
| An introduction to Java web programming | p. 12 |
| The components of a Java web application | p. 12 |
| An introduction to JavaServer Pages | p. 14 |
| An introduction to servlets | p. 16 |
| How to combine servlets and JSPs in a web application | p. 16 |
| An introduction to Java web development | p. 18 |
| Three platforms for developing servlets and JSPs | p. 18 |
| The architecture for servlet and JSP applications | p. 20 |
| Tools for writing servlets and JSPs | p. 22 |
| Tools for deploying servlets and JSPs | p. 24 |
| How to install and use Tomcat | |
| How to install and configure Tomcat | p. 30 |
| How to install Tomcat on your own PC | p. 30 |
| A summary of Tomcat's directories and files | p. 32 |
| How to set the JAVA_HOME environment variable | p. 34 |
| How to change the memory settings for Tomcat's batch files | p. 36 |
| How to turn on servlet reloading | p. 38 |
| How to use Tomcat | p. 40 |
| How to start and stop Tomcat | p. 40 |
| How to view a web page | p. 42 |
| How to view a directory listing | p. 44 |
| A quick guide to troubleshooting | p. 46 |
| Two common Tomcat problems and how to solve them | p. 46 |
| How to change the port that's used by Tomcat | p. 48 |
| How to deploy and run a web application | p. 50 |
| How to deploy a web application | p. 50 |
| How to view and run a web application | p. 50 |
| A summary of the directories and files for a web application | p. 52 |
| An introduction to the web.xml file for a web application | p. 54 |
| A summary of the directories and files for the book applications | p. 56 |
| A crash course in HTML | |
| An introduction to HTML | p. 62 |
| Tools for working with HTML | p. 62 |
| An HTML document | p. 64 |
| How to code and view an HTML page | p. 66 |
| How to code an HTML document | p. 66 |
| Where and how to save an HTML document | p. 68 |
| How to view an HTML page | p. 70 |
| More skills for coding HTML documents | p. 72 |
| How to code links to other HTML pages | p. 72 |
| How to code tables | p. 74 |
| Attributes for working with table tags | p. 76 |
| How to include images in an HTML page | p. 78 |
| How to use a style sheet | p. 80 |
| How to code HTML forms | p. 82 |
| How to code a form | p. 82 |
| How to code text boxes, password boxes, and hidden fields | p. 84 |
| How to code buttons | p. 86 |
| How to code check boxes and radio buttons | p. 88 |
| How to code combo boxes and list boxes | p. 90 |
| How to code text areas | p. 92 |
| How to set the tab order of controls | p. 94 |
| The essence of servlet and JSP programming | |
| How to develop JavaServer Pages | |
| The Email List application | p. 102 |
| The user interface for the application | p. 102 |
| The code for the HTML page that calls the JSP | p. 104 |
| The code for the JSP | p. 106 |
| How to create a JSP | p. 108 |
| How to code scriptlets and expressions | p. 108 |
| How to use the methods of the request object | p. 110 |
| Where and how to save a JSP | p. 112 |
| How to request a JSP | p. 114 |
| When to use the Get and Post methods | p. 116 |
| How to use regular Java classes with JSPs | p. 118 |
| The code for the User and UserIO classes | p. 118 |
| Where and how to save and compile regular Java classes | p. 120 |
| A JSP that uses the User and UserIO classes | p. 122 |
| How to use three more types of JSP tags | p. 124 |
| How to import classes | p. 124 |
| How to code comments in a JSP | p. 126 |
| How to declare instance variables and methods | p. 128 |
| A JSP that imports classes and declares instance variables | p. 130 |
| How to work with JSP errors | p. 132 |
| How to debug JSP errors | p. 132 |
| How to use a custom error page | p. 134 |
| When and how to view the servlet that's generated for a JSP | p. 136 |
| How to develop servlets | |
| The Email List application | p. 142 |
| The user interface for the application | p. 142 |
| The code for the EmailServlet class | p. 144 |
| How to create a servlet | p. 146 |
| How to code a servlet | p. 146 |
| How to save and compile a servlet | p. 148 |
| How to request a servlet | p. 150 |
| Other skills for working with servlets | p. 152 |
| The methods of a servlet | p. 152 |
| How to code instance variables | p. 154 |
| How to code thread-safe servlets | p. 156 |
| How to debug servlets | p. 158 |
| Common servlet problems | p. 158 |
| How to print debugging data to the console | p. 160 |
| How to write debugging data to a log file | p. 162 |
| How to structure a web application | |
| The Email List application | p. 168 |
| The code for the servlet | p. 168 |
| The code for the JSP | p. 170 |
| How to structure servlets and JSPs | p. 172 |
| An introduction to the Model 1 architecture | p. 172 |
| An introduction to the Model-View-Controller pattern | p. 174 |
| How to forward and redirect requests and responses | p. 176 |
| How to validate data on the client | p. 178 |
| An HTML page that uses JavaScript to validate data | p. 178 |
| A dialog box that displays a validation message | p. 180 |
| How to validate data on the server | p. 182 |
| A servlet that validates data | p. 182 |
| A JSP that displays a data validation message | p. 184 |
| How to include code from a file in a JSP | p. 186 |
| A JSP that includes code from other files | p. 186 |
| How to include a file in a JSP | p. 188 |
| How to work with the web.xml file | p. 190 |
| An introduction to the web.xml file | p. 190 |
| How to set initialization parameters | p. 192 |
| How to get initialization parameters | p. 194 |
| How to implement servlet mapping | p. 196 |
| How to implement custom error handling | p. 198 |
| How to work with sessions and cookies | |
| An introduction to session tracking | p. 204 |
| Why session tracking is difficult with HTTP | p. 204 |
| How session tracking works in Java | p. 204 |
| An application that needs session tracking | p. 206 |
| How to work with sessions | p. 208 |
| How to set and get session attributes | p. 208 |
| More methods of the session object | p. 210 |
| How to enable or disable cookies | p. 212 |
| How to use URL encoding to track sessions without cookies | p. 214 |
| How to work with cookies | p. 216 |
| An introduction to cookies | p. 216 |
| How to create and use cookies | p. 218 |
| How to view and delete cookies | p. 220 |
| Four methods for working with cookies | p. 222 |
| A utility class for working with cookies | p. 224 |
| How to work with URL rewriting and hidden fields | p. 226 |
| How to use URL rewriting to pass parameters | p. 226 |
| How to use hidden fields to pass parameters | p. 228 |
| The Download application | p. 230 |
| The user interface | p. 230 |
| The file structure | p. 230 |
| The code for the JSPs and servlets | p. 230 |
| How to create and use JavaBeans | |
| An introduction to JavaBeans | p. 244 |
| How to code a JavaBean | p. 244 |
| A JSP that uses a JavaBean | p. 246 |
| How to code JSP tags for JavaBeans | p. 248 |
| How to code the useBean tag | p. 248 |
| How to code the getProperty and setProperty tags | p. 250 |
| How to set the properties of a bean from request parameters | p. 252 |
| How to set non-string data types in a bean | p. 254 |
| How to use interface and abstract class types with beans | p. 256 |
| The Email List application with beans | p. 258 |
| The application when the MVC pattern is used | p. 258 |
| The application when Model 1 architecture is used | p. 262 |
| How to work with custom JSP tags | |
| How to code a custom tag that doesn't have a body | p. 268 |
| The JSP | p. 268 |
| The TLD tags | p. 270 |
| The tag handler class | p. 272 |
| How to code a custom tag that has a body | p. 274 |
| The JSP | p. 274 |
| The TLD tags | p. 276 |
| The tag handler class | p. 276 |
| How to code a custom tag that has attributes | p. 278 |
| The JSP | p. 278 |
| The TLD tags | p. 280 |
| The tag handler class | p. 282 |
| How to code a custom tag that reiterates its body | p. 284 |
| The JSP | p. 284 |
| The TLD tags | p. 286 |
| The tag handler class | p. 286 |
| How to work with scripting variables | p. 290 |
| An introduction to scripting variables | p. 290 |
| The TEI class | p. 292 |
| Classes, methods, and fields for working with custom tags | p. 294 |
| Methods and fields of the TagSupport class | p. 294 |
| Methods and fields of the PageContext class | p. 296 |
| Methods and fields of the BodyTagSupport class | p. 298 |
| Methods and fields of the BodyContent class | p. 300 |
| The essential database skills | |
| How to use MySQL to work with a database | |
| An introduction to MySQL | p. 308 |
| What MySQL provides | p. 308 |
| What MySQL doesn't provide | p. 308 |
| Two ways to interact with MySQL | p. 310 |
| How to start and stop the MySQL database server | p. 312 |
| How to work with the mysql program | p. 314 |
| How to start and stop the mysql program | p. 314 |
| How to create, select, and delete a database | p. 316 |
| How to create and delete a table | p. 318 |
| How to insert or load data into a table | p. 320 |
| How to configure the mysql program | p. 322 |
| The SQL statements for data manipulation | p. 324 |
| How to select data from a single table | p. 324 |
| How to select data from multiple tables | p. 326 |
| How to insert, update, and delete data | p. 328 |
| How to use Java to work with a database | |
| How to work with JDBC | p. 334 |
| How to obtain and install a database driver | p. 334 |
| How to connect to a database | p. 336 |
| How to return a result set and move the cursor through it | p. 338 |
| How to retrieve data from a result set | p. 340 |
| How to insert, update, and delete data | p. 342 |
| How to work with prepared statements | p. 344 |
| The SQL Gateway application | p. 346 |
| The user interface | p. 346 |
| The code for the JSP | p. 348 |
| The code for the servlet | p. 350 |
| The code for the utility class | p. 354 |
| How to work with connection pooling | p. 356 |
| How connection pooling works | p. 356 |
| How to install a connection pool | p. 358 |
| How to customize a connection pool | p. 358 |
| How to use a connection pool | p. 360 |
| The Email List application | p. 362 |
| The user interface | p. 362 |
| The code for the JSP | p. 362 |
| The code for the servlet | p. 364 |
| The code for the UserDB class | p. 366 |
| Advanced servlet and JSP skills | |
| How to use JavaMail to send email | |
| An introduction to the JavaMail API | p. 376 |
| How email works | p. 376 |
| Protocols for working with email | p. 376 |
| How to install the JavaMail API | p. 378 |
| Code that uses the JavaMail API to send an email message | p. 380 |
| How to create and send an email message | p. 382 |
| How to create a mail session | p. 382 |
| How to create a message | p. 384 |
| How to address a message | p. 386 |
| How to send a message | p. 388 |
| How to send an email message from a servlet | p. 390 |
| A helper class that can be used to send a message | p. 390 |
| A servlet that uses a helper class to send a message | p. 392 |
| How to use SSL to work with a secure connection | |
| An introduction to SSL | p. 398 |
| How SSL works | p. 398 |
| How TLS works | p. 398 |
| When to use a secure connection | p. 398 |
| How SSL authentication works | p. 400 |
| How to obtain a digital secure certificate | p. 402 |
| How to configure a testing environment for SSL | p. 404 |
| How to install the JSSE API | p. 404 |
| How to create a certificate for testing | p. 406 |
| How to enable SSL in Tomcat | p. 406 |
| How to test a local SSL connection | p. 408 |
| How to work with a secure connection | p. 410 |
| How to request a secure connection | p. 410 |
| A page that uses a secure connection | p. 412 |
| How to return to a regular HTTP connection | p. 412 |
| How to switch from a local system to an Internet server | p. 412 |
| How to restrict access to a web resource | |
| An introduction to authentication | p. 418 |
| How container-managed authentication works | p. 418 |
| Three types of authentication | p. 420 |
| How to restrict access to web resources | p. 422 |
| How to create a security constraint | p. 422 |
| How to implement the JDBC realm | p. 424 |
| How to create the tables for the JDBC realm | p. 426 |
| How to use basic authentication | p. 428 |
| The login dialog box | p. 428 |
| The XML tags | p. 428 |
| How to use form-based authentication | p. 430 |
| The login page | p. 430 |
| The XML tags | p. 430 |
| The code for the login page | p. 432 |
| How to work with HTTP requests and responses | |
| An introduction to HTTP | p. 438 |
| An HTTP request and response | p. 438 |
| Common MIME types | p. 440 |
| Common HTTP request headers | p. 442 |
| Common HTTP status codes | p. 444 |
| Common HTTP response headers | p. 446 |
| How to work with the request | p. 448 |
| How to get request headers | p. 448 |
| How to display all request headers | p. 450 |
| The request headers for the IE and Netscape browsers | p. 452 |
| How to work with the response | p. 454 |
| How to set status codes | p. 454 |
| How to set response headers | p. 454 |
| Practical skills for working with HTTP | p. 456 |
| How to return a tab-delimited file as an Excel spreadsheet | p. 456 |
| How to control caching | p. 456 |
| How to encode the response with GZIP compression | p. 458 |
| How to require the File Download dialog box | p. 460 |
| How to work with XML | |
| An introduction to XML | p. 466 |
| An XML document | p. 466 |
| Common uses of XML | p. 466 |
| XML declarations and comments | p. 468 |
| XML elements | p. 468 |
| XML attributes | p. 470 |
| An introduction to DTDs | p. 472 |
| An introduction to XML APIs | p. 474 |
| How to work with DOM | p. 476 |
| The DOM tree | p. 476 |
| Interfaces for working with the DOM tree | p. 478 |
| How to create an empty DOM tree | p. 480 |
| How to add nodes to a DOM tree | p. 482 |
| How to write a DOM tree to a file | p. 484 |
| How to read a DOM tree from a file | p. 486 |
| How to read the nodes of a DOM tree | p. 488 |
| How to add, update, and delete nodes | p. 490 |
| The Email List application | p. 492 |
| The code for the XMLUtil class | p. 492 |
| The code for the UserXML class | p. 494 |
| The code for the EmailServlet class | p. 496 |
| How to return an XML document via HTTP | p. 498 |
| The code for the XMLServlet class | p. 498 |
| The XML document displayed in a browser | p. 498 |
| An introduction to Enterprise JavaBeans | |
| How Enterprise JavaBeans work | p. 504 |
| The components of a web application that uses EJBs | p. 504 |
| What EJBs can provide | p. 506 |
| The pros and cons of EJBs | p. 506 |
| Typical EJB developer roles | p. 506 |
| How to implement EJBs | p. 510 |
| How to implement an entity bean | p. 510 |
| How to code the remote and home interfaces | p. 512 |
| How to code the bean implementation class | p. 514 |
| How to implement BMP | p. 516 |
| How to access an EJB in an application | p. 518 |
| The Music Store web site | |
| An introduction to the Music Store web site | p. 523 |
| The Download application | p. 545 |
| The Shopping Cart application | p. 557 |
| The Admin application | p. 579 |
| Appendixes | |
| How to install the software and applications for this book | p. 599 |
| Index | p. 614 |
| Table of Contents provided by Ingram. All Rights Reserved. |
ISBN: 9781890774189
ISBN-10: 1890774189
Series: Mike Murach
Published: 1st February 2003
Format: Paperback
Number of Pages: 624
Audience: General Adult
Publisher: Mike Murach & Associates Inc.
Country of Publication: US
Dimensions (cm): 20 x 25.5
Weight (kg): 1.15
Shipping
| Standard Shipping | Express Shipping | |
|---|---|---|
| Metro postcodes: | $9.99 | $14.95 |
| Regional postcodes: | $9.99 | $14.95 |
| Rural postcodes: | $9.99 | $14.95 |
Orders over $79.00 qualify for free shipping.
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
You Can Find This Book In

Don't Burn Anyone at the Stake Today
(and other lessons from history about living through an information crisis)
Hardcover
RRP $39.99
$34.99
OFF























