我想让跨域REST网络服务与CORS(跨源资源共享)。我用泽西岛图书馆做服务。
我需要知道
谢谢
发布于 2012-03-29 15:17:14
服务器端配置的所有信息都可以在enable-cors.org上找到。
没有必要更改任何代码客户端,但我建议在使用CORS之前检查浏览器功能。可以找到测试代码,例如这里。
发布于 2012-11-15 18:28:14
我选择通过在泽西容器级别提供服务器CORS响应来解决这个问题。这可能为某些应用程序提供更多的便利,因为它可以应用于来自容器的所有响应,而无需修改资源处理代码。
首先,必须创建一个容器响应过滤器,该过滤器将注入适当的报头。例如,对于指示任何响应的访问控制-允许-原产地:*的容器:
class CORSFilter implements ContainerResponseFilter {
@Override
public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
response.getHttpHeaders().add("Access-Control-Allow-Origin", "*");
return response;
}
}然后必须将筛选器添加到泽西响应筛选链中。这可以通过为应用程序使用的资源配置来完成。
...
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);
...https://stackoverflow.com/questions/9928266
复制相似问题