小编And*_*ver的帖子

JAX-RS在Glassfish 4上启用CORS(Access-Control-Allow-Origin)

我在JAVA EE7工作,JAX-RS 2.0 Glassfish 4是我的服务器.我想在CORS上工作以使Ajax请求从我的域中出来.我知道我需要让我的服务器启用它.我用PHP做到了.像下面的代码:

 <?php header("Access-Control-Allow-Origin: *");
 header("Access-Control-Allow-Headers: Authorization");
Run Code Online (Sandbox Code Playgroud)

但当我尝试做同样的事情时,我总会收到一条错误消息,例如 "这是截图".所以我试图用很多方式修改服务器的http响应......

这是我的代码,服务器端,我使用了文件管理器/提供程序:

@Provider
@CORSBinding 
public class Filter implements  ContainerRequestFilter{
@Override
public void filter(ContainerRequestContext request) throws IOException {
    request.getHeaders().add("Access-Control-Allow-Origin", "*");
    request.getHeaders().add("Access-Control-Allow-Headers", "Authorization"); 
    if (request.getMethod().equals("OPTIONS")) {
        System.out.println("OPTIONS is requested!!!!!!!!!!!!!");
    }
    if (request.getMethod().equals("GET")) {
        System.out.println("GET is requested!!!!!!!!!!!!!");
    }
    if (request.getMethod().equals("POST")) {
        System.out.println("POST is requested!!!!!!!!!!!!!");
    }
    if (request.getMethod().equals("DELETE")) {
        System.out.println("DELETE is requested!!!!!!!!!!!!!");
    }
    if (request.getMethod().equals("PUT")) {
        System.out.println("PUT is requested!!!!!!!!!!!!!");
    }       
}
}
Run Code Online (Sandbox Code Playgroud)

但似乎所有人都被Glassfish4服务器提供的"防火墙安全性"所阻止.这是我的简单代码javascript:

<script>
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://127.0.0.1:8080/CV/api/v2/posts");
xhr.setRequestHeader('Authorization', …
Run Code Online (Sandbox Code Playgroud)

glassfish jax-rs http-headers cors

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

标签 统计

cors ×1

glassfish ×1

http-headers ×1

jax-rs ×1