aspose file tools*
The moose likes Servlets and the fly likes Interview question: can you make a servlet as singleton? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "Interview question: can you make a servlet as singleton?" Watch "Interview question: can you make a servlet as singleton?" New topic
Author

Interview question: can you make a servlet as singleton?

Prashanth Reddy Padamati
Greenhorn

Joined: Aug 23, 2011
Posts: 3
can you make a servlet as singleton.. this is a question asked in an interview..

According to my knowledge , as the servlet object is created by the container , we can't create it.. as it calls the default constructor while creating servlet.

The only method i know to make an object singleton is 1) making its constructor private and 2)giving factory methods which gives objects ... (which returns only one object .. and returns the same on further calls..)


But the first point , making constructor private is not possible when servlet calls the constructor..

.................

But I have a doubt, the Action Servlet in Struts framework is singleton .. that means there is way to create a singleton servlet .. ...

So .. tell me if there is any way.. and correct if Iam wrong in any of the things...
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18659
    
    8

Servlets are always singletons according to the latest servlet spec as long as you write them normally. (Which means not implementing SingleThreadModel.)
Prashanth Reddy Padamati
Greenhorn

Joined: Aug 23, 2011
Posts: 3
Paul Clapham : "Servlets are always singletons according to the latest servlet spec as long as you write them normally. (Which means not implementing SingleThreadModel.) "

Servlet are by default single instance multi threaded. But not singleton.. I don't know if there is any changes in the latest versions.. please correct me.. and thanks for reply
Seetharaman Venkatasamy
Ranch Hand

Joined: Jan 28, 2008
Posts: 5575

Prashanth Reddy Padamati wrote:please correct me..

Singleton is a design pattern - which give you only one instance of a class . so as paul said container creates only one instance to a servlet unless you implements deprecated SingleThreadModel, even there are multiple request/thread.
Prashanth Reddy Padamati
Greenhorn

Joined: Aug 23, 2011
Posts: 3
Seetharaman Venkatasamy : "Singleton is a design pattern - which give you only one instance of a class"

But I studied somewhere that "The WebLogic server creates more than one instance of a server when there are more requests demanding servlet. Due to this only, ActionServlet is explicitly made Singleton by the Struts Framework designers.... "

Any body clear this point..... whether servlet can be made as singleton or not..(i.e. we control the creation of instance )

Thanks for reply Seetharaman Venkatasamy
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Interview question: can you make a servlet as singleton?