【发布时间】:2018-07-13 02:41:15
【问题描述】:
我正在尝试检查以下所有条件是否返回 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)
标签: java servlets equals servlet-filters