开发者

Where is the main() method In a JSP/Servlet application? [duplicate]

This question already has an answer here: 开发者_StackOverflow社区 Using special auto start servlet to initialize on startup and share application data (1 answer) Closed 7 years ago.

The reason I'm asking this is that I want to write code that initializes the application once it starts and cleans up later on.

I dont want to use a servlet init() method since it is per servlet.


There is no main() method in Servlet.

If

The reason I'm asking this is that I want to write code that initializes the application once it starts and cleans up later on.

You can use ServletContextListener implemented

public class MyServletContext implements ServletContextListener{
    ServletContext context;
    public void contextInitialized(ServletContextEvent contextEvent) {
        System.out.println("Context Created");

    }
    public void contextDestroyed(ServletContextEvent contextEvent) {

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

web.xml

<listener>
    <listener-class>
        com.yourpackage.MyServletContext
    </listener-class>
  </listener>


There is no main() method, because the components are managed and the container invokes other methods - like the init() on servlets and filters. The container itself is started through a main method, but even that's hidden from you.

For per-application and initialization you can use a ServletContextListener

You have to map it in web.xml using <listener><listener-class>...</listener-class></listener>. In contextInitialized(..) and contextDestroyed(..) you can do initialization and cleanup respectively.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