Websphere サーバーで Java エンタープライズ アプリケーションを実行しています。アプリケーションは、イントラネットのさまざまなゾーンからロード バランシングと認証を行うさまざまな Webseal サーバーを介してのみアクセスできます。
- イントラネット URL:
https://webseal.intra/junction-old/ApplicationROOT
- VPN-URL:
https://webseal.vpn/junction-old/ApplicationROOT
もちろん、アプリケーションに直接アクセスすることもできます: https://server-old.intra/ApplicationROOT
.
アプリケーションの次のバージョンは、新しいサーバーでホストされます。その後、同じ Webseal サーバーの新しいジャンクションを介してアプリケーションにアクセスできます。
- イントラネット URL:
https://webseal.intra/junction-new/ApplicationROOT
- VPN-URL:
https://webseal.vpn/junction-new/ApplicationROOT
もちろん、新しい直接 URL も作成されます。https://server-new.intra/ApplicationROOT
ユーザーに新しい URL を提供する情報ページを古いアプリケーションに追加したいと考えています。このページは新しいバージョンにリダイレクトする必要があります。異なる Webseal があるため、リダイレクトで 1 つの URL をハードコーディングしません。しかし、リクエストURLを読み取ろうとするとHttpServletRequest#getRequestURL()
、直接サーバーアドレスしか取得できません。
サーバーアドレスの代わりに Webseal アドレスを取得することはできますか?
編集:
何らかの解決策がありますが、あまり好きではありません。それは回避策のようなものです。現在、javascript を使用して Webeal の URL を読み取り、リダイレクトを実行しています。
<script type="text/javascript" >
function redircetToNewUrl() {
var port = window.location.port;
if (port.length > 0) {
port = ':' + port;
} else {
port = '';
}
var url = 'https://' + window.location.hostname + port + '/junction-new/ApplicationROOT';
setTimeout(function f() {location.href = url;}, 30000);
}
</script>
<BODY onload="redircetToNewUrl()">
それは問題なく動作しますが、私が言ったように、私はそれがあまり好きではありません。jsp で java を使用してリダイレクト URL を作成する方がよいでしょう。