Forums Register Login

Constructor And Static block

+Pie Number of slices to send: Send
is it a good practice to have static blocks and constructor in servlets. if both are used, what issues might be faced by the servlet in terms of concurancy.


For example

+Pie Number of slices to send: Send
 

is it a good practice to have static blocks and constructor in servlets. if both are used, what issues might be faced by the servlet in terms of concurancy.



I think it won't have any issues with regards to concurrency. Container make sure that servlets are ready to serve any request after being properly initialized.
+Pie Number of slices to send: Send
Bad idea. Servlets don't need constructors because they are initialized using their own life-cycle methods, and static blocks just invite threading problems.

Follow best practices and limit data to variables declared within the method bodies.
+Pie Number of slices to send: Send

Thanks Bear.

what will happen, if I the example given uses the constructor and static blocks?

please give some detailed examples or links for reference.

I can't google from my office

Thanks,
Neeraj.
+Pie Number of slices to send: Send
 

Neeraj Vij wrote:what will happen, if I the example given uses the constructor and static blocks?



Reason is when you have a static (class level) variable when multiple threads executed in a given servlet instance you will have all sorts of concurrency issues and that's why you should avoid that.
+Pie Number of slices to send: Send
But in the example, I have used vector. Will it still have concurency issues ?

I just wrote a small servlet for constructors usage-

if we don't want to use a ServletConfig object, it is fine to use a public no-arg constructor. Constructor was inviked first and then the init() method.

I want to know the risks/disadvantage of using constructors in servlet. if any?

Thanks
Neeraj.
+Pie Number of slices to send: Send
Inconsistency is not good. No experienced web developer worth their salt will use a servlet constructor because it's confusing and fragile. Just because you can get something to work, doesn't mean it's right. Following accepted practices and standards makes your code much more readable and understandable.
+Pie Number of slices to send: Send
Thanks Bear.


I will try to conivince the developer to not use constructors.

Will vectors be safe in transactions, if used in static blocks ?

Thanks,
neeraj.
+Pie Number of slices to send: Send
 

Neeraj Vij wrote:
I can't google from my office



I've never seen this before. I wonder why would they do this . I hope this is not common in most offices...
+Pie Number of slices to send: Send
It's a bit off topic, but you wouldn't believe some of the idiotic policies that big companies put in place.

My previous job was with a small software company that got bought by a BIG BANK. Some of the policies that got put into place were nothing short of ludicrous.
+Pie Number of slices to send: Send
I've never used a read-write static block in the over ten years I've been writing servlets -- since their very inception.

Data that's to be shared across the application goes in the application context, per-user data in the session.
snakes are really good at eating slugs. And you wouldn't think it, but so are tiny ads:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 2087 times.
Similar Threads
How do I force class to be a static
getting error when converting vector to string
final variables
about constructor
modifiers for constructors
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 04:12:59.