2016-05-06 111 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

謝謝我會試試!我會告訴你它是怎麼回事:) –

相關問題