Class WebInfConfiguration

java.lang.Object
org.eclipse.jetty.webapp.AbstractConfiguration
org.eclipse.jetty.webapp.WebInfConfiguration
All Implemented Interfaces:
Configuration
Direct Known Subclasses:
AntWebInfConfiguration, OSGiWebInfConfiguration

public class WebInfConfiguration extends AbstractConfiguration
  • Field Details

  • Constructor Details

    • WebInfConfiguration

      public WebInfConfiguration()
  • Method Details

    • preConfigure

      public void preConfigure(WebAppContext context) throws Exception
      Description copied from interface: Configuration
      Set up for configuration.

      Typically this step discovers configuration resources. Calls to preConfigure may alter the Configurations configured on the WebAppContext, so long as configurations prior to this configuration are not altered.

      Specified by:
      preConfigure in interface Configuration
      Overrides:
      preConfigure in class AbstractConfiguration
      Parameters:
      context - The context to configure
      Throws:
      Exception - if unable to pre configure
    • configure

      public void configure(WebAppContext context) throws Exception
      Description copied from interface: Configuration
      Configure WebApp.

      Typically this step applies the discovered configuration resources to either the WebAppContext or the associated MetaData.

      Specified by:
      configure in interface Configuration
      Overrides:
      configure in class AbstractConfiguration
      Parameters:
      context - The context to configure
      Throws:
      Exception - if unable to configure
    • deconfigure

      public void deconfigure(WebAppContext context) throws Exception
      Description copied from interface: Configuration
      DeConfigure WebApp. This method is called to undo all configuration done. This is called to allow the context to work correctly over a stop/start cycle
      Specified by:
      deconfigure in interface Configuration
      Overrides:
      deconfigure in class AbstractConfiguration
      Parameters:
      context - The context to configure
      Throws:
      Exception - if unable to deconfigure
    • cloneConfigure

      public void cloneConfigure(WebAppContext template, WebAppContext context) throws Exception
      Overrides:
      cloneConfigure in class AbstractConfiguration
      Throws:
      Exception
    • resolveTempDirectory

      public void resolveTempDirectory(WebAppContext context) throws Exception
      Get a temporary directory in which to unpack the war etc etc. The algorithm for determining this is to check these alternatives in the order shown:

      A. Try to use an explicit directory specifically for this webapp:

      1. Iff an explicit directory is set for this webapp, use it. Set delete on exit depends on value of persistTempDirectory.
      2. Iff "jakarta.servlet.context.tempdir" context attribute is set for this webapp && exists && writeable, then use it. Set delete on exit depends on value of persistTempDirectory.

      B. Create a directory based on global settings. The new directory will be called "Jetty-"+host+"-"+port+"__"+context+"-"+virtualhost+"-"+randomdigits+".dir"

      If the user has specified the context attribute org.eclipse.jetty.webapp.basetempdir, the directory specified by this attribute will be the parent of the temp dir created. Otherwise, the parent dir is ${java.io.tmpdir}. Set delete on exit depends on value of persistTempDirectory.

      Parameters:
      context - the context to resolve the temp directory from
      Throws:
      Exception - if unable to resolve the temp directory
    • makeTempDirectory

      public void makeTempDirectory(File parent, WebAppContext context) throws Exception
      Throws:
      Exception
    • configureTempDirectory

      public void configureTempDirectory(File dir, WebAppContext context)
    • unpack

      public void unpack(WebAppContext context) throws IOException
      Throws:
      IOException
    • getCanonicalNameForWebAppTmpDir

      public static String getCanonicalNameForWebAppTmpDir(WebAppContext context)
      Create a canonical name for a webapp temp directory.

      The form of the name is:

      "jetty-"+host+"-"+port+"-"+resourceBase+"-_"+context+"-"+virtualhost+"-"+randomdigits+".dir"
      host and port uniquely identify the server context and virtual host uniquely identify the webapp randomdigits ensure every tmp directory is unique
      Parameters:
      context - the context to get the canonical name from
      Returns:
      the canonical name for the webapp temp directory
    • getResourceBaseName

      protected static String getResourceBaseName(Resource resource)