public abstract class TemplateFilter implements javax.servlet.Filter {
  private FilterConfig filterConfig;
  public void setFilterConfig(FilterConfig filterConfig) throws ServletException { 
    this.filterConfig=filterConfig; 
  }

  public FilterConfig getFilterConfig() 	{ 
    return filterConfig; 
  }

  public void doFilter(ServletRequest request, 
    ServletResponse response, FilterChain chain)
    throws IOException, ServletException {

    // Przetwarzanie wstpne zwizane z filtrami 
    doPreProcessing(request, response);

    // Przekazanie sterowania nastpnemu filtrowi w acuchu lub 
    // zasobowi docelowemu
    chain.doFilter(request, response);

    // Przetwarzanie kocowe 
    doPostProcessing(request, response);
  }
  public abstract void doPreProcessing(ServletRequest request, 	
                                       ServletResponse response) {
  }

  public abstract void doPostProcessing(ServletRequest request, 
                                        ServletResponse response) {
  }
  public void destroy() { }
}
