Marketplace books

Beginning J2EE 1.4: From Novice to Professional (Apress Beginner Series)

Beginning J2EE 1.4: From Novice to Professional (Apress Beginner Series)
Authors
James L. Weaver, Kevin Mukhar
ISBN
1590593413
Purchase online
amazon.co.uk

The Java 2 Enterprise Edition (J2EE) is an extremely powerful platform for developing enterprise-level Java-based applications, primarily for the server. This book shows you how to harness that power, guiding you through the details of how the pieces of the J2EE platform fit together.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

Joaquín Carré Seras said
The book covers all the J2EE 1.4 technologies. The authors don't assume you have a background in J2EE and they explain the concepts in a very plain language.
It has a lot of interesting information about JDBC, JSP and EJBs. Moreover, some J2EE design patterns are present in the book. The drawbacks are the poor JMS and WS content.
If you have to maintain a J2EE 1.4 project this book is a good starting point.
If you have to start a new JEE project you should upgrade to JEE 5 because it is easier, more powerful and more productive. "Java EE 5 Development using Glassfish" is a good choice to have an overview of JEE 5.

David A. Landes said
Being a beginner I was frustrated by other books before I happened upon
Beginning J2EE 1.4. I'm only 1/4 way through the book but all the examples
work and I feel I've already got my money's worth. I think after studying
this book I will be able to go back to other beginning books and fix the
reasons why their examples did not work for me.

Scott P. Stewart said
I've had this book for a week now and I would love to be able to give a knowledgeable review but I can't get past the second chapter.

Why? The second chapter details setting up the SDK but after many hours of searching I can't find anyplace to download it. It uses the first (November 2003) release of the J2EE SDK and there have been 3 updates since then. The current release uses an entirely different database with an extensively updated web server.

I'm looking to familiarize myself with J2EE 1.4 and this appears to be a very good book for that, but it's going to be a major pain when I'm forced to use different software.

A. Radu said
The book is a very well-balanced introduction to many J2EE topics such as JSP, Servlets, JDBC, and EJB. Examples are "as simple as possible, but no simpler", and are quite useful for understanding the various topics.
Obviously this book is now out in the newer edition that covers the much-changed and simplified (yey!) Java EE 5, but for anyone who would need to work with legacy J2EE 1.4 applications this book certainly provides good value.

David Emmith said
Overall a very good book except for the errors. ;-) I would've given this book a higher rating if it were not for the editing.

I read the book from cover to cover. The explanations are good but there are problems with the examples. It really is difficult to find a programming book that is not rife with poor instructions and/or examples that will not compile. This book is better than most but I am a rather unforgiving sort when it comes to code examples in a book. There is nothing more frustrating than spending hours on a problem that could've been solved at the outset with just a little more attention to detail by the editors.

My setup is a Windows XP Pro notebook, jdk1.5.0_06 installed on C:\ (the root directory) and J2EE 1.4 also stored on the root. I am using Eclipse 3.1 for an IDE (Integrated Devlopment Environment). If you can avoid it, do not put any of your Java software in directories that have spaces in their directory/folder names. This will prevent problems you will encounter when entering commands on the command-line that involve using environment variables in path names (there may be other problems avoided as well).

Here is a summary of some of the trouble I ran into. I would like to say at the outset that I DO recommend this book. Unfortunately there is no such thing as an error-less computer book especially when you are dealing with a technology that has not yet matured.

The problems begin in Chapter 3 on page 54, #5. Compiling the FaqCategories.java resulted in the following message...
Note: FaqCategories.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
To solve this problem I changed the following line of code...
private Vector categories = new Vector();
to...
private Vector categories = new Vector();

This problem occurred because JDK 1.5 uses generics. I guess I can't blame this one on the publishers because I am probably using a later JDK than they were. This problem comes up again in Chapter 4, page 108, Questions.java. You will need to compensate for the use of generics in JDK 1.5. So here is the source you should use for that example...
import java.util.Map;
import java.util.HashMap;

public class Questions {
private String topic;
private int numTopics;
private Map questions = new HashMap();

public String getTopic() { return topic; }
public void setTopic(String t) { topic = t; }

public int getNumTopics() { return numTopics; }
public void setNumTopics(int n) { numTopics = n; }

public Map getQuestions() { return questions; }
public void setQuestions(Map m) { questions = m; }

public Questions() {
questions.put("1", "How do I use implicit objects?");
questions.put("2", "How do I use the JSTL?");
questions.put("3", "How do I use the 'empty' operator?");
setNumTopics(questions.size());
}
}


