对于参数类型boolean,String,运算符&&未定义

loo*_*nes 0 java servlets equals servlet-filters

我试图检查以下所有条件是否返回true然后验证,

但是编译器没有说"运算符&&未定义参数类型boolean,String".我来自JS背景和一个dnot 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);
    } 
Run Code Online (Sandbox Code Playgroud)

luc*_*umt 5

更改

refererURL.getPath() + "?" + refererURL.getQuery().equals(PATH)
Run Code Online (Sandbox Code Playgroud)

(refererURL.getPath() + "?" + refererURL.getQuery()).equals(PATH)
Run Code Online (Sandbox Code Playgroud)