|
|
@ -55,6 +55,7 @@ import org.springframework.util.StringUtils;
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @author Phillip Webb
|
|
|
|
* @author Phillip Webb
|
|
|
|
* @author Dave Syer
|
|
|
|
* @author Dave Syer
|
|
|
|
|
|
|
|
* @author Andrey Hihlovskiy
|
|
|
|
* @see #setPort(int)
|
|
|
|
* @see #setPort(int)
|
|
|
|
* @see #setConfigurations(Collection)
|
|
|
|
* @see #setConfigurations(Collection)
|
|
|
|
* @see JettyEmbeddedServletContainer
|
|
|
|
* @see JettyEmbeddedServletContainer
|
|
|
@ -100,7 +101,24 @@ public class JettyEmbeddedServletContainerFactory extends
|
|
|
|
JettyEmbeddedWebAppContext context = new JettyEmbeddedWebAppContext();
|
|
|
|
JettyEmbeddedWebAppContext context = new JettyEmbeddedWebAppContext();
|
|
|
|
int port = (getPort() >= 0 ? getPort() : 0);
|
|
|
|
int port = (getPort() >= 0 ? getPort() : 0);
|
|
|
|
Server server = new Server(new InetSocketAddress(getAddress(), port));
|
|
|
|
Server server = new Server(new InetSocketAddress(getAddress(), port));
|
|
|
|
|
|
|
|
configureWebAppContext(context, initializers);
|
|
|
|
|
|
|
|
server.setHandler(context);
|
|
|
|
|
|
|
|
this.logger.info("Server initialized with port: " + port);
|
|
|
|
|
|
|
|
for (JettyServerCustomizer customizer : getServerCustomizers()) {
|
|
|
|
|
|
|
|
customizer.customize(server);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return getJettyEmbeddedServletContainer(server);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Configure the given Jetty {@link WebAppContext} for use.
|
|
|
|
|
|
|
|
* @param context the context to configure
|
|
|
|
|
|
|
|
* @param initializers the set of initializers to apply
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
protected final void configureWebAppContext(WebAppContext context,
|
|
|
|
|
|
|
|
ServletContextInitializer... initializers) {
|
|
|
|
|
|
|
|
Assert.notNull(context, "Context must not be null");
|
|
|
|
if (this.resourceLoader != null) {
|
|
|
|
if (this.resourceLoader != null) {
|
|
|
|
context.setClassLoader(this.resourceLoader.getClassLoader());
|
|
|
|
context.setClassLoader(this.resourceLoader.getClassLoader());
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -123,14 +141,6 @@ public class JettyEmbeddedServletContainerFactory extends
|
|
|
|
context.getSessionHandler().getSessionManager()
|
|
|
|
context.getSessionHandler().getSessionManager()
|
|
|
|
.setMaxInactiveInterval(getSessionTimeout());
|
|
|
|
.setMaxInactiveInterval(getSessionTimeout());
|
|
|
|
postProcessWebAppContext(context);
|
|
|
|
postProcessWebAppContext(context);
|
|
|
|
|
|
|
|
|
|
|
|
server.setHandler(context);
|
|
|
|
|
|
|
|
this.logger.info("Server initialized with port: " + port);
|
|
|
|
|
|
|
|
for (JettyServerCustomizer customizer : getServerCustomizers()) {
|
|
|
|
|
|
|
|
customizer.customize(server);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return getJettyEmbeddedServletContainer(server);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void configureDocumentRoot(WebAppContext handler) {
|
|
|
|
private void configureDocumentRoot(WebAppContext handler) {
|
|
|
@ -151,7 +161,12 @@ public class JettyEmbeddedServletContainerFactory extends
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void addDefaultServlet(WebAppContext context) {
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Add Jetty's {@code DefaultServlet} to the given {@link WebAppContext}.
|
|
|
|
|
|
|
|
* @param context the jetty {@link WebAppContext}
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
protected final void addDefaultServlet(WebAppContext context) {
|
|
|
|
|
|
|
|
Assert.notNull(context, "Context must not be null");
|
|
|
|
ServletHolder holder = new ServletHolder();
|
|
|
|
ServletHolder holder = new ServletHolder();
|
|
|
|
holder.setName("default");
|
|
|
|
holder.setName("default");
|
|
|
|
holder.setClassName("org.eclipse.jetty.servlet.DefaultServlet");
|
|
|
|
holder.setClassName("org.eclipse.jetty.servlet.DefaultServlet");
|
|
|
@ -161,7 +176,12 @@ public class JettyEmbeddedServletContainerFactory extends
|
|
|
|
context.getServletHandler().getServletMapping("/").setDefault(true);
|
|
|
|
context.getServletHandler().getServletMapping("/").setDefault(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void addJspServlet(WebAppContext context) {
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Add Jetty's {@code JspServlet} to the given {@link WebAppContext}.
|
|
|
|
|
|
|
|
* @param context the jetty {@link WebAppContext}
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
protected final void addJspServlet(WebAppContext context) {
|
|
|
|
|
|
|
|
Assert.notNull(context, "Context must not be null");
|
|
|
|
ServletHolder holder = new ServletHolder();
|
|
|
|
ServletHolder holder = new ServletHolder();
|
|
|
|
holder.setName("jsp");
|
|
|
|
holder.setName("jsp");
|
|
|
|
holder.setClassName(getJspServletClassName());
|
|
|
|
holder.setClassName(getJspServletClassName());
|
|
|
|