私は異なるサーバーと構成で作業します。 scheme:// host:[ポート80でない場合のポート]を取得するための最良のJavaコードアプローチは何ですか?Java:サーブレットリクエストからのホスト、スキーム、おそらくはポートの文字列表現
これは私が使ったコードですが、これが最善のアプローチかどうかはわかりません。
http(s)://server.com/
または
http(s)://server.com:7770
を基本的に、私は、クエリ以外のすべてを必要とする:valが返すよう (これは擬似コードです)
のHttpServletRequest ==要求
String serverName = request.getServerName().toLowerCase();
String scheme = request.getScheme();
int port = request.getServerPort();
String val = scheme + "://" + serverName + ":" port;
文字列と 'コンテキスト'。
私はまた、URLを使用することを検討した
String absURL = request.getRequestURL();
URL url = new URL(absURL);
url.get????
http://stackoverflow.com/questions/883136/is-there-a-good-url-builder-for-javaは非常によく似た質問に見えます。 – aem
これはかなり一般的な質問であり、私はApacheのlibsを使用することはできません。 –