Java 后端彻底解决跨域问题(CORS)
接口调用出现跨域问题时,浏览器会报如下提示
XMLHttpRequest cannot load xxx. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.
等等信息
直接通过一个过滤器来解决
import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger; import org.springframework.stereotype.Component;/*** 允许跨域过滤器(Cross-Origin Resource Sharing)* @author user**/ @Component public class CorsFilter implements Filter {private final Logger logger = Logger.getLogger(this.getClass().getPackage().getName());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-Credentials", "true");response.setHeader("Access-Control-Allow-Methods", "*");response.setHeader("Access-Control-Max-Age", "3600"); // response.setHeader("Access-Control-Allow-Headers", "*");response.setHeader("Access-Control-Allow-Headers", "Authorization,Origin,X-Requested-With,Content-Type,Accept,"+ "content-Type,origin,x-requested-with,content-type,accept,authorization,token,id,X-Custom-Header,X-Cookie,Connection,User-Agent,Cookie,*");response.setHeader("Access-Control-Request-Headers", "Authorization,Origin, X-Requested-With,content-Type,Accept");response.setHeader("Access-Control-Expose-Headers", "*"); chain.doFilter(req, response);}public void init(FilterConfig filterConfig) {}public void destroy() {}}
web.xml 文件
<!-- 跨域过滤器 --> <filter> <filter-name>corsFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping><filter-name>corsFilter</filter-name><url-pattern>/dental/*</url-pattern> </filter-mapping> <filter-mapping><filter-name>corsFilter</filter-name><url-pattern>/toothCheck/*</url-pattern> </filter-mapping>
原文地址:
https://www.cnblogs.com/poterliu/p/11339942.html
转载于:https://www.cnblogs.com/poterliu/p/11339942.html
Java 后端彻底解决跨域问题(CORS)相关推荐
- Vue flask前后端分离解决跨域
Vue flask前后端分离解决跨域 安装axios 在项目目录下输入:npm install axios--save-dev 配置axios 在main.js中引入axios import axio ...
- Django后端彻底解决跨域问题
Django后端彻底解决跨域问题 参考文章: (1)Django后端彻底解决跨域问题 (2)https://www.cnblogs.com/skyflask/p/10675706.html 备忘一下.
- springboot解决跨域问题(Cors)
springboot解决跨域问题(Cors) 参考文章: (1)springboot解决跨域问题(Cors) (2)https://www.cnblogs.com/owenma/p/8466856.h ...
- 跨域详解!前后端分离解决跨域问题
文章目录 一.为什么会出现跨域问题 二.什么是跨域 三.非同源限制 四.跨域问题的解决方式 Jsonp前后端配合 前端修改 后端修改 CORS 详解响应头 5. SpringBoot解决 [方式一]全 ...
- 后端如何解决跨域问题
对于跨域,相信同学们都有所了解.前端的跨域的若干种方式,大家也都知道,什么 JSONP,iframe+domain 等等.但是我们今天的主题,不是前端跨域,而是后端跨域. 一旦提及到跨域,就会想到同源 ...
- 什么是跨域(CORS)?怎么解决跨域(CORS)?
什么是跨域(CORS)? 跨域是指浏览器不能执行其他网站上的脚本,它是由浏览器的同源策略造成的,是浏览器对 JS 的安全限制.是浏览器从一个域名网页请求另一个域名资源时,出现端口.域名.协议任一不同, ...
- java后端实现CROS跨域请求的方式
跨域: 跨域就是请求的url中的"协议"."域名"."端口号"其中任何一种不一样都是属于跨域.解决跨域的主要的四种方法是jsonp.跨域资源 ...
- vue解决线上跨域的问题_vue前后端分离解决跨域问题
用Vue-cli脚手架搭建了个demo,前后分离就有跨域问题的出现. vue-clie搭建demo步骤(传送门):https://www.cnblogs.com/wangenbo/p/8487764. ...
- Java后端带参跨域访问_java后端解决请求跨域
跨域 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 例如:a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同 ...
- Java 后端服务的跨域处理
一.同源策略 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能不能使用.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现.同源策略 ...
最新文章
- linux每日命令,日常整理linux常用命令大全(收藏)
- 流行的jQuery信息提示插件(jQuery Tooltip Plugin)
- javacript 多文件程序
- LeetCode刷题(41)--Sort Color
- mate10鸿蒙系统,华为将发布 MatePad Pro:搭载鸿蒙系统,麒麟 9000 处理器
- html.fromhtml 加载图片,TextView使用html.fromhtml加载html并显示图片
- JS包管理器Yarn 与 npm比较
- BLOCK_TYPE_US_VALID(pHead-nBlockUse)
- Modelsim 10.2c 百度网盘下载
- WeiRuan DaBing
- 02C++对C的增强
- 《架构师修炼之道》读书笔记之五:换位思考
- eclipse怎么配置oracle数据库,Eclipse连接Oracle数据库介绍
- typora 快捷键使用(mac)
- 独家首发|汇聚知识 理解世界——百度王海峰谈知识图谱的最新演讲笔记
- 5、Horizon 桌面模板机安装配置
- SpringBoot Mybatis注解调用Mysql存储过程并接收多个OUT结果集(多个mode=IN和mode=OUT参数)
- 核PCA(Kernel PCA)学习笔记
- 【JavaScript】Interview必背(详细版)
- CPT、CPM、CPC、CPA、CPS