我正在構建一個標準的GWT Web應用程序,我也在使用MySql數據庫。 每次我重新編譯我的應用程序,我的數據庫被刪除並重新開始。 我知道我可以阻止它丟棄表,但我也想在每次重新編譯前保存我的數據庫。 我的問題是: 1.我該在哪裏放置該方法,以及如何「使用它」? 2.您認爲保存該數據庫的最佳選擇是什麼?如何在gwt應用程序重新啓動/關閉之前執行操作?
感謝您的幫助
我正在構建一個標準的GWT Web應用程序,我也在使用MySql數據庫。 每次我重新編譯我的應用程序,我的數據庫被刪除並重新開始。 我知道我可以阻止它丟棄表,但我也想在每次重新編譯前保存我的數據庫。 我的問題是: 1.我該在哪裏放置該方法,以及如何「使用它」? 2.您認爲保存該數據庫的最佳選擇是什麼?如何在gwt應用程序重新啓動/關閉之前執行操作?
感謝您的幫助
如果你想在應用程序關閉之前執行一些動作,只需添加一個事件處理這樣
Window.addWindowClosingHandler(new Window.ClosingHandler(){
@Override
public void onWindowClosing(Window.ClosingEvent event) {
/*do some actions before app closes*/
}
});
您可以使用ServletContextListener。然後,你可以聽那些(簡稱)contextInitialized
和contextDestroyed
事件的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>
謝謝我會試試!我會告訴你它是怎麼回事:) –
你在哪裏放置數據庫的方法? – dydigging
不... drop database用mysql完成...我問我什麼時候在本地主機上運行gwt ...看到一切正常,並關閉應用程序繼續編碼。所以我想在應用程序關閉前做一些動作 怎麼做... –