1

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 を作成する方がよいでしょう。

4

0 に答える 0