在jetty runner下运行的web应用程序中设置web服务器头(访问控制允许来源)

在jetty runner下运行的web应用程序中设置web服务器头(访问控制允许来源),jetty,cors,plantuml,Jetty,Cors,Plantuml,我正在使用在服务器上运行。我需要为CORS启用Access Control Allow Origin标题,但我发现这样做的方式指向a或an,我认为这超出了我的控制范围,因为我正在jetty runner中使用第三方web应用程序。我找不到在jetty.xml中设置此项的方法 有没有办法在jetty runner内部启用访问控制允许原点标题?免责声明:我得到了有关此详细信息的帮助(不是我100%的答案)。我只在Windows7和Windows8下用Java7测试了它 除了jetty runner.

我正在使用在服务器上运行。我需要为CORS启用
Access Control Allow Origin
标题,但我发现这样做的方式指向a或an,我认为这超出了我的控制范围,因为我正在jetty runner中使用第三方web应用程序。我找不到在jetty.xml中设置此项的方法


有没有办法在jetty runner内部启用
访问控制允许原点
标题?

免责声明:我得到了有关此详细信息的帮助(不是我100%的答案)。我只在Windows7和Windows8下用Java7测试了它

除了
jetty runner.jar
,还需要
jetty servlet.jar

添加一个文件
覆盖web.xml
,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">

<filter>
  <filter-name>cross-origin</filter-name>
    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
    <init-param>
      <param-name>allowedOrigins</param-name>
      <param-value>*</param-value>
    </init-param>
    <init-param>
      <param-name>allowedMethods</param-name>
      <param-value>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
    </init-param>
    <init-param>
      <param-name>allowedHeaders</param-name>
      <param-value>origin, content-type, accept, authorization</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>cross-origin</filter-name>
    <url-pattern>*</url-pattern>
  </filter-mapping>

</web-app>
运行PlantUML的服务器,如下所示

java -jar jetty-runner.jar --config jetty.xml --jar jetty-servlets.jar plantuml.war jetty-web.xml

要求使用
码头转轮
,这将很难解决。您的配置要求级别意味着您应该升级到完整的
jetty发行版
。@JoakimErdfelt我只需要添加
jetty servlet
java -jar jetty-runner.jar --config jetty.xml --jar jetty-servlets.jar plantuml.war jetty-web.xml