Spring boot convert web.xml listener

后端 未结 3 1929
慢半拍i
慢半拍i 2020-12-31 11:47

I\'m trying to convert my project to Spring Boot project (executable jar file with Jetty embedded). All works with a standard example but I want migrate my old web.xml to Sp

相关标签:
3条回答
  • 2020-12-31 12:22

    Also Spring Boot will automatically register any @Bean extend of HttpServlet;

       @Bean
       public ServletRegistrationBean axisServletRegistrationBean() {
          ServletRegistrationBean registration = new ServletRegistrationBean(new AxisServlet(), "/services/*");
          registration.addUrlMappings("*.jws");
          return registration;
       }
    
    0 讨论(0)
  • 2020-12-31 12:23

    For RequestContext read this

     @Bean
        @ConditionalOnMissingBean(RequestContextListener.class)
        public RequestContextListener requestContextListener() {
            return new RequestContextListener();
        }
    

    For the other listener is register automatically when you use spring-boot as this link implies.

    For your own listeners.

    public class MyAdditionListeners extends SpringBootServletInitializer {
    
        protected final Log logger = LogFactory.getLog(getClass());
    
        @Override
        public void onStartup(ServletContext servletContext) throws ServletException {
            WebApplicationContext rootAppContext = createRootApplicationContext(servletContext);
            if (rootAppContext != null) {
                servletContext.addListener(new YourListenerHere());
            }
            else {
                this.logger.debug("No ContextLoaderListener registered, as "
                        + "createRootApplicationContext() did not "
                        + "return an application context");
            }
        }
    

    Finally there is a link in which you can find some information about listeners and SpringApplication class. Read section

    0 讨论(0)
  • 2020-12-31 12:48

    Spring Boot will automatically register any @Beans of the following types with the servlet container:

    • ServletContextAttributeListener
    • ServletRequestListener
    • ServletRequestAttributeListener
    • HttpSessionAttributeListener
    • HttpSessionListener
    • ServletContextListener

    For example, to register GravityWebSocketDeployer which is a ServletContextListener add a @Bean method to your configuration class:

    @Bean
    public GravityWebSocketDeployer gravityWebSocketDeployer() {
        return new GravityWebSocketDeployer();
    }
    
    0 讨论(0)
提交回复
热议问题