Jetty 带嵌入式码头的交叉源请求(COR)

Jetty 带嵌入式码头的交叉源请求(COR),jetty,cross-domain,embedded-jetty,cesium,Jetty,Cross Domain,Embedded Jetty,Cesium,我有一个输出KML数据的KML服务器,我可以将其配置为Google Earth中的网络位置。KML服务器使用嵌入式Jetty 我也想在Cecium下运行KML服务器,但我需要配置Jetty,以允许COR.Cesium从webbowser运行 有许多w.r.t.Jetty/COR的例子,但其中许多都没有运行,已经过时,只是不清楚 KML服务器主程序是: /* ** Create HHTP server */ final Server server = new Se

我有一个输出KML数据的KML服务器,我可以将其配置为Google Earth中的网络位置。KML服务器使用嵌入式Jetty

我也想在Cecium下运行KML服务器,但我需要配置Jetty,以允许COR.Cesium从webbowser运行

有许多w.r.t.Jetty/COR的例子,但其中许多都没有运行,已经过时,只是不清楚

KML服务器主程序是:

    /*
    ** Create HHTP server
     */
    final Server server = new Server(config.getKmlPortNumber());

    // Set a handler for each context
    ContextHandlerCollection contexts = new ContextHandlerCollection();
    Handler[] contextHandler = new Handler[ForceIdentifier.TOTAL_IDENTIFIERS + 1];

    final ContextHandler context = new ContextHandler("/");
    context.setContextPath("/");
    context.setHandler(new DefaultHandler(env));
    contextHandler[0] = context;

    // Set a handler for each Force Identifier.
    for (byte i = 0; i < ForceIdentifier.TOTAL_IDENTIFIERS; i++) {
        ContextHandler contexti = new ContextHandler("/" + i);

        contexti.setHandler(new DefaultHandler(env, new ForceIdentifier(i)));
        contextHandler[i + 1] = contexti;
    }

    contexts.setHandlers(contextHandler);
    server.setHandler(contexts);

    // Start the server and set some options
    server.start();
    //server.dumpStdErr();
    server.setStopTimeout(1000);
    server.setStopAtShutdown(true);

    /*
    ** Start the federate
     */
    try {
        federate.start();
    } catch (RTIexception ex) {
        Main.logger.log(Level.SEVERE, null, ex);
    }

    /*
    ** Stop the federate
     */
    federate.stop();
/*
**创建HHTP服务器
*/
最终服务器=新服务器(config.getKmlPortNumber());
//为每个上下文设置一个处理程序
ContextHandlerCollection contexts=新建ContextHandlerCollection();
Handler[]contextHandler=新处理程序[ForceIdentifier.TOTAL_IDENTIFIERS+1];
最终ContextHandler上下文=新ContextHandler(“/”);
context.setContextPath(“/”);
setHandler(新的DefaultHandler(env));
contextHandler[0]=上下文;
//为每个力标识符设置一个处理程序。
对于(字节i=0;i
KML服务器使用服务器上下文处理程序

需要做什么才能在这里启用COR

(Jetty版本为:Jetty-all-9.2.10.v20150310)

Jetty用于启用COR相关功能的技术仅在
ServletContext
下可用,这意味着您的示例代码不使用
Servlets
,或者
ServletContext
无法使用此过滤器

但是,您可以创建自己的
处理程序
,为您的无servlet环境执行与COR相关的工作。(请考虑查看其应用程序及其实现以获取灵感)

或者,您可以切换到使用
ServletContextHandler
而不是
ContextHandler
,然后在项目中使用Jetty
CrossOriginFilter
的好处。

Jetty没有带参数的构造函数。您使用的是什么版本的Jetty??(当然不是Jetty 9.2.10.v20150310)。也。