The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
| Version |
Location |
Description |
Submitted By |
Date Submitted |
Date Corrected |
| Printed |
Page xv
4th paragraph, 7th line |
"Clinton Began"
NOW READS:
"Clinton Begin:
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 3
function declarations |
Replace "Long" with "long" in the following:
public abstract Long getID();
public abstract void setID(Long id);
public Object ejbCreate(Long id, int count)
public void ejbPostCreate(Long, int count)
|
Anonymous |
|
|
| Printed |
Page 5
function declarations |
Replace "Long" with "long" in the following:
public abstract Long getId();
public abstract void setID(Long);
public CounterLocal findByPrimaryKey(Long ...)
Public CounterLocal create(Long ...
|
Anonymous |
|
|
| Printed |
Page 13
In code example 1-4 |
private string name;
NOW READS:
private String name;
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 14
In code example 1-4 |
public void setName(long newName) {
NOW READS:
public void setName(String newName)
AND
public string getName() {
NOW READS:
public String getName() {
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 18
Figure 2-1 |
The text lists 7 points that are supposed to correspond to the numbers in
Figure 2-1. However, there is no point 7 (corresponding to "Easier to
maintain") in the figure.
|
Anonymous |
|
|
| Printed |
Page 22
In "Over-specialization" paragraph, ending |
"...programmers from testers, and code from the warning, healing light of day."
NOW READS:
"...programmers from testers, and code from the warming, healing light of day."
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 25
1st code snippet, 2nd line |
String prefix "This code is ";
should be:
String prefix = "This code is ";
^
|
Anonymous |
|
|
| Printed |
Page 32
Middle of Ant XML example (mid page) |
<include name=.**/*Test.class. />
should be:
<include name=.**/Test*.class. />
|
Anonymous |
|
|
| Printed |
Page 34
1st paragraph in "Coupling" |
Strike the last two sentences from this paragraph. They are
essentially repeated in the third bullet of the following list (on p.35)
|
Anonymous |
|
|
| Printed |
Page 44
block of method definitions after 1st paragraph |
public void isValid(String accountNumber) {}
NOW READS::
public boolean isValid(String accountNumber) {}
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 52
first bullet, second sentence |
Text reads "If the coupling between your model and view are low..."
Should be:
"If the coupling between your model and view is low ..."
|
Anonymous |
|
|
| Printed |
Page 74
Annotation for 6 |
The annotation for "6" should end at "...appropriate XML."
|
Anonymous |
|
|
| Printed |
Page 77
towards the top of page |
Here's the code to invoke a method called sum on class Adder that takes...
NOW READS:
Here's the code to invoke a method called add on class Adder that takes...
AND
// target object is called "target"
Class c = Class.forName("Adder");
Class parameterTypes[] = new Class[2];
parameterTypes[0] = Integer.TYPE;
parameterTypes[1] = Integer.TYPE;
Method m = c.getMethod("sum", parameterTypes);
Object parms[] = new Object[2];
parms[0] = new Integer(1);
parms[1] = new Integer(1);
Integer returnValue = (Integer)m.invoke(target, parms);
NOW READS:
// target object is called "target"
Class c = Class.forName("Adder");
Class parameterTypes[] = new Class[2];
parameterTypes[0] = Integer.TYPE;
parameterTypes[1] = Integer.TYPE;
Method m = c.getMethod("add", parameterTypes);
Object parms[] = new Object[2];
parms[0] = new Integer(1);
parms[1] = new Integer(1);
Integer returnValue = (Integer) m.invoke(null, parms);
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 78
Text following figure 4-6 |
PersistenceCapible
should be:
PersistenceCapable
|
Anonymous |
|
|
| Printed |
Page 89
Figure 5.1 |
'Get Sponser' should be 'Get Sponsor'
|
Anonymous |
|
|
| Printed |
Page 132
2nd para from bottom, |
Previously there was an extra period at the end of the sentence "existing code still use
them.." This HAS BEEN CORRECTED.
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 134
setUser method |
public void setUser(String u) {
user = u;
}
NOW READS:
public void setUser(User u) {
user = u;
}
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 134
bottom of the page |
Previously, the getBody and setBody methods were repeated.
The last 4 lines on page 134 and the first 3 lines on 135
HAVE BEEN DELETED to correct this.
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 156
Bottom (the beans XML segment); 2nd to last line on the page |
<property name="myField" ref local="MySecondBean"/>
NOW READS:
<property name="myField"><ref local="MySecondBean"/></property>
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 157
Annotation line 1 at the bottom |
Previously there was an extra blank line before the <bean id="accountValidator"...> after
the (1).
This HAS BEEN DELETED.
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 161
Paragraph above "Adding Persistence" header |
Line 3 of the paragraph that starts with "I call this model passive."
"object, although it does have private properties and public fields It has
business meth-"
NOW READS:
"object, although it does have private properties and public fields. It has
business meth-"
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 162
Middle of the page: in the setProductId() method |
public void setProductId(String productId) {this.productId =
productId.trim();}
NOW READS:
public void setProductId(String productId) {this.productId = productId;}
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 163
Bottom of page: the numbered paragraph text |
All of the annotation numbers are formatted with the regular font instead of the
number-against-filled-in-circle formatted numbers. it is confusing!
|
Anonymous |
|
|
| Printed |
Page 164
Top of the page, after the first paragraph,caption for Example 8.5 |
Example 8-5. ProductDAO.java
NOW READS:
Example 8-5. ProductDao.java
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 166
Second Text paragraph before the Example 8-8 caption,last word of the paragraph |
ProductDAO
NOW READS:
ProductDao
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 167
After example 8-8, annotation explanations (for both 1 and 2) |
"(includes the bold text)"
The phrase "(includes the bold text)" HAS BEEN REMOVED from both.
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 167
Bottom of page: Example 8-9 caption |
"dataAccessContext-local.xml"
NOW READS:
"dataAccessContext.xml"
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 171
Example 8 -10. Excerpt from web.xml |
The line that reades
"Example 8 -10. Excerpt from web.xml"
should read
"Example 8 -10. Excerpt from perstore-servlet.xml"
|
Anonymous |
|
|
| Printed |
Page 177
3rd paragraph, 3rd sentence after the semi-colon |
'll walk you through the decision-making process.."
NOW READS:
I'll walk you through the decision-making process.."
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 194
method execute() |
String title = safeGetFieldString(d, "title");
can be left out because it is repeated after 2 lines (parameter of results.add(...))
|
Anonymous |
|
|
| Printed |
Page 197
method main(), 5th line from the bottom |
QueryBean query = new QueryBean("contents", indexPath, line);
should be
QueryBean query = new QueryBean(indexPath, line, "contents");
or
QueryBean query = new QueryBean(indexPath, line);
according to the constructors on page 193f.
|
Anonymous |
|
|
| Printed |
Page 209
Last line |
"First, create an instead of ConfigBean..."
NOW READS:
"First, create an instance of ConfigBean..."
|
Anonymous |
|
Apr 01, 2005 |
| Printed |
Page 212
"Changes to the Original Code to fit the JSP" section |
The statement "JSP reflects on fields to hook up properties to <out> display tags
instead of getters and setters" is absolutely not true. The JSTL expression language
(EL) can read from fields OR getter methods. Therefore, the entire section
discussing the modification of HitBean is unnecessary. HitBean need not change in
any way for JSP to read its properties. JSTL EL does work by using reflection, but
it CAN reflect on getter methods.
As an example, it translates the following syntax:
<c:out value="${page.url}"/>
to the equivalent of
page.getUrl()
|
Anonymous |
|
|