org.springframework.web.context
Class ContextLoaderServlet

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended byorg.springframework.web.context.ContextLoaderServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class ContextLoaderServlet
extends javax.servlet.http.HttpServlet

Bootstrap servlet to start up Spring's root WebApplicationContext. Simply delegates to ContextLoader.

This servlet should have a lower load-on-startup value in web.xml than any servlets that access the root web application context.

Note that this class has been deprecated for containers implementing Servlet API 2.4 or higher in favour of ContextLoaderListener.
According to Servlet 2.4, listeners must be initialized before load-on-startup servlets. Many Servlet 2.3 containers already enforce this behaviour. If you use such a container, this servlet can be replaced with ContextLoaderListener. Else or if working with a Servlet 2.2 container, stick with this servlet.

Servlet 2.3 containers known to work with listeners are:

For working with any of them, ContextLoaderListener is recommended.

Servlet 2.3 containers known not to work with listeners are:

If you happen to work with such a server, this servlet has to be used.

So unfortunately, the only context initialization option that is compatible with all Servlet 2.3 containers is this servlet.

Note that a startup failure of this servlet will not stop the rest of the web application from starting, in contrast to a listener failure. This can lead to peculiar side effects if other servlets get started that depend on initialization of the root web application context.

Author:
Juergen Hoeller, Darren Davison
See Also:
ContextLoader, ContextLoaderListener, Log4jConfigServlet, Serialized Form

Constructor Summary
ContextLoaderServlet()
           
 
Method Summary
protected  ContextLoader createContextLoader()
          Create the ContextLoader to use.
 void destroy()
          Close the root web application context.
 void doService(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          This should never even be called since no mapping to this servlet should ever be created in web.xml.
 java.lang.String getServletInfo()
           
 void init()
          Initialize the root web application context.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContextLoaderServlet

public ContextLoaderServlet()
Method Detail

init

public void init()
          throws javax.servlet.ServletException
Initialize the root web application context.

Throws:
javax.servlet.ServletException

createContextLoader

protected ContextLoader createContextLoader()
Create the ContextLoader to use. Can be overridden in subclasses.

Returns:
the new ContextLoader

destroy

public void destroy()
Close the root web application context.


doService

public void doService(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws java.io.IOException
This should never even be called since no mapping to this servlet should ever be created in web.xml. That's why a correctly invoked Servlet 2.3 listener is much more appropriate for initialization work ;-)

Throws:
java.io.IOException

getServletInfo

public java.lang.String getServletInfo()


Copyright (C) 2003-2004 The Spring Framework Project.