Hmmm, I re-read the Hashtable documentation as you proposed and I humbly admit that I half confused the values with the ones of a Vector. My mistake on this one....
AND you were also absolutely right : because I was confusing the values passed to the hashtable's constructor and the ones passed to a Vector's constructor, and because the values I was passing were not legal, an IllegalArgumentException was thrown in the servlet. However, I didn't see this Exception because it was not in a try/catch block, I was relying on the throw clause of the method declaration...
So I was creating the Hashtable with illegal values, then I was trying to write in it and then to send it to the applet. But since the exception was thrown, nothing was sent to the applet in the ObjectOutputStream, and when the applet was trying to read from the stream there was nothing to be read which explains the Exception thrown in the applet...
However, I would have preferred a more descriptive exception from the applet :)
Anyways, you solved it all !!! Thank very much mister K and all of you on the list !
Maxime.
> Although you do seem to have a problem with how you use
> Hashtable, that is not
> what is causing the exception you list.
>
> The second parameter in the Hashtable constructor is called
> the load factor. The
> phrase you use, "growth factor" implies something different
> to me, and perhaps
> indicates that you might be confusing the Hashtable with a
> Vector.
> If you write
> hTable = new Hashtable(1,0);
> you will get an exception when you run your servlet because 0
> is an illegal load
> factor.
>
> Assuming the snippet you listed is accurate, if the servlet
> code throws an
> exception, no output is written to the output stream, which
> might cause the
> applet to show a FileNotFound exception. Try putting a
> try-catch block in your
> servlet so you can see the stack trace.
> K Mukhar
