voglio consentire Tomcat filtro CORS, ho aggiunto questo a web.xml:Tomcat CORS filtro
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Ma non funziona. Ho provato con un filtro personalizzato:
<filter>
<filter-name>SimpleCORSFilter</filter-name>
<filter-class>com.common.SimpleCORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SimpleCORSFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
con questa classe:
public class SimpleCORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(req, res);
}
}
E questo funziona bene, mi puoi dire perché? Non so se è importante, ma io sono usign Spring Framework.
Come hai testato il 'CorsFilter'? Con richiesta AJAX o con un semplice GET? – cy3er
Entrambi, ma firebug non mostra l'intestazione Access-Control – Tobia
Puoi fornire un esempio completo di come configurare SimpleCORSFilter? Quali sono le importazioni? Dove vive la classe? Vorrei aggiungere la lezione a Tomcat e non so come. –