java - Glassfish 过滤器初始化被调用多次

标签 java glassfish

我正在使用 Glassfish 3.0.1 build 22 来运行自定义 Web 应用程序。出于身份验证的目的,我使用自定义过滤器,它有一个 init() 方法:

public class MyFilter extends HttpServlet implements Filter

  public void init(FilterConfig filterConfig) throws ServletException { ..// dostuff }

通常 init() 方法在启动时调用一次。现在我遇到了一个奇怪的情况,init()方法被调用了几次。我找不到对此的解释。

什么可能导致这种情况?

最佳答案

我正在运行 Glassfish 3.1.1 build 12。

我有一个 HttpServlet,Glassfish 在每个请求上调用 #init(ServletConfig),也许与您遇到的情况类似。

事实证明,我在 servlet 中重写了该方法,但未能调用 super.init(servletConfig)。添加对父类(super class)方法的调用后,Glassfish 仅按预期调用了我的 init 方法一次。

我想知道为什么你要实现 Filter 但扩展 HttpServlet ?是否有可能您没有正确初始化父类(super class),而 Glassfish 以某种方式检测到这一点并尝试再次调用 init?

关于java - Glassfish 过滤器初始化被调用多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6439274/

相关文章:

java - 在 Spring Framework 3.0 中同时使用 Hibernate 和 Jdbc

Java EE 7 教程,netbeans 找不到 glassfish

dependency-injection - GlassFish、CDI 和构造函数注入(inject)

java - 是否可以更改 JSESSIONID cookie 的路径?

java - 使用 Retrofit 下载图像返回空文件

java - java如何识别两个对象是同一类型

java - EJB 中的事务传播

java - 我可以通过 Eclipse 在 Glassfish 中部署 .EAR 吗?

java - 运行 ADF Morena 应用程序时出错?

java - 从列表中删除非对象<Object>