nediam1234
asked on
ways to pass objects to a servlet?
hi all :)
I think the best way to show my problem with an example.
Lets say I have the following:
MyClass myInstance = new MyClass();
If I would like to pass the instance myInstance to an servlet, the way I have been using is calling a static function in the servlet
something like:
MyServlet.addMyClass(myIns tance);
and in the function addMyClass I can either add myInstance to a static hashtable and when I call the servlet, I use a parameter to access the current MyClass in the hashtable (I can also do this by letting addMyclass take in the request as a parameter and add myInstance to the session instead of a hashtable).
But the problem using this method is that I need to clean the hashtable (or session) regularly so it wont fill up the memory of my server.
I can't delete myInstance from the hashtable after each call to the servlet since a user could press a servlet link more than once and then the data should still be available.
Any idea how I can do this differently so I can pass an object to an servlet which I can then use inside the doGet method?
I think the best way to show my problem with an example.
Lets say I have the following:
MyClass myInstance = new MyClass();
If I would like to pass the instance myInstance to an servlet, the way I have been using is calling a static function in the servlet
something like:
MyServlet.addMyClass(myIns
and in the function addMyClass I can either add myInstance to a static hashtable and when I call the servlet, I use a parameter to access the current MyClass in the hashtable (I can also do this by letting addMyclass take in the request as a parameter and add myInstance to the session instead of a hashtable).
But the problem using this method is that I need to clean the hashtable (or session) regularly so it wont fill up the memory of my server.
I can't delete myInstance from the hashtable after each call to the servlet since a user could press a servlet link more than once and then the data should still be available.
Any idea how I can do this differently so I can pass an object to an servlet which I can then use inside the doGet method?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
First, I'm not using an applet, I'm using jsp.
After thinking about this I see I'm talking nonsense... asked the question to quickly :)
I'm was talking about keeping object between requests, and I can't do that except by storing it somewhere of course!.
Tómas Helgi, This article (the part about HttpMessage) shows many things about server/client communication that I did not know about, good to know how I can pass objects around like this. And after reading that I know what I have to do to make my code work correctly.
Objects, I did not know that a request has setAttribute , but it's good to know that (even though it does not help here since I was actually talking about keeping data between requests).
Thanks again.. this question is not relevant anymore :)
-----
To whom it may consern: takk fyrir þetta, heimskulegt að spyrja án þess að spá mikið í þetta fyrst... en greinin sem þú sendir var góð lesning. ;)