0

我有一个无法更改的 servlet(com.sun.jersey.spi.container.servlet.ServletContainer来自 Jersey RS)。我能做的是创建它的子类。但是,我需要在初始化 servlet 时运行我的子类的一个函数。我无法覆盖该init方法,因为它具有泽西岛代码。

我尝试@PostConstruct在方法上使用注解使其在初始化后运行,但它不起作用(但它在 Tomcat 6 下确实有效)。在web.xml类中设置为在启动时运行。

4

2 回答 2

2

您应该能够继承ServletContainer、覆盖init、调用超类方法然后执行您自己的逻辑,即

public class MyServletContainer extends ServletContainer {

   public void init() throws ServletException {
      super.init();

      //... perform custom initialization logic here
   }
}
于 2012-05-16T10:36:29.897 回答
0

检查您的 webapp 库中是否有一些罐子“commons-annotation.jar、geronimo-annotation_1.1_spec、jboss-annotations-api_1.1_spec”并删除。

于 2013-12-11T21:19:05.100 回答