package me.test;
import java.io.IOException;
import java.util.Enumeration;
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.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyFilter implements Filter {
private Logger logger = LoggerFactory.getLogger(MyFilter.class);
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (request instanceof HttpServletRequest) {
HttpServletRequest req = (HttpServletRequest) request;
logger.debug("================================================");
logger.debug("scheme = {}", req.getScheme());
logger.debug("serverName = {}", req.getServerName());
logger.debug("serverPort = {}", req.getServerPort());
logger.debug("serverPath = {}", req.getServletPath());
logger.debug("pathInfo = {}", req.getPathInfo());
logger.debug("pathTranslated = {}", req.getPathTranslated());
logger.debug("requestURI = {}", req.getRequestURI());
logger.debug("requestURL = {}", req.getRequestURL());
logger.debug("protocol = {}", req.getProtocol());
logger.debug("queryString = {}", req.getQueryString());
logger.debug("authType = {}", req.getAuthType());
logger.debug("header: ");
@SuppressWarnings("unchecked")
Enumeration<String> headerNames = req.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
String headerValue = req.getHeader(headerName);
logger.debug("\t{} : {}", headerName, headerValue);
}
}
ServletRequest req = new MyRequest((HttpServletRequest) request);
chain.doFilter(req, response);
}
public void destroy() {
}
}