【问题标题】:Switching links between multiple wars在多个战争之间切换链接
【发布时间】:2010-09-28 05:13:10
【问题描述】:

我们有一个包含 13 个模块的大型应用程序。我们想为每个模块创建 war 文件并将应用程序部署为 EAR。我们通过包含所有模块链接的顶部菜单导航到不同的页面。现在的问题是每个模块都有自己的上下文。为了切换上下文,我们使用了 external.jsp

<html>
<head>

<%@ include file="/private/jsp/header.jsp"%>
<%
String link= request.getQueryString();
%>
</head>

<body>
<iframe id="ekawarframe" src="<%=link%>" width="100%" height="80%" scrolling="auto" frameborder="0">
</iframe>
</body>
</html>

并使用这种格式的网址“/external.jsp?/app/newDerivativeTrade.do?method=loadNewDerivativeTrade&isFreight=false”。有没有其他优雅的方式来导航多场战争之间的联系。

【问题讨论】:

    标签: java jsp web-applications


    【解决方案1】:

    嗯,您可以使用&lt;a href="/anothermodule/"&gt;link&lt;/a&gt; 简单地链接到其他模块。唯一的问题是共享 http 会话。您的应用服务器可能允许共享 http 会话。

    【讨论】:

    • 我们决定通过仅按照您的建议指定上下文来共享链接..我们在会话中有用户上下文..Jboss 不允许在多个战争之间共享会话..我们正在使用 JOSSO对于生成会话 id 的单点登录。我们将使用 ehcache 共享用户上下文,使用 josso 会话 id 和用户上下文的组合作为键。
    【解决方案2】:

    如果您使用 maven 作为构建工具,您可以将 ech 模块中的依赖项添加到普通战争中。然后这将与模块战争合并。

    然后,您可以从单个公共模块分发标头 jsp(以及其他常见的东西,如 css、图像和 javascript),并且不再需要 iframe。

    【讨论】:

      【解决方案3】:

      您可以使用 Redis 或 MongoDB 创建基于密钥的会话管理器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-23
        • 2011-07-19
        • 2020-12-02
        • 1970-01-01
        相关资源
        最近更新 更多