私はさまざまなサーバーと構成で作業しています。スキームを取得するための最良のJavaコードアプローチは何ですか://ホスト:[ポート80でない場合のポート]。
ここに私が使用したコードがありますが、これが最善のアプローチであるかどうかはわかりません。(これは疑似コードです)
HttpServletRequest == リクエスト
String serverName = request.getServerName().toLowerCase();
String scheme = request.getScheme();
int port = request.getServerPort();
String val = scheme + "://" + serverName + ":" port;
val が返すようなもの:
http(s)://server.com/
また
http(s)://server.com:7770
基本的に、クエリ文字列と「コンテキスト」以外はすべて必要です。
URLの使用も検討しました:
String absURL = request.getRequestURL();
URL url = new URL(absURL);
url.get????