File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes Regarding Servlet Creation Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "Regarding Servlet Creation" Watch "Regarding Servlet Creation" New topic

Regarding Servlet Creation

Vishnu Munnangi
Ranch Hand

Joined: Sep 28, 2004
Posts: 114
Hi Everyone,

Can any one explain me When the Container makes the Servlet? Is it when we start the Server (Tomcat) or when we first request for the servlet in the URL.

Thanks in Advance.
Shiang Wang
Ranch Hand

Joined: Jun 20, 2003
Posts: 96
It depends on how you define <load-on-start> element in web.xml

see Servlet spec here.

The load-on-startup element indicates that this
servlet should be loaded (instantiated and have
its init() called) on the startup of the web
application. The optional contents of these
element must be an integer indicating the order in
which the servlet should be loaded. If the value
is a negative integer, or the element is not
present, the container is free to load the servlet
whenever it chooses. If the value is a positive
integer or 0, the container must load and
initialize the servlet as the application is
deployed. The container must guarantee that
servlets marked with lower integers are loaded
before servlets marked with higher integers. The
container may choose the order of loading of
servlets with the same load-on-start-up value.

Lalitha Mouli

Joined: Oct 31, 2004
Posts: 6
It can be either way, if you specify <load-on-startup> in your DD(web.xml) with a a value greater than zero, then the container will instantiate and make the servlet ready to service requests. Whereas if you don't specify the above mentioned tag, the first request intiates the process.

Jayaraj C

Joined: Nov 09, 2004
Posts: 2
Hi Vishnu,

A servlet can be loaded in two ways.

1. Container loading it automatically
2. When the first request for the Servlet comes in.

For container loading, it can be configured in the deployment descriptor file(web.xml). If the load-on-startup attribute is used with a numerical value greater than 0, the container will load it automatically.

Otherwise, by default it uses the second way.
I agree. Here's the link:
subject: Regarding Servlet Creation
It's not a secret anymore!