Class ServletHolder

  • All Implemented Interfaces:
    Comparable<ServletHolder>, org.eclipse.jetty.server.UserIdentity.Scope, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.LifeCycle

    @ManagedObject("Servlet Holder")
    public class ServletHolder
    extends Holder<Servlet>
    implements org.eclipse.jetty.server.UserIdentity.Scope, Comparable<ServletHolder>
    Servlet Instance and Context Holder.

    Holds the name, params and some state of a javax.servlet.Servlet instance. It implements the ServletConfig interface. This class will organise the loading of the servlet when needed or requested.

    • Constructor Detail

      • ServletHolder

        public ServletHolder()
        Constructor .
      • ServletHolder

        public ServletHolder​(Source creator)
        Constructor .
        Parameters:
        creator - the holder source
      • ServletHolder

        public ServletHolder​(Servlet servlet)
        Constructor for existing servlet.
        Parameters:
        servlet - the servlet
      • ServletHolder

        public ServletHolder​(String name,
                             Class<? extends Servlet> servlet)
        Constructor for servlet class.
        Parameters:
        name - the name of the servlet
        servlet - the servlet class
      • ServletHolder

        public ServletHolder​(String name,
                             Servlet servlet)
        Constructor for servlet class.
        Parameters:
        name - the servlet name
        servlet - the servlet
      • ServletHolder

        public ServletHolder​(Class<? extends Servlet> servlet)
        Constructor for servlet class.
        Parameters:
        servlet - the servlet class
    • Method Detail

      • getUnavailableException

        public UnavailableException getUnavailableException()
        Returns:
        The unavailable exception or null if not unavailable
      • setServlet

        public void setServlet​(Servlet servlet)
      • getInitOrder

        @ManagedAttribute(value="initialization order",
                          readonly=true)
        public int getInitOrder()
      • setInitOrder

        public void setInitOrder​(int order)
        Set the initialize order.

        Holders with order<0, are initialized on use. Those with order>=0 are initialized in increasing order when the handler is started.

        Parameters:
        order - the servlet init order
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • setUserRoleLink

        public void setUserRoleLink​(String name,
                                    String link)
        Link a user role. Translate the role name used by a servlet, to the link name used by the container.
        Parameters:
        name - The role name as used by the servlet
        link - The role name as used by the container.
      • getUserRoleLink

        public String getUserRoleLink​(String name)
        get a user role link.
        Parameters:
        name - The name of the role
        Returns:
        The name as translated by the link. If no link exists, the name is returned.
      • getForcedPath

        @ManagedAttribute(value="forced servlet path",
                          readonly=true)
        public String getForcedPath()
        Returns:
        Returns the forcedPath.
      • setForcedPath

        public void setForcedPath​(String forcedPath)
        Parameters:
        forcedPath - The forcedPath to set.
      • isEnabled

        public boolean isEnabled()
      • setEnabled

        public void setEnabled​(boolean enabled)
      • getServletInstance

        public Servlet getServletInstance()
        Get the servlet instance (no initialization done).
        Returns:
        The servlet or null
      • isAvailable

        public boolean isAvailable()
        Returns:
        true if the holder is started and is not unavailable
      • initJspServlet

        protected void initJspServlet()
                               throws Exception
        Throws:
        Exception - if unable to init the JSP Servlet
      • initMultiPart

        protected void initMultiPart()
                              throws Exception
        Register a ServletRequestListener that will ensure tmp multipart files are deleted when the request goes out of scope.
        Throws:
        Exception - if unable to init the multipart
      • getContextPath

        public String getContextPath()
        Specified by:
        getContextPath in interface org.eclipse.jetty.server.UserIdentity.Scope
        See Also:
        UserIdentity.Scope.getContextPath()
      • getRoleRefMap

        public Map<String,​String> getRoleRefMap()
        Specified by:
        getRoleRefMap in interface org.eclipse.jetty.server.UserIdentity.Scope
        See Also:
        UserIdentity.Scope.getRoleRefMap()
      • getRunAsRole

        @ManagedAttribute(value="role to run servlet as",
                          readonly=true)
        public String getRunAsRole()
      • setRunAsRole

        public void setRunAsRole​(String role)
      • isJspServlet

        protected boolean isJspServlet()
      • isJspServlet

        protected boolean isJspServlet​(String classname)
      • getNameOfJspClass

        public String getNameOfJspClass​(String jsp)
        Parameters:
        jsp - the jsp-file
        Returns:
        the simple classname of the jsp
      • getPackageOfJspClass

        public String getPackageOfJspClass​(String jsp)
      • getJspPackagePrefix

        public String getJspPackagePrefix()
        Returns:
        the package for all jsps
      • getClassNameForJsp

        public String getClassNameForJsp​(String jsp)
        Parameters:
        jsp - the jsp-file from web.xml
        Returns:
        the fully qualified classname
      • appendPath

        protected void appendPath​(StringBuffer path,
                                  String element)
        Concatenate an element on to fully qualified classname.
        Parameters:
        path - the path under construction
        element - the element of the name to add