首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有CORS的跨域REST/泽西web服务

带有CORS的跨域REST/泽西web服务
EN

Stack Overflow用户
提问于 2012-03-29 15:12:49
回答 2查看 14.3K关注 0票数 4

我想让跨域REST网络服务与CORS(跨源资源共享)。我用泽西岛图书馆做服务。

我需要知道

  1. 从服务器端的角度来看,我需要做哪些代码/配置更改?
  2. 如何从HTML5 5/js调用此服务。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-29 15:17:14

服务器端配置的所有信息都可以在enable-cors.org上找到。

没有必要更改任何代码客户端,但我建议在使用CORS之前检查浏览器功能。可以找到测试代码,例如这里

票数 9
EN

Stack Overflow用户

发布于 2012-11-15 18:28:14

我选择通过在泽西容器级别提供服务器CORS响应来解决这个问题。这可能为某些应用程序提供更多的便利,因为它可以应用于来自容器的所有响应,而无需修改资源处理代码。

首先,必须创建一个容器响应过滤器,该过滤器将注入适当的报头。例如,对于指示任何响应的访问控制-允许-原产地:*的容器:

代码语言:javascript
复制
class CORSFilter implements ContainerResponseFilter {
    @Override
    public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
        response.getHttpHeaders().add("Access-Control-Allow-Origin", "*");
        return response;
    }       
}

然后必须将筛选器添加到泽西响应筛选链中。这可以通过为应用程序使用的资源配置来完成。

代码语言:javascript
复制
...
DefaultResourceConfig rc = new ClasspathResourceConfig();
rc.getContainerResponseFilters().add(new CORSFilter());

// now create a simple lightweight server using this resource config.
HttpServer server = HttpServerFactory.create(uri,rc);
...
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9928266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档