2013-07-17 37 views
2

通常,Java會附帶一大組可用常量。由IANA(80和443)分配的HTTP和HTTPS默認端口號將是明智的常數。我檢查了java.net.URL,java.net.HttpURLConnection和javax.net.ssl.HttpsURLConnection的javadoc,但沒有在那裏找到它們。這些常量是否在JavaSE中?如果沒有,Tomcat上的Web應用程序可以訪問哪些類中的某個地方。 org.apace.catalina還是郊狼?只是因爲我不喜歡我的代碼中的神奇數字...java中的HTTP和HTTPS默認端口號常量

我必須在URL組成中做到這一點嗎?

if(port != new URL("http://example.com/").getDefaultPort() && 
     port != new URL("https://example.com/").getDefaultPort()){ 
    stringBuilder.append(":"); 
    stringBuilder.append(port); 
} 
+0

參見:http://stackoverflow.com/questions/13498275/ is-http-and-https-default-port-numbers-defined-in-the-jdk我不認爲在java中有端口號的標準定義常量。 –

+0

只需每次插入端口號 – fge

+2

另外,不要使用'StringBuilder'來構建URL,請使用'URI'類。它可以爲你編碼。它有很多構造函數,包括一個接受主機/端口號 – fge

回答