我正在构建一个标准的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 ...看到一切正常,并关闭应用程序继续编码。所以我想在应用程序关闭前做一些动作 怎么做... –