gpt4 book ai didi

Java webapp 响应我的登录页面的源代码

转载 作者:行者123 更新时间:2023-12-01 09:18:25 25 4
gpt4 key购买 nike

我有一个 Java Web 应用程序,它发布一个以 JSON 格式返回对象的服务,并且我有另一个 Java Web 应用程序只是为了通过 JSONP 调用使用该服务并显示响应。在我的本地计算机中,它工作正常,但现在我想在 Web 环境中测试它(在我的例子中为 Layershift),我无法获取 JSON 对象。我在 Chrome 开发者工具上没有看到任何错误,但是当我查看“响应”选项卡(在“网络”选项中)时,我看到了应用程序登录页面的源代码。让我向你展示我的代码
具有服务的 Controller :

@RestController
public class MyController {
@RequestMapping(value="/myservice/get/{somevar}")
public MappingJacksonValue getMyObject (@RequestParam String callback, @PathVariable String somevar, HttpServletRequest request, HttpServletResponse response) {
MyObject obj = new MyObject();
//some logic
MappingJacksonValue value = new MappingJacksonValue(obj);
value.setJsonpFunction(callback);
return value;
}

}

调用服务的javascript代码:

$.fn.callWithJsonP = function(somevar) {
var url = "/myservice/get/" + somevar + "?callback=myCallback";
$.getJSON(url, function(data) {
if (data.value.status == "OK") {
//shows the data contained
}
});
}

Apache 配置(添加以避免 CORS 错误),存在于两个应用程序中

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Header always unset X-Frame-Options

这在很多本地计算机上都能完美运行(除了 Apache,我不在本地使用它),但正如我所说,在 Web 环境中我收到了登录页面的源代码。在“ header ”选项卡中,我可以看到 Apache 中添加的 header ,并且响应的状态代码正常,有关于发生了什么情况的线索吗?
亲切的问候

更新
我已经删除了 Apache Web 服务器,甚至使用 Postman 测试了 Web 服务(意味着没有第二个应用程序),结果仍然相同。我尝试将 @RestController 更改为 @Controller 并返回 MyObject 的实例(而不是 MappingJacksonValue),但没有结果,请帮助我

最佳答案

我可能离这里很远,但是您是否有一个 Servlet 过滤器或 Web 应用程序配置的其他部分,在您的 REST 框架能够将其映射到您的端点之前将您的 get 请求路由到您的登录页面?我通常使用 Jersey,所以我不熟悉 Spring 的 RestController,但我认为它正在做类似的事情 - 路由与 java 代码匹配的 URL。如果您看到登录页面作为响应,听起来好像有什么东西正在干扰并试图在 Spring 定向到您的端点方法之前强制用户登录。

关于Java webapp 响应我的登录页面的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40350807/

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