小编ffe*_*ini的帖子

Jersey REST + CORS + Jquery AJAX CALL

我正在使用 jersey 1.8、tomcat 7 和 spring 4 构建 jersey rest api

此服务将具有基本的 HTTP 身份验证,并将提供任何来源的信息(它将被来自不同域的我们的客户使用..)因此,使用 jersey 自己的结构启用 CORS。

我得到了 ContainerResponseFilter 的实现,它设置了 Access-Control-Allow-Origin 和 Access-Control-Request-Headers 标头。

import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;

import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerResponse;
import com.sun.jersey.spi.container.ContainerResponseFilter;

public class ResponseCorsFilter implements ContainerResponseFilter{

@Override
public ContainerResponse filter(ContainerRequest req,
        ContainerResponse contResp) {
    // TODO Auto-generated method stub
    ResponseBuilder resp = Response.fromResponse(contResp.getResponse());
    resp.header("Access-Control-Allow-Origin", "*")
            .header("Access-Control-Allow-Methods", "GET, POST, OPTIONS");

    String reqHead = req.getHeaderValue("Access-Control-Request-Headers");

    if(null != reqHead && !reqHead.equals("")){
        resp.header("Access-Control-Allow-Headers", reqHead);
    }

    contResp.setResponse(resp.build());
    return contResp;
}

}
Run Code Online (Sandbox Code Playgroud)

我得到了 …

ajax jquery spring jersey cors

1
推荐指数
1
解决办法
2086
查看次数

标签 统计

ajax ×1

cors ×1

jersey ×1

jquery ×1

spring ×1