findAndFilterContainerPaths

Find jars and directories that are on the container's classpath
and apply an optional filter. The filter is a pattern applied to the
full jar or directory names. If there is no pattern, then no jar
or dir is considered to match.
Those jars that do match will be later examined for META-INF
information and annotations.
To find them, examine the classloaders in the hierarchy above the
webapp classloader that are URLClassLoaders. For jdk-9 we also
look at the java.class.path, and the jdk.module.path.

Parameters:

context - the WebAppContext being deployed

Throws:

java.lang.Exception - if unable to apply optional filtering on the container's classpath

findAndFilterWebAppPaths

Finds the jars that are either physically or virtually in
WEB-INF/lib, and applies an optional filter to their full
pathnames.
The filter selects which jars will later be examined for META-INF
information and annotations. If there is no pattern, then
all jars are considered selected.

resolveTempDirectory

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:

Iff an explicit directory is set for this webapp, use it. Set delete on
exit depends on value of persistTempDirectory.

Iff javax.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.