tomcat ローカル アドレス E:/soft4develop/apache-tomcat-6.0.18
System.getProperty("user.dir")//E:/soft4develop/apache-tomcat-6.0.18/bin
System.getProperty("catalina.home")//E:/soft4develop/apache-tomcat-6.0.18 は jboss にも適用できます。他のコンテナはテストされていません。
そういえば、たまたまグループ内で友達が質問してたんですけど、状況的にはこんな感じでした。
ログインにはリクエストを行うために HTTPS が必要です。ログインが成功すると、他のすべてのリクエストは HTTP 経由で行われます。
例: https://www.VeVB.COm/admin/user_manager.apsx
これには HTTPS が必要ないことがわかったので、次のアドレスに転送しました。
//www.VeVB.COm/admin/user_manager.apsx
ここで問題が発生します
request.getServerPort() は、https の場合に port1 ポートのみを取得できます。
それでは、port2ポートを取得する方法を説明します。
tomact へのパスは上記の方法で取得できますが、次の XML の xpath からも取得できます。
これを実現するために、tomcat のserver.xml のポート設定が結合されます。
Tomcat ポートを取得する方法
System.getProperty() パラメータのリスト
# java.version Java 実行環境のバージョン
# java.vendor Java 実行環境ベンダー
#java.vendor.url Java ベンダーの URL
# java.home Java インストールディレクトリ
# java.vm.specation.version Java 仮想マシン仕様のバージョン
#java.vm.specation.vendor Java 仮想マシンの仕様ベンダー
#java.vm.specation.name Java 仮想マシン仕様名
#java.vm.version Java 仮想マシンの実装バージョン
#java.vm.vendor Java 仮想マシン実装ベンダー
# java.vm.name Java 仮想マシン実装名
# java.specation.version Java 実行環境仕様のバージョン
# java.specation.vendor Java ランタイム環境仕様ベンダー
# java.specation.name Java 実行環境仕様名
# java.class.version Javaクラス形式のバージョン番号
# java.class.path Java クラスパス
# java.library.path ライブラリをロードするときに検索するパスのリスト
# java.io.tmpdir デフォルトの一時ファイルのパス
# java.compiler 使用する JIT コンパイラの名前
# java.ext.dirs 拡張ディレクトリのパス
# os.name オペレーティング システム名
# os.arch オペレーティング システムのアーキテクチャ
# os.version オペレーティング システムのバージョン
# file.separator ファイル区切り文字 (UNIX の場合は「/」)
# path.separator パス区切り文字 (UNIX の場合は「:」)
# line.separator 行区切り文字 (UNIX では「/n」)
# user.name ユーザーのアカウント名
# user.home ユーザーのホームディレクトリ
# user.dir ユーザーの現在の作業ディレクトリ
たとえば、現在のパスは C:/test: です。
ファイルディレクトリ = new File("abc");
directory.getCanonicalPath(); //結果は C:/test/abc です。
directory.getAbsolutePath(); //結果は C:/test/abc です。
direcotry.getPath(); //結果はabcです
ファイルディレクトリ = new File(".");
directory.getCanonicalPath(); //結果は C:/test です。
directory.getAbsolutePath(); //結果は C:/test/ です。
direcotry.getPath(); // 得られるものは次のとおりです。
ファイルディレクトリ = new File("..");
directory.getCanonicalPath(); //結果は C:/
directory.getAbsolutePath(); //結果は C:/test/..
direcotry.getPath(); // 得られるものは...