org.apache.cocoon.maven.deployer.servlet
Class ShieldingServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.apache.cocoon.maven.deployer.servlet.ShieldingServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class ShieldingServlet
extends javax.servlet.http.HttpServlet

This servlet builds a classloading sandbox and runs another servlet inside that sandbox. The purpose is to shield the libraries and classes shipped with the web application from any other classes with the same name that may exist in the system, such as Xerces and Xalan versions included in JDK 1.4.

This servlet propagates all initialisation parameters to the sandboxed servlet, and requires the parameter servlet-class.

Version:
$Id: ShieldingServlet.html 1351235 2012-06-18 08:41:39Z ilgrosso $
See Also:
Serialized Form

Field Summary
protected  ClassLoader classloader
           
protected  javax.servlet.Servlet servlet
           
 
Constructor Summary
ShieldingServlet()
           
 
Method Summary
 void destroy()
          Destroy the actual servlet
 void init(javax.servlet.ServletConfig config)
           
 void service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
          Service the request by delegating the call to the real servlet
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

servlet

protected javax.servlet.Servlet servlet

classloader

protected ClassLoader classloader
Constructor Detail

ShieldingServlet

public ShieldingServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException
See Also:
GenericServlet.init(javax.servlet.ServletConfig)

service

public void service(javax.servlet.ServletRequest request,
                    javax.servlet.ServletResponse response)
             throws javax.servlet.ServletException,
                    IOException
Service the request by delegating the call to the real servlet

Specified by:
service in interface javax.servlet.Servlet
Overrides:
service in class javax.servlet.http.HttpServlet
Throws:
javax.servlet.ServletException
IOException

destroy

public void destroy()
Destroy the actual servlet

Specified by:
destroy in interface javax.servlet.Servlet
Overrides:
destroy in class javax.servlet.GenericServlet


Copyright © 1999-2012 The Apache Software Foundation. All Rights Reserved.