302669
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@1266 7e9141cc-0065-0410-87d8-b60c137991c4
This commit is contained in:
parent
edbc262883
commit
ec3a5b4f61
|
@ -26,6 +26,7 @@ jetty-7.0.2-SNAPSHOT
|
||||||
+ 300933 AbstractConnector uses concurrent objects for stats
|
+ 300933 AbstractConnector uses concurrent objects for stats
|
||||||
+ 301089 Improve statistics available in StatisticsHandler and AbstractConnector
|
+ 301089 Improve statistics available in StatisticsHandler and AbstractConnector
|
||||||
+ 302556 CrossOriginFilter does not work correctly when Access-Control-Request-Headers header is not present
|
+ 302556 CrossOriginFilter does not work correctly when Access-Control-Request-Headers header is not present
|
||||||
|
+ 302669 WebInfConfiguration.unpack() unpacks WEB-INF/* from a ResourceCollection, breaking JSP reloading with ResourceCollections
|
||||||
|
|
||||||
jetty-7.0.1.v20091125 25 November 2009
|
jetty-7.0.1.v20091125 25 November 2009
|
||||||
+ 274251 DefaultServlet supports exact match mode.
|
+ 274251 DefaultServlet supports exact match mode.
|
||||||
|
|
|
@ -453,6 +453,7 @@ public class WebInfConfiguration implements Configuration
|
||||||
throw new java.io.FileNotFoundException(war);
|
throw new java.io.FileNotFoundException(war);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
context.setBaseResource(web_app);
|
context.setBaseResource(web_app);
|
||||||
|
|
||||||
if (Log.isDebugEnabled())
|
if (Log.isDebugEnabled())
|
||||||
|
@ -463,6 +464,7 @@ public class WebInfConfiguration implements Configuration
|
||||||
|
|
||||||
// Do we need to extract WEB-INF/lib?
|
// Do we need to extract WEB-INF/lib?
|
||||||
Resource web_inf= web_app.addPath("WEB-INF/");
|
Resource web_inf= web_app.addPath("WEB-INF/");
|
||||||
|
|
||||||
if (web_inf instanceof ResourceCollection ||
|
if (web_inf instanceof ResourceCollection ||
|
||||||
web_inf.exists() &&
|
web_inf.exists() &&
|
||||||
web_inf.isDirectory() &&
|
web_inf.isDirectory() &&
|
||||||
|
@ -472,12 +474,35 @@ public class WebInfConfiguration implements Configuration
|
||||||
if (extractedWebInfDir.exists())
|
if (extractedWebInfDir.exists())
|
||||||
extractedWebInfDir.delete();
|
extractedWebInfDir.delete();
|
||||||
extractedWebInfDir.mkdir();
|
extractedWebInfDir.mkdir();
|
||||||
|
Resource web_inf_lib = web_inf.addPath("lib/");
|
||||||
File webInfDir=new File(extractedWebInfDir,"WEB-INF");
|
File webInfDir=new File(extractedWebInfDir,"WEB-INF");
|
||||||
webInfDir.mkdir();
|
webInfDir.mkdir();
|
||||||
Log.info("Extract " + web_inf + " to " + webInfDir);
|
|
||||||
web_inf.copyTo(webInfDir);
|
if (web_inf_lib.exists())
|
||||||
|
{
|
||||||
|
File webInfLibDir = new File(webInfDir, "lib");
|
||||||
|
webInfLibDir.mkdir();
|
||||||
|
|
||||||
|
Log.info("Copying WEB-INF/lib " + web_inf_lib + " to " + webInfLibDir);
|
||||||
|
web_inf_lib.copyTo(webInfLibDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
Resource web_inf_classes = web_inf.addPath("classes/");
|
||||||
|
if (web_inf_classes.exists())
|
||||||
|
{
|
||||||
|
File webInfClassesDir = new File(webInfDir, "classes");
|
||||||
|
webInfClassesDir.mkdir();
|
||||||
|
Log.info("Copying WEB-INF/classes from "+web_inf_classes+" to "+webInfClassesDir.getAbsolutePath());
|
||||||
|
web_inf_classes.copyTo(webInfClassesDir);
|
||||||
|
}
|
||||||
|
|
||||||
web_inf=Resource.newResource(extractedWebInfDir.toURL());
|
web_inf=Resource.newResource(extractedWebInfDir.toURL());
|
||||||
|
|
||||||
ResourceCollection rc = new ResourceCollection(new Resource[]{web_inf,web_app});
|
ResourceCollection rc = new ResourceCollection(new Resource[]{web_inf,web_app});
|
||||||
|
|
||||||
|
if (Log.isDebugEnabled())
|
||||||
|
Log.debug("context.resourcebase = "+rc);
|
||||||
|
|
||||||
context.setBaseResource(rc);
|
context.setBaseResource(rc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue