尝试设置 Jetty CORS 访问时出现 UnavailableException
Posted
技术标签:
【中文标题】尝试设置 Jetty CORS 访问时出现 UnavailableException【英文标题】:UnavailableException when trying to set up Jetty CORS access 【发布时间】:2017-06-09 13:14:55 【问题描述】:我一直在尝试关注 this 并在答案中链接以尝试设置 CORS 访问权限,因为 localhost
和 localhost:8080
显然是两个不同的域。 叹息
无论哪种方式,我遇到的问题是在启动服务器时会引发 javax.servlet.UnavailableException: org.eclipse.jetty.servlets.CrossOriginFilter
异常。我不知道是什么原因造成的。
尝试使用其中的服务时,我收到 503 错误。
采取的步骤:
-
将
jetty-servlet-9.2.13.v20150730.jar
从 Geoserver lib
文件夹复制到 webapps
WEB-INF
的 lib
文件夹。
将以下内容粘贴到我的web.xml
:Pastebin because editor didn't cooperate
如果我删除这些行,它会正常工作,除了我遇到的 CORS 问题。 (我正在尝试访问特定像素的颜色值。
除此之外,还添加了 WMS,Geoserver 实例几乎是全新安装的。
更新:
所以,按照@sideshowbarker 的建议,我插入了一个servlets
文件。现在我收到 404 错误,似乎是由于 GeoServer 设置无法找到 org/eclipse/jetty/util/StringUtil
的定义引起的。呃,什么?
请找到这个的pastebin:http://pastebin.com/4R8hZNcM
更新 2:
所以,我已将所需的 jar
插入到 WEB-INF
文件夹中,现在它正在抛出一个关于 csvSplit
方法的 NoSuchMethodError
... 什么? o.O
【问题讨论】:
【参考方案1】:jetty-util 有一个错误的 StringUtil 类,带有一个错误的 csvSplit 方法。用最新的 (9.4.*) jar 替换它解决了这个问题。
【讨论】:
以上是关于尝试设置 Jetty CORS 访问时出现 UnavailableException的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用导入的 js 函数启动 html 页面时出现“CORS 策略已阻止从源‘null’访问脚本”错误
尝试从 Web 应用程序获取数据时出现 Cors 错误(没有“访问控制允许来源”/它没有 HTTP ok 状态。)
为啥我在 Express 上设置 CORS 时出现飞行前错误?