Java HTTPServletRequest getServerPort返回-1
今天,我发现getServerPort()可以返回-1,这有点令人惊讶。我使用端口构建主机名,如下所示:Java HTTPServletRequest getServerPort返回-1,java,servlets,Java,Servlets,今天,我发现getServerPort()可以返回-1,这有点令人惊讶。我使用端口构建主机名,如下所示: String hostName = request.getServerName().toString(); Integer urlPort = request.getServerPort(); if((urlPort != null) && (urlPort.intValue() != 80) && (urlPort.intValue() != 443) &
String hostName = request.getServerName().toString();
Integer urlPort = request.getServerPort();
if((urlPort != null) && (urlPort.intValue() != 80) && (urlPort.intValue() != 443) && (urlPort.intValue() != -1)) {
hostName += ":" + urlPort;
}
- 为什么返回a-1?我希望它总是80/443
- 有没有更漂亮的方法来构建主机名
getScheme()方法否请求:当getServerPort()返回一个
-1
时,这意味着服务器端口未定义。您根本不需要构建主机名,只需要一个相对URL。然后对请求使用getScheme()
方法,而不是“否”。