这是我的WebFilter
的样子。
@WebFilter("/rest/*")
public class AuthTokenValidatorFilter implements Filter {
@Override
public void init(final FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
final Enumeration<String> attributeNames = servletRequest.getAttributeNames();
while (attributeNames.hasMoreElements()) {
System.out.println("{attribute} " + servletRequest.getParameter(attributeNames.nextElement()));
}
final Enumeration<String> parameterNames = servletRequest.getParameterNames();
while (parameterNames.hasMoreElements()) {
System.out.println("{parameter} " + servletRequest.getParameter(parameterNames.nextElement()));
}
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
我试图在网上找出如何获取来自请求的HTTP头信息的方法。
我没有找到任何有用的信息,所以我尝试使用 servletRequest.getAttributeNames()
和 servletRequest.getParameterNames()
枚举,但我没有获得任何头信息。
问题:
如何获取来自请求的所有头信息?
ServletRequest
在什么情况下可能与HttpServletRequest
不同? - sthzg