Espero que alguien ya haya resuelto esto. Acabo de instalar Geoserver 2.9 en una distro Ubuntu 16.04 vainilla. El método de Geoserver 2.8 de habilitar CORS con la clase shanbe.hezoun ya no funciona con Jetty 9.2.13.
Se menciona que el soporte de CORS ya está empaquetado con Jetty 9.2.13 en el jetty-servlets.jar.
La librería Jetty que se compila con Geoserver contiene un jetty-servlet-9.2.13.v20150730.jar en geoserver/lib pero no jetty-servlets.9.2.13.v20150730.jar. ¿Se supone que son el mismo jar con un nombre diferente?
Debería ser posible habilitar CORS en geoserver/etc/webdefault.xml o en geoserver/webapps/geoserver/WEB-INF/web.xml.
Tengo entendido que el webdefault.xml se aplica primero y el web.xml después.
He probado el siguiente filtro en ambos xml. No he llegado a añadir un filtro de mapeo. El hecho de añadir el filtro por sí solo hace que el servicio Geoserver/Jetty no se inicie correctamente.
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
</filter>