首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT:如何在服务器开始监听之前初始化后端?

GWT:如何在服务器开始监听之前初始化后端?
EN

Stack Overflow用户
提问于 2015-05-22 05:11:57
回答 1查看 107关注 0票数 0

我正在用GWT编写一个web应用程序。目前,我唯一的服务器端逻辑是扩展RemoteServiceServlet的类中包含的一些RPC调用。这个类的结构如下所示:

代码语言:javascript
复制
public class ProjectActionsImpl extends RemoteServiceServlet
                                implements ProjectActions {
    public ProjectActionsImpl() {
        ... *lots* of preparations ...
    }

    public String action1(String request) {
        ...
    }

    public String action2(String request) {
        ...
    }
    ...
}

但是我刚刚意识到构造函数中的初始化工作太多了,第一个调用需要几十秒才能响应。我可以想象,这将是恼人的第一个用户。

在服务器启动时,在服务器开始侦听之前,是否有方法初始化后端?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-22 07:33:18

你可以用ServletContextListener试试。看看这个:http://www.mkyong.com/servlet/what-is-listener-servletcontextlistener-example/。简而言之,您定义了一个上下文侦听器,该侦听器在webapp启动时被触发,在那里您可以初始化服务器端逻辑。下面是一个例子:

代码语言:javascript
复制
public class MyServletContextListener implements ServletContextListener{

  @Override
  public void contextInitialized(ServletContextEvent ctxEvt) {
        System.out.println("this runs at web app startup"); 
  }

  @Override
  public void contextDestroyed(ServletContextEvent ctxEvt) {
    System.out.println("this runs when you stop the app");
  }

}

然后使用和标记在web.xml中注册它(如果使用servlet规范v.3,则可以使用@WebListener对类进行注释)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30388781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档