HttpServletRequest httpReq = (HttpServletRequest) request;
if (httpReq.getHeader("device").equals("web1")) {
chain.doFilter(request, response);
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何检查"device"请求标头中是否存在密钥?
注意:不想使用getHeaderNamewhich 返回此请求包含的所有标头名称的枚举并遍历它。
getParameterMap().containsKey("device") 不在这里工作。
来自 JavaDoc 的HttpServletRequest.getHeader(String name):
如果请求不包含指定名称的标头,则此方法返回
null。
所以一个基本的空检查就足够了:
boolean deviceHeaderExists = httpReq.getHeader("device") != null;
Run Code Online (Sandbox Code Playgroud)