JavaServer Pages By Hans Bergsten This errata page lists errors outstanding in the most recent printing. If you have technical questions or error reports, you can send them to booktech@oreilly.com. (Please specify the printing date of your copy.) This page was last modified on November 20, 2001. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification Confirmed errors: {15} The last line: "For example, the request may return a page with ...." Should read: "For example, the response may be an HTML document with elements." {80} Paragraph titled 'public boolean equalsIgnoreCase(String anotherString)'; The example code in the book says hello.equals("hello"); //Returns true hello.equals("Hello"); //Returns true But it should read hello.equalsIgnoreCase("hello"); //Returns true hello.equalsIgnoreCase("Hello"); //Returns true i.e the example is showing the wrong method. (97) Second full paragraph: In the example code at the top of the page, the property being set is called "entryTime", however, later in the second full paragraph it is referred to as "entryDate". Is this a mistake, or am I not reading this section correctly? Change "entryDate" to "entryTime" (293) first sentence: /ch14/process/autheticate, should be: /ch14/process/authenticate, [326] end of .tld definition; The closing tag on the tld definition is , where it should be {326} second example The mylib.tld file is described as being installed in the WEB-INF/tlds directory, but then it's referenced in the sample page like this: <%@ taglib uri="/WEB-INF/mylib.tld" prefix="test" %> It should be: <%@ taglib uri="/WEB-INF/tlds/mylib.tld" prefix="test" %> (346) Secondnd paragraph: "It extends BodyTag support and has four properties:" should read: "It extends BodyTagSupport and has four properties:" (350) Example 16-8; mispelled "tag" as "tab" in the section [383] For containers that reuse tag handler instances, the per-use state set through nested elements must be reset before the instance is reused. One way to do this is to add the following doStartTag() method to the DBTag class: /** * Override the default implementation to reset the * per-use state set by nested elements. */ public int doStartTag() { values = null; isExceptionThrown = false; isPartOfTransaction = false; return EVAL_BODY_TAG; } Note! This has been corrected in the example source code available for download. [488] 1st paragraph; The description of 'DataSourceWrapper() constructor', are the same as the description of 'ConnectionPool() constructor' found at p.485. Infact, I'm sure they are different.