【问题标题】:Spring MVC - missing variable from URI named "path"Spring MVC - URI中缺少名为“path”的变量
【发布时间】:2015-08-27 20:03:39
【问题描述】:

我从Jhipster's 模板创建了应用程序, 我在项目中几乎没有进行任何更改,它在本地机器上运行良好,但是当我将它部署到我的服务器(ubuntu、apache、tomcat - 都是最新版本)时,奇怪的事情开始发生。

我有对“/api/account”的 AJAX 调用,它在本地机器上得到响应以下 json

{
    "timestamp":1440703613150,
    "status":401,
    "error":"Unauthorized",
    "message":"Access Denied",
    "path":"/api/account"
}

在生产服务器上(你可以检查它here)同样调用get的json,其中没有“路径”字段

{
    "timestamp":1440703613150,
    "status":401,
    "error":"Unauthorized",
    "message":"Access Denied"
}

我坚持了很长时间,所以,如果可以的话,请帮助我:)

【问题讨论】:

    标签: java spring spring-mvc jhipster


    【解决方案1】:

    由于您有 Apache 前端,请查看您的 mod_http_proxy 设置,ProxyPassProxyPassReverse。 您还应该查看您的 Apache 日志。

    或者直接禁用Apache,直接访问JHipster,这样就知道是不是Apache造成的了。

    【讨论】:

      【解决方案2】:

      我不明白为什么这会是个问题。

      您的设置可能会有所不同,如果您想拥有相同的设置,最好使用嵌入 TOmcat 的可执行 jar,而不是将其部署到服务器。

      您是否在本地机器和生产服务器的 prod 配置文件中运行?

      【讨论】:

      • 您好 Gaël,感谢您的回答。是的,我在两者的 prod 配置文件中运行,但结果是一样的,在本地机器上一切正常,而在远程服务器上,响应中缺少“路径”。据我所知,它们之间的唯一区别是 tomcat 配置,但我不明白 tomcat 怎么会导致这样的问题。
      • 但是为什么它对你很重要?
      • 它导致javascript逻辑中的无限循环有一段代码 if (response.status == 401 && response.data.path!="/api/account") { // 注销并重定向到登录页面} 当 response.data.path 未定义时,它会导致浏览器调用 /api/account 并在这里开始无限循环,我修改了代码并且在状态检查后添加了“&& response.data.path”,但它似乎是临时的和丑陋的解决方法。
      • 好的,所以你应该在调试器下运行你的产品应用程序。
      • 谢谢你,Gaël,我会尝试你的建议。
      猜你喜欢
      • 2013-11-17
      • 2015-08-12
      • 2018-06-19
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      相关资源
      最近更新 更多