I remember having trouble with the JSTL (Java Standard Tag Library) examples in Chapter 4 but unfortunately I did not make any notes for those problems.

In Chapter 5, page 161, #3 I had a problem with the login.html page. I changed the following line...


to...

You may not have the same problem depending on your setup.

I had the same problem with the code on page 192 near the bottom of the page. I removed '/Ch05/' from the path. The explanation on page 194, #5 is not good at all. It would've helped tremendously if they had included a better explanation and a screen shot.

Want to get confused? Read the first paragraph under "How It Works" on page 204. The whole Filter topic needs to redone.

In Chapter 6, page 243, the connection string they use is just plain wrong. Look at how they refer to the same snippet of code in the middle of page 245, that is the correct connection string. I have no idea how they came up with the one on page 243.

In Chapter 7, page 263 in the middle of the page the variable declaration should be "String sql" not "String sdl". On page 274 I had problems with the command-line entries. I had to resort to using the App Server Admin Console. On page 275 the conn, stmt and rset variables are declared just before the try block and within the try block itself. I removed the words Connection, Statement and Resultset from within the try block. In the smae example I had to remove the semi-colon from <%= e.getMessage(); %>, it should read, <%= e.getMessage() %>. In page 289 replace "192.168.1.103" with "localhost". (Someone was asleep at the wheel in Chapter 7!)

In Chapter 8, page 325 the Deploytool shows a "JNDI Name" tab. My version of the Deploytool does not have a "JNDI Name" tab but the same functionality can be found through a click on the "Sun-specific Settings" button. On page 328, the command line entry shown in #2 did not work unless I rebooted my computer first. It could be that if it doesn't work for you try stopping and restarting the app server. That may be all

it needs. On page 337, #11, the second bullet, change 'Stateless' to 'Stateful' - then you will be in agreement with the session-type tag in the ejb-jar.xml file shown on page 341.

In Chapter 9, page 359 - remember, if you do not have a "JNDI Name" tab click on the "Sun-specific Settings" button. On page 389 the "Try It Out" example does not point out changes that must be made in the source code from a previous example to make this example work. I had to

download the examples from the APress web site to see that there were differences (normally I hand-poke all the source code examples to get used to the "feel" of the code - in this case that practice presented a problem).

Chapter 10 became a problem for me because as with other places in the book this chapter uses source code developed in previous examples and builds upon them. Well, if everything went well for you with the previous example then this practice is fine but if you had problems that you could not solve then you are pretty much out of business in subsequent examples. This is where the authors started leaving out detailed steps because, supposedly, you already did those in the previous example. Well, what if you were just hopping around in the book? I don't
like their practice of leaving out the detailed steps - put them back in, afterall its only a page or two here or there.

In Chapter 11, the top of page 475, the command-line entries are wrong. Each option needs to be double-hyphenated and the option 'resourcetype' needs to be changed to 'restype'. Here is what the first command-line entry should look like...
asadmin create-jms-resource --user admin --restype javax.jms.QueueConnectionFactory --property imqAddressList=localhost jms/QueueConnectionFactory

In Chapter 12 there is a very long and involved set of steps to go through to implement a web service and then invoke a client application to use that web service. I got all the way up to the next to the last step and wouldn't you know it, the client app will not compile. It looks like a seemingly easy-to-fix problem but the solution is not readily apparent. The error is "Package javax.xml.rpc does not exist" but that class is in the application's project. Strange problem but I have not found a solution to date. So that problem mows down two whole chapters because chapter 13 depends on this example too.

Comments

  1. 01 Jan 1999 at 00:00

Leave a comment

Sign in or Join us (it's free).

Related book

  • JavaServer Pages, 3rd Edition

    JavaServer Pages, 3rd Edition

    JavaServer Pages (JSP) has built a huge following since the release of JSP 1.0 in 1999, providing Enterprise Java developers with a flexible tool for development of dynamic web sites and web applications. While point releases over the years, along...

We'd love to hear what you think! Submit ideas or give us feedback