2016-05-06 69 views
1

我正在构建一个标准的GWT Web应用程序,我也在使用MySql数据库。 每次我重新编译我的应用程序,我的数据库被删除并重新开始。 我知道我可以阻止它丢弃表,但我也想在每次重新编译前保存我的数据库。 我的问题是: 1.我该在哪里放置该方法,以及如何“使用它”? 2.您认为保存该数据库的最佳选择是什么?如何在gwt应用程序重新启动/关闭之前执行操作?

感谢您的帮助

+0

你在哪里放置数据库的方法? – dydigging

+0

不... drop database用mysql完成...我问我什么时候在本地主机上运行gwt ...看到一切正常,并关闭应用程序继续编码。所以我想在应用程序关闭前做一些动作 怎么做... –

回答

0

如果你想在应用程序关闭之前执行一些动作,只需添加一个事件处理这样

Window.addWindowClosingHandler(new Window.ClosingHandler(){ 
        @Override 
        public void onWindowClosing(Window.ClosingEvent event) {  
         /*do some actions before app closes*/ 
        } 
       }); 
0

您可以使用ServletContextListener。然后,你可以听那些(简称)contextInitializedcontextDestroyed事件的web应用程序启动和web应用程序停止:

public class MyContextListener implements ServletContextListener { 

    @Override 
    public void contextInitialized(ServletContextEvent event) { 
     // app has started 
    } 

    @Override 
    public void contextDestroyed(ServletContextEvent event) { 
     // app has stopped 
    } 
} 

你也需要把这个在您的web.xml(与实际的包名称替换其必须在服务器端):

<listener> 
    <listener-class>com.adam.test.server.MyContextListener</listener-class> 
</listener> 
+0

谢谢我会试试!我会告诉你它是怎么回事:) –

相关问题