I also feels the same that hash key should be the object. But error message
makes no sense...
>i believe you have to allocate your Stings when you're adding them to
>the hash table, don't you? i.e.:
>hTable.put(new String("1"), new String("Premiere chaine"));
>
>i've been doing this and haven't had any problems (yet) with hash
>tables. if this is incorrect please, someone, let me know.
>..............ron.
>
>> Maxime Poulin wrote:
>>
>> Hi all !
>>
>> I have a strange problem here...
>>
>> I have an HttpServlet. This servlet receives request in its doGet
>> method. If the request has a specific parameter, I know I have to send
>> the answer as a serialized object. This is fairly simple :
>>
>> public void doGet(HttpServletRequest req, HttpServletResponse res)
>> throws ServletException, IOException
>> {
>> // CHeck if the client wishes to receive the information using a
>> socket.
>> if ("use_socket".equalsIgnoreCase(req.getParameter("format")))
>> {
>> ObjectOutputStream out = new
>> ObjectOutputStream(res.getOutputStream());
>> // out.writeObject(new java.awt.Rectangle(1,2,3,4));
>>
>> Hashtable hTable = new Hashtable(0,1);
>> hTable.put("1", "Premiere chaine");
>> hTable.put("2", "Seconde chaine");
>> out.writeObject(hTable);
>> }
>> else
>> {
>> res.setContentType("text/html");
>> PrintWriter out = new PrintWriter (res.getOutputStream());
>> out.println("<html>");
>> out.println("<head><title>Servlet1</title></head>");
>> out.println("<body>");
>> out.println("Dynamically generated by servlet.");
>> out.println("</body></html>");
>> out.close();
>> }
>> }
>> And then I have this applet which sends the request and reads the
>> answer as :
>>
>> try
>> {
>> URL url = new URL(getCodeBase() + "servlet/Servlet1");
>> String params = "?format=use_socket";
>> url = new URL(url.toExternalForm() + params);
>> myTextArea.append("\nOpening " + url);
>>
>> URLConnection con = url.openConnection();
>> con.setUseCaches(false);
>>
>> ObjectInputStream input = new
>> ObjectInputStream(con.getInputStream());
>> Object obj = input.readObject();
>> myTextArea.append("\nReading answer.");
>> myTextArea.append("\n" + obj.toString());
>> ..............
>> }
>> catch(Exception e)
>> {
>> }
>>
>> As you can see, this is very very simple. I tried with a Date
>> object and it works perfectly. I also tried with a java.awt.Rectangle
>> and it also works perfectly. However, when I try with a Hashtable, I
>> get an exception quite strange :
>>
>> --
>> java.io.FileNotFoundException:
>> localhost:80//servlet/Servlet1?format=use_socket
>> --
>>
>> What does this means ? I can't use Hashtable ? It does implement
>> Serializable so where is the problem ? If the same code works for a
>> Rectangle or a Date, I can hardly see why it won't work with a
>> Hashtable ???
>>
>> Any idea ?
>>
>> Maxime.
>
>___________________________________________________________________________
>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>of the message "signoff SERVLET-INTEREST".
>
>Archives: http://archives.java.sun.com/archives/servlet-interest.html
>Resources: http://java.sun.com/products/servlet/external-resources.html
>LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html