我正在创建一个web应用程序,检查其他网站和服务的状态。一个页面检查其他网站是否在其他域名上。大多数网站都在使用IIS7,所以我只需要添加一个http响应头,以允许从托管我的页面的域访问:
Access-Control-Allow-Origin, *
我的问题是,我必须检查的一件事是adobe连接服务器是否启动,它使用Jetty。我看了这两页:
- 码头交叉原点滤波器
- http://wiki.eclipse.org/Jetty/Feature/Cross_Origin_Filter
我下载了jetty-servlet.jar
,把它放在我的E:Breeze8.2.0.1appservwebWEB-INFlib
文件夹中,并在我的E:Breeze8.2.0.1appservwebWEB-INFweb.xml
文件中添加以下行:
<web-app ...>
...
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cross-origin</filter-name>
<url-pattern>//*</url-pattern>
</filter-mapping>
...
</web-app>
但是当我这样做时,我得到一个404请求的资源()不可用,当我试图在web浏览器中到达该站点
我正在使用java 1.6版本,我已经尝试了上面网站上列出的jetty-serlet.jar
的每个版本。
谢谢!
首先,标准的Connect安装使用Tomcat,而不是Jetty。(除非您选择在Jetty上运行CPS。)但是我认为CrossOriginFilter也可以在Tomcat中工作。
为什么在url模式中有额外的斜杠?难道你不想:
<url-pattern>/*</url-pattern>
在容器或CPS日志中是否有您的请求的痕迹?