Class VaadinServletConfiguration

java.lang.Object
com.vaadin.spring.boot.internal.VaadinServletConfiguration
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean

@Configuration @EnableConfigurationProperties(VaadinServletConfigurationProperties.class) public class VaadinServletConfiguration extends Object implements org.springframework.beans.factory.InitializingBean
Spring configuration that sets up a SpringVaadinServlet. If you want to customize the servlet, extend it and make it available as a Spring bean.

By default, unless a custom mapping of the Vaadin servlet is performed using the URL mapping configuration property VaadinServletConfigurationProperties.getUrlMapping(), the Vaadin servlet is mapped to a hidden path not to block requests destined to DispatcherServlet. ServletForwardingController is then mapped so that requests to all SpringUI paths are forwarded to the servlet for the generation of a bootstrap page, which internally uses the Vaadin servlet path for all other communication.

This approach currently relies on a hack that modifies request servlet path and path info on the fly as those produced by ServletForwardingController are not what VaadinServlet expects. See SpringVaadinServlet for more information on this.

Author:
Petter Holmström (petter@vaadin.com), Henri Sara (hesara@vaadin.com)
  • Field Details

    • DEFAULT_SERVLET_URL_MAPPING

      public static final String DEFAULT_SERVLET_URL_MAPPING
      See Also:
    • STATIC_RESOURCES_URL_MAPPING

      public static final String STATIC_RESOURCES_URL_MAPPING
      Mapping for static resources that is used in case a non-default mapping is used as the primary mapping.
      See Also:
    • applicationContext

      @Autowired protected org.springframework.context.ApplicationContext applicationContext
    • configurationProperties

      @Autowired protected VaadinServletConfigurationProperties configurationProperties
  • Constructor Details

    • VaadinServletConfiguration

      public VaadinServletConfiguration()
  • Method Details

    • vaadinUiForwardingHandlerMapping

      @Bean public org.springframework.web.servlet.handler.SimpleUrlHandlerMapping vaadinUiForwardingHandlerMapping()
    • getUIPaths

      protected List<String> getUIPaths()
    • getLogger

      protected org.slf4j.Logger getLogger()
    • vaadinUiForwardingController

      @Bean public org.springframework.web.servlet.mvc.Controller vaadinUiForwardingController()
      Forwarding controller that sends requests for the root page of Vaadin servlets to the Vaadin servlet.
      Returns:
      forwarding controller
    • isMappedToRoot

      protected boolean isMappedToRoot()
      Returns true if the Vaadin servlet is mapped to the context root, false otherwise.
      Returns:
      true if the Vaadin servlet is mapped to the context root
    • getUrlMappings

      protected String[] getUrlMappings()
    • vaadinServletRegistration

      @Bean protected org.springframework.boot.web.servlet.ServletRegistrationBean<?> vaadinServletRegistration()
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception
    • vaadinServlet

      @Bean @ConditionalOnMissingBean public com.vaadin.server.VaadinServlet vaadinServlet()
    • createServletRegistrationBean

      protected org.springframework.boot.web.servlet.ServletRegistrationBean<?> createServletRegistrationBean()
    • addInitParameters

      protected void addInitParameters(org.springframework.boot.web.servlet.ServletRegistrationBean<?> servletRegistrationBean)