tomcat8.5.30+ 配置跨域問題


最近將項目遷移到mac上,用vue做前后端分離時前段項目測試調用后台接口時出現跨域問題

出現403錯誤   No 'Access-Control-Allow-Origin' header is present on the requested resource.

403 是HTTP協議中的一個狀態碼(Status Code)。可以簡單的理解為沒有權限訪問此站。

該狀態表示服務器理解了本次請求但是拒絕執行該任務,該請求不該重發給服務器。

由於我前端項目在端口8083,而后台項目由tomcat發布在8080端口,從而出現了這個情況。

 

解決步驟

1.由於非maven項目,首先嘗試將tomcat下的lib中的catalina.jar包導入到項目中

在Spring的配置文件 web.xml中添加 配置

<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

根據自己請求的接口修改filter-mapping中的url,這里為所有的接口

 

然后重啟tomcat 查看是否生效。
2.如果未生效則嘗試直接修改tomcat的配置文件,文件為tomcat的安裝路徑下的conf下的web.xml
 
然后在任意位置添加上面的配置(我放在590行下面),再次重啟tomat,不出意料應該沒有問題了
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM