OA系统的启动原理:OA系统在Web容器上注册了一个Servletweaver.general.InitServer。启动Web容器时,会执行InitServer的init()方法,OA系统就在该方法中启动,执行各种初始化操作。
同理,我们也可以在Web容器中注册一个ServletMyApplicationStartupServlet,实现启动:
// 使用@WebServlet注解注册Servlet,可以免于修改web.xml。
// loadOnStartup:取最大整数,确保应用在OA系统启动之后才启动。
// urlPatterns:此Servlet不处理HTTP请求,但注解要求必填,所以这里给一个不会与OA系统冲突的路径即可。
@WebServlet(loadOnStartup = Integer.MAX_VALUE, urlPatterns = "/my")
public class MyApplicationStartupServlet extends HttpServlet {
@Override
public void init() {
// 启动应用程序,执行初始化
}
}
应用启动时执行的初始化过程: