Tomcat 泽西岛的CORS支持?
我已经看到了允许CORS支持的帖子…但是我尝试了一下,我的运气是0 以下是my angular.js for CORS上的函数:Tomcat 泽西岛的CORS支持?,tomcat,jersey,cors,Tomcat,Jersey,Cors,我已经看到了允许CORS支持的帖子…但是我尝试了一下,我的运气是0 以下是my angular.js for CORS上的函数: var config = { method: 'GET', url: "//localhost:8080/ScienceCompanionApp/service/bpms/task/5497d038-82da-4a4e-83bd-2ef01b30de1a", headers: { 'BPM-CON
var config = {
method: 'GET',
url: "//localhost:8080/ScienceCompanionApp/service/bpms/task/5497d038-82da-4a4e-83bd-2ef01b30de1a",
headers: {
'BPM-CONTEXT-ID':'CONTEXT',
'Accept': 'application/json',
'Content-type': 'application/json'
}
}
$http(config).success(function(data,status,headers){ //do stuff here }
我已将以下内容添加到我的web.xml中:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
还是不走运:
我遗漏了什么吗?执行以下步骤
创建一个过滤器类,比如
公共类CORSResponseFilter实现过滤器{
公共响应过滤器{
}
@凌驾
公共空间破坏{
//TODO自动生成的方法存根
}
public void doFilterServletRequest请求、ServletResponse响应、FilterChain抛出IOException、ServletException{
String method=HttpServletRequest request.getMethod
HttpServletResponse.addHeaderAccess-Control-Allow-Origin,*
if方法.equalsIgnoreCaseOPTIONS{
HttpServletResponse.addHeaderAccess-Control-Allow-Methods,
POST、GET、OPTIONS、PUT、DELETE、HEAD
HttpServletResponse.addHeaderAccess-Control-Allow-Headers,
来源、接受、内容类型、授权
HttpServletResponse.addHeaderArry,来源
HttpServletResponse.addHeaderAccess-Control-Max-Age,1728000
返回;
}
chain.doFilterrequest,响应;
}
@凌驾
public void initFilterConfig arg0引发ServletException{
//TODO自动生成的方法存根
}
在web.xml中创建条目
<filter-name>CORSFilter</filter-name>
<filter-class>filter.CORSResponseFilter</filter-class>
<过滤器映射>
<filter-name>CORSFilter</filter-name>
<url-pattern>/*</url-pattern>
<filter-name>CORSFilter</filter-name>
<url-pattern>/*</url-pattern>
希望这对您有所帮助。它需要来自服务器的cors响应头,而不仅仅是客户端ex ACAO、ACAM、头白名单、等等和白名单BPM-CONTEXT-ID…hi@dandavis我已经将它们添加到响应头中…我甚至还没有得到响应来点击我的服务器…正如您可以看到的那样,它有用于获取信息的记录器…但浏览器甚至没有做出响应对服务的调用。它附带一个403禁止。如果您使用自定义http头,则需要确保服务器响应选项http方法,而不仅仅是GET方法。这允许实际请求不显示,但在正确批准选项后会显示。如果您可以执行简单的jane GET-like,请将头移动到段落m、 您不需要选项支持。您使用的Jersey版本是什么?Jersey 2.10+的最新版本在正确调用@OPTIONS方法时遇到问题。我最终不得不在ContainerResponseFilter筛选器中添加标题以使其正常工作。