修复了eclipse

时间:2017-11-13 01:01:45

标签: server eclipse-plugin jetty jax-rs


- 我尝试使用eclipse插件开发和使用jax-rs制作模块化应用程序   - 我想访问jetty服务器创建的事件源并及时翻译每个事件。
- 当我尝试访问该事件时,我在运行我的客户端html 5页面的firefox中收到此错误: 跨源请求已阻止:同源策略禁止在http://localhost:9050/services/events读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin')。
- 我知道我必须配置服务器,但我没有.htaccess而且没有web-inf目录。
  - 有没有使用eclipse在vm参数中声明这个文件?   - 还有其他办法吗?
- 我没有WEB-INF目录,我不知道它是否支持这种插件开发方法。
- 我没有主要功能我只有捆绑(激活器等),我没有主要功能。
我也有manifest.mf文件

接受任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

尝试实施一个响应过滤器,它会将您需要的标头添加到响应中。

@Provider
public class CORSFilter implements ContainerResponseFilter {

    @Override
    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
        // the wildcard char `*` will allow any origin
        responseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
        // add anything and everything you need
        responseContext.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type");
        responseContext.getHeaders().add("Access-Control-Allow-Credentials", "true");
        responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
        // etc
    }
}

不要忘记注册。