我使用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。但是,我可以避免这种情况吗?
<a href="MyServlet..">
无论您想在启动时做什么,都应该由实现的类完成ServletContextListener,因此您应该编写这样的类,例如:
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>