JavaServer Pages By Hans Bergsten Unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. This page was updated August 16, 2002. 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 UNCONFIRMED errors and suggestions from readers: (15-19) passim; In the discussion of URLs in chapter two passim (and possibly ff, I haven't gotten so far, partly from irritation), the author repeatedly misuses the terms URI and URL, contributing to the widespread popular confusion on the distinction. The author should carefully reread the relevant RFCs, and consider their meaning. RFC 2396 defines URI as the superset of URL and URN. It therefore follows, wherever the author uses URI instead of URL, that he believes that the technologies in question are capable of resolving URNs as well as URLs. This is not, in fact, true, and most browsers are not even capable of resolving the full set of established internet URLs. The terminology used in the description of URL is also egregious: the first part of a URL is not a "protocol," it is a "scheme identifier." In common use for URLs found on the web, it refers to a protocol. But if you're going to try to explain something (especially in an O'Reilly book), then you need to get it *right*. It is acceptable to simplify technical subjects aimed at technically less sophisticated readers, which is a good description of the target audience of this chapter. However, simplification leading to misinformation is not acceptable. Browsers cannot handle URIs. They can't handle URNs at all, and most can't handle more than the subset http, https, ftp, mail, and possibly some obscurities like gopher and telnet. There are many other URL types, and some browsers support them (but you can't expect it, and in any event, using those URLs, the HTTP protocol is almost certainly not in use; the chapter goes on to blithely discuss only those URLs in the http/https schemes, without noting that it is doing so). A mention that URI includes URL would be useful; widespread substitution of URI for the more accurate and correct URL is simply cause for flinging books across the cubicles. [20] Figure 2-4. ; For the URL rewriting method, the response should be: ... ... As you see, change ";" to "?" between jsp and sid. (43) Line 19:; In the 8/1 printing, a change was made to line 22 of page 43 [43] The twenty-second line of text: C:\> set JAVA_HOME=C:\jdk1.1.2 Has been changed to: C:\> set JAVA_HOME=C:\jdk1.2.2 The same change should have been made for line 19: C:\jdk1.1.2 should be changed as well to: C:\jdk1.2.2 (56) next to last paragraph; The paragraph in question starts with "Notice that the month seems to be off by one..". This is not something the reader can notice. The month is 2 which looks fine to a reader. I fully realize the point being made that Java dates count months differently than the rest of the world does, but seeing a month number of 2 is not something that stands out as an error. [80] 6th; public boolean equalsIgnoreCase(String anotherString) the example is hello.equals("Hello"); // Returns true Shouldn't it be hello.equalsIgnoreCase("Hello"); // Returns true {88} Example 6-3, 8 lines from the bottom of the page; should the line if (request.getHeader("User-Agent").indexOf("Mozilla") !=1) be if (request.getHeader("User-Agent").indexOf("Mozilla") !=-1)? because we're trying to say only if the "Mozilla" does exist, it would be netscape. {98} last paragraph; Sentence reads: "We use two int variables: one declared as an instance variable using a JSP expression, and....." Should this not read: "We use two int variables: one declared as an instance variable using a JSP declaration, and....." {99} 3rd line from bottom; Sentence reads: "(using a JSP expression) to keep...." Should this not read: "(using a JSP declaration) to keep...." [161] all; i think you have 2 conditions : one is insert when database is empty AND update if you find it What happens if you want to INSERT new data into database which is NOT EMPTY (217) Second code sample: The code sample : java.text.DateFormat df = java.text.DateFormat.getDateInstance( df.SHORT, locale); doesn't compile. Variable df may not have been initialized. You can't use df while its initialization. The following code is correct: java.text.DateFormat df = java.text.DateFormat.getDateInstance( java.text.DateFormat.SHORT, locale); (260) End of the example 12.11; At the end of the example, there are two end tag . The tag is then never closed. The two last lines should be : instead of: should be {342} fourth line of code from the bottom of example 16-5; The fourth line of code from the bottom of example 16-5 says: out.print(pageContext.findAttribute("prod"), "name"))); This line of code must be wrong. Something must be missing and the number of left and right parantheses does not match. {467} example for : Closing tag in example should be "", not "". (506) example under section; the tag is missing an e so it is now spelled