我有一个过滤器实现,以前在单个实例Glassfish 3.1.1中有效。
它已使用@WebFilter注释,如下所示:
@WebFilter(urlPatterns = { "/*" })
public class SomeFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
ServletException {
HttpServletRequest req = (HttpServletRequest) request;
...
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// do nothing
}
@Override
public void destroy() {
// do nothing
}
应该在每次请求时调用它。
现在我有一个Glassfish设置,它有两个独立的FRONT和SERVICE实例。我将包含过滤器的WAR部署到FRONT,过滤器似乎不起作用。我尝试了日志记录和调试,但似乎是过滤器,或者至少从未调用过doFilter方法。我还尝试将一些日志记录放到init方法中,但它根本没有显示在日志上。
任何人都知道可能导致此类行为的原因。有没有办法以某种方式记录Glassfish过滤链?
答案 0 :(得分:1)
您是否检查过Glassfish server.log,了解有关过滤器初始化的错误?我遇到过类似的问题并且预感到过滤器初始化是导致问题的原因。