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.
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.
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.
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.
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?
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.
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.