Servlet Filter: How to get all the headers from servletRequest?

前端 未结 3 691
自闭症患者
自闭症患者 2020-12-24 00:35

Here is how my WebFilter looks like

@WebFilter(\"/rest/*\")
public class AuthTokenValidatorFilter implements Filter {

    @Override
    publi         


        
3条回答
  •  盖世英雄少女心
    2020-12-24 01:18

    Typecast ServletRequest into HttpServletRequest (only if ServletRequest request is an instanceof HttpServletRequest).

    Then you can use HttpServletRequest.getHeader() and HttpServletRequest.getHeaderNames() method.

    Something like this:

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;
        Enumeration headerNames = httpRequest.getHeaderNames();
    
        if (headerNames != null) {
                while (headerNames.hasMoreElements()) {
                        System.out.println("Header: " + httpRequest.getHeader(headerNames.nextElement()));
                }
        }
    
        //doFilter
        chain.doFilter(httpRequest, response);
    }
    

提交回复
热议问题