运算符 &&是未定义的参数类型布尔值、字符串



我试图检查下面的所有条件是否都返回true,然后进行验证,但编译器失败,说:

运算符&对于参数类型布尔型、字符串未定义

我来自JS背景,不是Java,所以任何帮助都将不胜感激。

String refererHeader = httprequest.getHeader("referer");
URL refererURL = new URL(refererHeader);
String requestUrl = httprequest.getRequestURL().toString();
String refererHost = refererURL.getHost();
int refererPort = refererURL.getPort();
String serverName = httprequest.getServerName();
int serverPort = httprequest.getServerPort();

if (refererHeader == null) {
httpresponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return;
}
//Only if the refererhost , port match with server name and port and if the pathinfo matches
if(refererHeader.equals(requestUrl) &&
refererHost.equals(serverName) &&
serverPort == refererPort &&
refererURL.getPath() + "?" + refererURL.getQuery().equals(PATH)) {
chain.doFilter(request, response);
} 

更改

refererURL.getPath() + "?" + refererURL.getQuery().equals(PATH)

(refererURL.getPath() + "?" + refererURL.getQuery()).equals(PATH)

最新更新