springmvc基于cors跨域解决方案

    技术2026-08-18  12

    跨域

    浏览器因为安全考虑,所以设置了同源策略;同源策略简单理解就是DNS域名,端口号,协议完全相同就称为同源;同源下的页面之间才能进行js的dom操作,如果不在同一个源下任何跨文档dom访问都是被阻止的;不同源下的访问可以称之为跨域访问;当在实际应用中,多数出现在ajax请求时,在不同域下请求数据会遇到禁止跨域的访问;

    为什么要有同源策略

    如何解决跨域

    解决跨域主要考虑两方面 一个是避开Ajax请求方式一个是解决同源限制的问题解决跨域的方式有多种 基于javaScript标签src方式基于Jquery的JSONP方式基于CORS的方式(解决同源的问题)JSONP和CORS的区别 JSONP只能解决GET方式提交CORS不仅支持GET方式,同时也支持POST提交方式

    CORS

    cors是一个w3c标准,是跨域资源共享它允许浏览器向跨域服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制cors需要浏览器和服务器同时支持cors原理 客户端自动向请求头header中注入origin服务器端需要向响应头header中注入Access-Allow-origin浏览器检测到header中到Access-Control-Allow-Origin,则就可以跨域操作了

    客户端跨域处理

    浏览器将cors请求分成两类: 简单请求非简单请求简单请求 区分简单请求和非简单请求

    CORS实现方式

    某个方法可以跨域访问,在某个方法上使用@CrossOrigin某个Controller类都可以跨域访问,在类上使用@CrossOrigin全局访问,在springmvc.xml中配置 <!--跨域--> <mvc:cors> <mvc:mapping path="/**"/> </mvc:cors>

     

    Processed: 0.013, SQL: 9