1

我有一个在 websphere 服务器上运行的 java 企业应用程序。该应用程序只能通过不同的 webseal 服务器访问,这些服务器从 Intranet 的不同区域执行负载平衡和身份验证。

  • 内网网址:https://webseal.intra/junction-old/ApplicationROOT
  • VPN-URL:https://webseal.vpn/junction-old/ApplicationROOT

当然我也可以直接访问应用程序:https://server-old.intra/ApplicationROOT.

该应用程序的即将发布的版本将托管在新服务器上。然后可以通过相同 webseal 服务器上的新联结访问该应用程序:

  • 内网网址:https://webseal.intra/junction-new/ApplicationROOT
  • VPN-URL:https://webseal.vpn/junction-new/ApplicationROOT

当然也会有一个新的直接网址:https://server-new.intra/ApplicationROOT

我现在想向旧应用程序添加一个信息页面,为用户提供新的 url。此页面应重定向到新版本。由于我们有不同的 webseal,我不会在重定向中对一个 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