jetty中的跨域配置

时间:2014-08-14 02:13:24

标签: cross-domain jetty

所有 我有一个问题。

我想如何在jetty中跨域配置。 没有web.xml文件。

来源。

... ...

Server jetty = new Server();
    HandlerList hl = new HandlerList();
    hl.addHandler(sch);
    jetty.setHandler(hl);
    jetty.setThreadPool(new QueuedThreadPool(NumberUtils.toInt(config.getProperty("ambariplus.jetty.threadPoolSize"))));

    SelectChannelConnector conn = new SelectChannelConnector();
    conn.setMaxIdleTime(NumberUtils.toInt(config.getProperty("ambariplus.jetty.maxIdleTime")));
    conn.setPort(NumberUtils.toInt(config.getProperty("ambariplus.jetty.port")));

    MBeanContainer mbc = new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
    mbc.setDomain(config.getProperty("ambariplus.jmx.domain") + ".jetty");
    jetty.getContainer().addEventListener(mbc);
    jetty.addBean(mbc);

    jetty.addConnector(conn);
    jetty.setStopAtShutdown(true);

    try{
        jetty.start();
        logger.info("Jetty started at port {} on {}", conn.getPort(), "127.0.0.1");

        String s1 = StringUtils.substring(config.getProperty("ambariplus.jetty.rootServlet.contextPath"), 1);
        String s2 = StringUtils.substringBetween(
            config.getProperty("ambariplus.jetty.jerseyServlet.urlPattern"), "/", "/*");

...

1 个答案:

答案 0 :(得分:0)

一种标准技术是实现servlet filter。网上有很多这样的例子,一个是here。要做你想做的事,你只需要设置CORS headers。过滤器可以像调用chain.doFilter的两行一样简单,然后在过滤器的响应上设置Access-Control-Allow-Origin标头。由于您没有web.xml,因此可以使用Jetty方式配置过滤器,您可以在线找到许多示例,例如SO post