当前位置: 首页 > 面试题库 >

在应用程序启动时执行servlet

司马晋
2023-03-14
问题内容

我使用JSP构建Web应用程序,并且在我的servlet中,我具有:

public class MyServlet extends HttpServlet {
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

           init();        
           HttpSession session = request.getSession(true);
           //more code...
    }
}

到现在为止,当JSP页面调用like时,我的serlvet都被调用了<a href="MyServlet..">。我想要的是每当应用程序启动时也要执行的servlet。我可以在第一页上有一个类似“
START”的按钮,并在那里调用servlet。但是,我可以避免这种情况吗?


问题答案:

无论您想在启动时做什么,都应该由实现的类完成ServletContextListener,因此您应该编写这样的类,例如:

public class MyContextListener 
           implements ServletContextListener{

  @Override
  public void contextDestroyed(ServletContextEvent arg0) {
    //do stuff
  }

  @Override
  public void contextInitialized(ServletContextEvent arg0) {
    //do stuff before web application is started
  }
}

然后,您应该在web.xml中声明它:

<listener>
   <listener-class>
      com.whatever.MyContextListener 
   </listener-class>
</listener>


 类似资料:
  • 问题内容: 使用Spring MVC在应用程序启动时执行Java类的最佳方法是什么? 问题答案: 不一定有“最佳”方式。和往常一样,有很多方法可以做到,“最佳”是最适合你的项目的: 如cjstehno所述,在XML中的bean元素上使用init-method =“ …” 实现Spring的接口。当部署在中时,在创建bean时将调用方法。 使用在bean上注释方法。同样,如果部署到,则在创建bean

  • 我有一份Java申请。 应用程序有一个决定应用程序是否在启动时启动的设置。 目前,我通过在StartUp items文件夹中放置/删除快捷方式实现了这一点。 然而,我想知道是否有更好的方法来处理这种行为。 编辑 是的,是视窗。抱歉之前没有清除。 应用程序有一个UI,用户可以在其中触发操作,并且应用程序在运行时定期在后台运行一些任务。 @Peter,如何使用应用程序中的代码更改注册表?这种方法是否与

  • 问题内容: 我写了一个Qt应用程序,它将在Linux上运行。它应该在启动时运行。 它应该在每个Linux- Suse,RedHat等上运行。 我应该写什么脚本,放在哪里? 我根本不知道如何编写脚本,因此,如果您附上示例,我将不胜感激。 问题答案: 您需要为您的应用程序创建一个桌面入口文件(请参阅此处),并将其放置在用户目录中。 Window Manager启动时,该目录中的任何桌面条目文件都将被执

  • 问题内容: 我有一个包含Java应用程序的JAR文件。如何使它从Windows开始而不需要用户交互? 问题答案: 创建一个.bat文件,并将其放入其中: 然后将.bat文件放入Windows启动文件夹。 还有一件事:使用java和javaw之间是有区别的。虽然在调试应用程序时使用Java更好,但应用程序会打印文本或类似内容,而在不需要时,javaw则更好。为什么?因为java使用控制台显示所有应用

  • 我有一个包含Java应用程序的JAR文件。如何在不需要用户交互的情况下从Windows开始?

  • 问题内容: 我有一个Java应用程序。 该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。 目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。 但是,我想知道是否有更好的方法来处理此行为。 编辑 是的,它是Windows。抱歉,之前没有清除该内容。 该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。 @Peter,如何在