Forums Register Login

which part of the servlet runs in new threads

+Pie Number of slices to send: Send
hi all,

in Head First servlets and jsp book it was given like this .A seperate thread is created on every request, and before service() method called a seperate thread is created and control is transferred to service() method().

Does this mean remaining parts of servlet are shared by multiple threads
simultaniously ?

If I declare a HashMap in a servlet class as an instance variable then will it be shared by multiple threads .

I refer this HashMap in doPost()


eg





please tell in the above example if the HashMap h is shared by multiple threads .Is this the proper place to declare a HashMap in a servlet.



my application requirement after upload keep track of all uploaded file in a HashMap .So that when a user tries to delete using a link in the html page servlet shud delete that file only in the file system.
[ December 16, 2008: Message edited by: vijaya saradhi ]
+Pie Number of slices to send: Send
you are right that the HashMap will be shared by multiple threads. I don't think you can face problems with the specification of your code. But I am thinking about a case where two files with the same name are uploaded at the same time. There might be some more cases which I am not able to figure out . So for safety, I think you must synchronize the doPost method.
+Pie Number of slices to send: Send
Instance variables are shared by all threads. Since that HashMap is mutable (there's a "put" method), this code is not thread-safe. You need to synchronize access to it.

The doGet and doPost methods are called from the service method, so both can be run by multiple threads/requests simultaneously.
[ December 17, 2008: Message edited by: Ulf Dittmer ]
bacon. tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 567 times.
Similar Threads
Jsp and Apache commons upload
Problem compiling servlet [RESOLVED]
GET Method Working But POST is not
HTTP 405 Resource not allowed
Error In JSP Page
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 15:46:19.