Class JettyServletWebServerFactory

All Implemented Interfaces:
Aware, ConfigurableJettyWebServerFactory, ConfigurableWebServerFactory, ErrorPageRegistry, ConfigurableServletWebServerFactory, ServletWebServerFactory, WebListenerRegistry, WebServerFactory, ResourceLoaderAware

ServletWebServerFactory that can be used to create a JettyWebServer. Can be initialized using Spring's ServletContextInitializers or Jetty Configurations.

Unless explicitly configured otherwise this factory will create servers that listen for HTTP requests on port 8080.

Since:
4.0.0
Author:
Phillip Webb, Dave Syer, Andrey Hihlovskiy, Andy Wilkinson, EddĂș MelĂ©ndez, Venil Noronha, Henri Kerola, Moritz Halbritter, Onur Kagan Ozcan
See Also:
  • Constructor Details

    • JettyServletWebServerFactory

      public JettyServletWebServerFactory()
      Create a new JettyServletWebServerFactory instance.
    • JettyServletWebServerFactory

      public JettyServletWebServerFactory(int port)
      Create a new JettyServletWebServerFactory that listens for requests using the specified port.
      Parameters:
      port - the port to listen on
    • JettyServletWebServerFactory

      public JettyServletWebServerFactory(String contextPath, int port)
      Create a new JettyServletWebServerFactory with the specified context path and port.
      Parameters:
      contextPath - the root context path
      port - the port to listen on
  • Method Details

    • getWebServer

      public WebServer getWebServer(ServletContextInitializer... initializers)
      Description copied from interface: ServletWebServerFactory
      Gets a new fully configured but paused WebServer instance. Clients should not be able to connect to the returned server until WebServer.start() is called (which happens when the ApplicationContext has been fully refreshed).
      Specified by:
      getWebServer in interface ServletWebServerFactory
      Parameters:
      initializers - ServletContextInitializers that should be applied as the server starts
      Returns:
      a fully configured and started WebServer
      See Also:
    • addHandlerWrappers

      protected org.eclipse.jetty.server.Handler addHandlerWrappers(org.eclipse.jetty.server.Handler handler)
      Overrides:
      addHandlerWrappers in class JettyWebServerFactory
    • configureWebAppContext

      protected final void configureWebAppContext(org.eclipse.jetty.ee10.webapp.WebAppContext context, ServletContextInitializer... initializers)
      Configure the given Jetty WebAppContext for use.
      Parameters:
      context - the context to configure
      initializers - the set of initializers to apply
    • addDefaultServlet

      protected final void addDefaultServlet(org.eclipse.jetty.ee10.webapp.WebAppContext context)
      Add Jetty's DefaultServlet to the given WebAppContext.
      Parameters:
      context - the jetty WebAppContext
    • addJspServlet

      protected final void addJspServlet(org.eclipse.jetty.ee10.webapp.WebAppContext context)
      Add Jetty's JspServlet to the given WebAppContext.
      Parameters:
      context - the jetty WebAppContext
    • getWebAppContextConfigurations

      protected org.eclipse.jetty.ee10.webapp.Configuration[] getWebAppContextConfigurations(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext, ServletContextInitializers initializers)
      Return the Jetty Configurations that should be applied to the server.
      Parameters:
      webAppContext - the Jetty WebAppContext
      initializers - the ServletContextInitializers to apply
      Returns:
      configurations to apply
    • getServletContextInitializerConfiguration

      protected org.eclipse.jetty.ee10.webapp.Configuration getServletContextInitializerConfiguration(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext, ServletContextInitializers initializers)
      Return a Jetty Configuration that will invoke the specified ServletContextInitializers. By default this method will return a ServletContextInitializerConfiguration.
      Parameters:
      webAppContext - the Jetty WebAppContext
      initializers - the ServletContextInitializers to apply
      Returns:
      the Configuration instance
    • postProcessWebAppContext

      protected void postProcessWebAppContext(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext)
      Post process the Jetty WebAppContext before it's used with the Jetty Server. Subclasses can override this method to apply additional processing to the WebAppContext.
      Parameters:
      webAppContext - the Jetty WebAppContext
    • getJettyWebServer

      protected JettyWebServer getJettyWebServer(org.eclipse.jetty.server.Server server)
      Factory method called to create the JettyWebServer. Subclasses can override this method to return a different JettyWebServer or apply additional processing to the Jetty server.
      Parameters:
      server - the Jetty server.
      Returns:
      a new JettyWebServer instance
    • setResourceLoader

      public void setResourceLoader(ResourceLoader resourceLoader)
      Specified by:
      setResourceLoader in interface ResourceLoaderAware
    • getSettings

      public ServletWebServerSettings getSettings()
      Specified by:
      getSettings in interface ConfigurableServletWebServerFactory