更新時間:2021-07-05 16:33:48 來源:動力節(jié)點 瀏覽3303次
跨域,即跨站HTTP請求(Cross-site HTTP request),指發(fā)起請求的資源所在域不同于請求指向資源所在域的HTTP請求。
當使用前后端分離,后端主導的開發(fā)方式進行前后端協作開發(fā)時,常常有如下情景:
后端開發(fā)完畢在服務器上進行部署并給前端API文檔。
前端在本地進行開發(fā)并向遠程服務器上部署的后端發(fā)送請求。
在這種開發(fā)過程中,如果前端想要一邊開發(fā)一邊測試接口,就需要使用跨域的方式。
非常簡單,我們可以在Controller類或其方法上加 CrossOrigin注解,來使之支持跨域。
舉例:
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@RequestMapping("/User")
public class UserController {
}
其中origins為CrossOrigin的默認參數,即跨域來源,*即任何來源,也可以是其他域名。即可以以以下形式:
@CrossOrigin("http://test.com")
@CrossOrigin(origins="http://test.com",maxAge=3600)
該注解用于方法上,寫法相同,處理時,SpringMVC會對類上標簽和方法上標簽進行合并。
在web.xml中添加如下配置:
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
使用這個Filter即可讓整個服務器全局允許跨域。
以上就是動力節(jié)點小編介紹的"SpringMVC跨域的兩種方法",希望對大家有幫助,想了解更多可查看SpringMVC教程,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務。