使用 Jetty 公开目录(或克服同源策略)

Posted

技术标签:

【中文标题】使用 Jetty 公开目录(或克服同源策略)【英文标题】:Expose a directory with Jetty (or, overcoming Same Origin Policy) 【发布时间】:2012-07-10 05:57:04 【问题描述】:

我目前有一个通过 Jetty 在端口 14436 上运行的 Java Servlet。在同一台服务器上,我在 /data/web 中有一些静态文件通过端口 80 提供服务。因此,我遇到了违反同源策略的情况尝试让静态文件通过 javascript 与 Servlet 对话。

有什么简单的方法可以:

a) 将静​​态文件打包到我的 Java 项目中并通过 Jetty 公开它们

b) 配置 Jetty 以公开 /data/web/myproject 目录

或其他解决方案?

【问题讨论】:

【参考方案1】:

您可以查看:http://wiki.eclipse.org/Jetty/Feature/Cross_Origin_Filter

或者,您也可以根据需要连接 DefaultServlet 来提供这些文件,或者将 ResourceHandler 添加到您的处理程序链中也可以。

【讨论】:

【参考方案2】:

如果您通过 Apache 等 Web 服务器在端口 80 上提供静态内容,您可以通过 Web 服务器代理 Jetty。这样一来,您还将获得一种更加无缝的方法,而无需将您的 Jetty 端口暴露给世界。

【讨论】:

以上是关于使用 Jetty 公开目录(或克服同源策略)的主要内容,如果未能解决你的问题,请参考以下文章

Selenium WebDriver如何克服同源策略

对于浏览器的同源策略你是怎样理解的呢?

Spring MVC、Ajax 和同源策略

浏览器的同源策略

为啥这个 URL 不属于同源策略?

用浏览器缓存绕过同源策略(SOP)限制