【问题标题】:Absolute VS Relative URLs in a JSP/JavaScript web applicationJSP/JavaScript Web 应用程序中的绝对 VS 相对 URL
【发布时间】:2013-07-28 14:03:13
【问题描述】:

您如何处理 Java Web 应用程序中 Javascript 文件中的 URL,例如什么时候做 AJAX 请求?

您是否总是使用 绝对 URL 进行 AJAX 调用? (包括 Web 应用程序上下文)- 如果应用程序上下文发生变化怎么办?

或者您使用相对网址?这很困难,因为可以通过应用程序中的多个不同 URL 映射加载 JSP 文件。

为了更清楚:

假设我有一个在 http://www.example.com/myapp/ 下运行的 java 应用程序 myapp.war

在 Javascript 文件中,我想对 /getData.json 进行 AJAX 调用 - 我可以通过绝对 URL 来实现:

$.ajax({
  url: "/myapp/getData.json",
  cache: false
}).done(function(data) {
  ... 
});

这只有在我不重命名应用程序时才有效

或通过相对 URL

$.ajax({
  url: "getData.json",
  cache: false
}).done(function(data) {
  ... 
});

但仅当当前页面位于正确的路径中时,相对 URL 才有效。

【问题讨论】:

    标签: javascript ajax jsp web-applications


    【解决方案1】:

    绝对是首选;考虑一下您更改应用程序名称的频率与弄乱文件结构的次数(提示:几乎从不与不那么罕见)

    否定也建议使用绝对路径;如果您要使用相对路径,那么更改文件位置是最不重要的问题 - 想想当您开始重构代码时会发生什么(这很常见):方法,可能包含脆弱的 URL 引用,一直被提取到实用程序类中,而这些类可能会放在其他文件中。

    底线是相对路径将有效地呈现您的代码刚性,而绝对路径将允许更多灵活性强>。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-06
      • 2017-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      相关资源
      最近更新 更多