gpt4 book ai didi

javascript - 如何在导入JSP中获取主机协议(protocol)

转载 作者:行者123 更新时间:2023-11-28 05:47:58 25 4
gpt4 key购买 nike

我的主应用程序中有两个 JSP 文件,一个是 MAIN.jsp,另一个是 CSS & JS import.jsp 文件。

MAIN.jsp是主应用的主页面。import.jsp文件将伙伴应用的CSS和JS导入到MAIN.jsp文件中,用于支持主应用作为伙伴应用的少数功能。

但是所有应用程序(主要和合作伙伴)都部署在同一台服务器上。所以基本上两个应用程序的主机名都不会改变,但只有上下文根会改变。

我已经使用 jsp import 标签在 MAIN.jsp 中导入 import.jsp,如下面的代码所示。

MAIN.jsp

<html>
<head>
<c:import url="resourceImport/import.jsp">
</head>
<body>
</body>
</html>

导入.jsp

<html>
<head>
<link url="http://hostName/DifferentContext/example.css" rel="stylesheet" type="test/css">
<script type="text/javascript" src="http://hostName/DifferentContext/sample.js" > </script>
</head>
<body>
</body>
</html>

目前我已经在 import.jsp 中对合作伙伴 HTTP URL 进行了硬编码,以加载 MAIN.jsp 文件中的所有资源。 但展望 future ,我们计划在 HTTP 和 HTTPS 环境中运行该应用程序。

那么我怎样才能使它成为在 import.jsp 文件中获取协议(protocol)的动态方式。我尝试了以下方法来动态获取协议(protocol),但它不起作用。

方法一:

删除协议(protocol)并使其成为相对 URL

<head>
<link url="//hostName/DifferentContext/example.css" rel="stylesheet" type="test/css">
<script type="text/javascript" src="//hostName/DifferentContext/sample.js" > </script>
</head>

方法二

删除协议(protocol)和主机名并使其成为相对 URL

<head>
<link url="//DifferentContext/example.css" rel="stylesheet" type="test/css">
<script type="text/javascript" src="//DifferentContext/sample.js" > </script>
</head>

那么你能不能请任何人帮助我解决这个问题。

最佳答案

如果有任何东西值得使用 https(现在),我会选择 https 无处不在。

不用再担心,不会发生意外信息泄露和协议(protocol)更改。更轻松的维护和以后没有更新将无意中带回错误的协议(protocol)链接。

检查 HSTS作为强制兼容浏览器在未来不再理会任何 HTTP 连接尝试的选项。

也就是说,相对链接是保持相同协议(protocol)的另一种方式并且可能是有益的:您很少希望将域名硬编码到您的应用程序中 - 根据您在应用程序中使用的编程风格,您可能想要使用页面相关链接 (../DifferentContext/example.css) 或服务器相关链接 (/DifferentContext/example.css)。相对协议(protocol)也很好,但对域名进行了硬编码。

另一种选择是使该位置完全可配置。这样您可以稍后决定(前提是您已将所有 事件更改为配置值):${config.theOtherAppBaseUrl}/example.css。有了它,您可以在 10 分钟内自己尝试所有不同的选项。当您得出结论认为值得在任何地方使用 https 时,稍后会改变主意。

(注意:您的问题代码中存在问题:最后一个链接指向 //DifferentContext....,它假设 DifferentContext 是一个主机名 - 这是一个协议(protocol)相关 URL )

关于javascript - 如何在导入JSP中获取主机协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37505198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com