Espero que alguém já tenha entendido isso. Acabei de instalar o Geoserver 2.9 em uma distribuição baunilha do Ubuntu 16.04. O método Geoserver 2.8 de habilitar o CORS com a classe shanbe.hezoun não funciona mais com o Jetty 9.2.13.
Há menções de que o suporte ao CORS já está incluído no Jetty 9.2.13 no jetty-servlets.jar.
A lib do Jetty que é compilada com o Geoserver contém um jetty-servlet-9.2.13.v20150730.jar no geoserver / lib, mas não o jetty-servlets.9.2.13.v20150730.jar. Eles deveriam ser o mesmo frasco com um nome diferente?
Deve ser possível ativar o CORS no geoserver / etc / webdefault.xml ou no geoserver / webapps / geoserver / WEB-INF / web.xml.
Entendo que o webdefault.xml seja aplicado primeiro e o web.xml posteriormente.
Eu tentei seguir o filtro em ambos xml. Não cheguei a adicionar um mapeamento de filtro. Adicionar o filtro sozinho fará com que o serviço Geoserver / Jetty não seja iniciado corretamente.
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
</filter>