JAVA Rest Web Service 遇到 Access-Control-Allow-Origin 問題


今天寫Java Jersey Rest Web Service時遇到點問題,透過ajax呼叫Web Service時會不斷出現Access-Control-Allow-Origin的訊息,嘗試過在回應的response上加上一些相關的header,不過只有GET的方式可以成功,透過POST傳資料到Rest Web Service時仍會跳出該訊息,之後看到一篇文章,透過Java Filter就解決該問題,主要是使用CORS Filter來達成,步驟如下:



1. 下載CORS-filter.jar與java-property-util.jar,參考連結
2.  加入以下filter設定到Java web.xml

<filter>    
<filter-name>CORS</filter-name>    
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>        
<filter-name>CORS</filter-name>        
<url-pattern>/*</url-pattern>
</filter-mapping>

3. 重新啟動tomcat後重新嘗試即可。

參考連結:Access-Control-Allow-Origin in ajax call to jersey rest web services

1 則留言:

Java Spring Framework 筆記 - Autowiring (2)

這篇記錄透過 Annotation來做到 Spring的 autowiring。