1

I want a method (or some functionality) to be executed after my web application starts (context loaded). I am using spring 3.0 as framework.

I tried using ServletContextListener which I implemented in my class

my listener class

package myapp.listner;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class MyContextListner implements ServletContextListener{

    public static long appStart=0L;
    @Override
    public void contextDestroyed(ServletContextEvent arg0) {

        System.out.println("Context Destroyed");
    }

    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        appStart=System.currentTimeMillis();
        System.out.println("Context Initialised");

    }

}

and part of web.xml is

<listner>
     <listner-class>myapp.listner.MyContextListner</listner-class>
    </listner>

    <servlet>
      <servlet-name>dispatcher</servlet-name>

      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>


    <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>/forms/*</url-pattern>
    </servlet-mapping>

but its not printing that message.....

Please help me....

4

1 回答 1

4

PostConstruct 和 PreDestroy 注释,如下所示:

@Configuration
public class MyConfig{

    @PostConstruct
    public void contextInitialized(){
      System.out.println("Context Initialised");
    }

    @PreDestroy
    public void contextdestroyed(){
      System.out.println("Context Destroyed");
    }
}

您不必在配置 bean 中使用,它可以在任何地方

于 2012-06-06T10:41:51.363 回答