package com.sample.filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
@WebFilter(urlPatterns = "/*")
public class MyFilter implements Filter {
private static final Logger log = Logger.getLogger(MyFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
log.info("Starting filter .... ");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (((HttpServletRequest) request).getRequestURL().toString().endsWith(".jsp")) {
// This was a direct JSP attempt, shut it down ! Don't let it pass
log.info("Attempt for opening JSP directly stopped .... ");
} else {
// Let other requests forward without disrupting the request, response object
chain.doFilter(request, response);
}
}
@Override
public void destroy() {
log.warn("Filter is getting destroyed .... ");
}
}