Search in sources :

Example 1 with FrameworkServlet

use of org.springframework.web.servlet.FrameworkServlet in project spring-framework by spring-projects.

the class AbstractDispatcherServletInitializer method registerDispatcherServlet.

/**
	 * Register a {@link DispatcherServlet} against the given servlet context.
	 * <p>This method will create a {@code DispatcherServlet} with the name returned by
	 * {@link #getServletName()}, initializing it with the application context returned
	 * from {@link #createServletApplicationContext()}, and mapping it to the patterns
	 * returned from {@link #getServletMappings()}.
	 * <p>Further customization can be achieved by overriding {@link
	 * #customizeRegistration(ServletRegistration.Dynamic)} or
	 * {@link #createDispatcherServlet(WebApplicationContext)}.
	 * @param servletContext the context to register the servlet against
	 */
protected void registerDispatcherServlet(ServletContext servletContext) {
    String servletName = getServletName();
    Assert.hasLength(servletName, "getServletName() must not return empty or null");
    WebApplicationContext servletAppContext = createServletApplicationContext();
    Assert.notNull(servletAppContext, "createServletApplicationContext() did not return an application " + "context for servlet [" + servletName + "]");
    FrameworkServlet dispatcherServlet = createDispatcherServlet(servletAppContext);
    dispatcherServlet.setContextInitializers(getServletApplicationContextInitializers());
    ServletRegistration.Dynamic registration = servletContext.addServlet(servletName, dispatcherServlet);
    Assert.notNull(registration, "Failed to register servlet with name '" + servletName + "'." + "Check if there is another servlet registered under the same name.");
    registration.setLoadOnStartup(1);
    registration.addMapping(getServletMappings());
    registration.setAsyncSupported(isAsyncSupported());
    Filter[] filters = getServletFilters();
    if (!ObjectUtils.isEmpty(filters)) {
        for (Filter filter : filters) {
            registerServletFilter(servletContext, filter);
        }
    }
    customizeRegistration(registration);
}
Also used : ServletRegistration(javax.servlet.ServletRegistration) Filter(javax.servlet.Filter) FrameworkServlet(org.springframework.web.servlet.FrameworkServlet) WebApplicationContext(org.springframework.web.context.WebApplicationContext)

Aggregations

Filter (javax.servlet.Filter)1 ServletRegistration (javax.servlet.ServletRegistration)1 WebApplicationContext (org.springframework.web.context.WebApplicationContext)1 FrameworkServlet (org.springframework.web.servlet.FrameworkServlet)1