1.配置

web.xml过滤器配置:

<filter><filter-name>cors</filter-name><filter-class>com.ks.tow.common.filter.CORSFilter</filter-class><init-param><param-name>allows</param-name><param-value><!-- 被允许的域,可多个域','逗号隔开 -->http://192.168.0.156:8080</param-value></init-param></filter>

2.java代码

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;/*** 跨域请求CORS过滤器.* * @author LIU**/
public class CORSFilter implements Filter {private List<String> allowList;@Overridepublic void init(FilterConfig filterConfig) throws ServletException {String allows = filterConfig.getInitParameter("allows");String[] strs = allows.split(",");this.allowList = Arrays.asList(strs);}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;String reqHeaders = req.getHeader("Access-Control-Request-Headers");String originHeader = req.getHeader("Origin");if (allowList.contains(originHeader)) {resp.setHeader("Access-Control-Allow-Origin", originHeader);resp.setHeader("Access-Control-Allow-Methods", "GET, POST, HEAD, TRACE, PUT, DELETE, OPTIONS, CONNECT");if (StringUtils.isBlank(reqHeaders)) {resp.setHeader("Access-Control-Allow-Headers", "Content-Type, x_requested_with, *");} else {resp.setHeader("Access-Control-Allow-Headers", reqHeaders);}resp.setHeader("Access-Control-Max-Age", "30");resp.setHeader("Access-Control-Allow-Credentials", "true");// Access-Control-Allow-Credentials = true时,参数Access-Control-Allow-Origin 的值不能为 '*'}if ("OPTIONS".equals(req.getMethod()))return;}chain.doFilter(request, response);}@Overridepublic void destroy() {}}

大鹏激光

java web跨域拦截访问,多个域相关推荐

  1. JAVA web 跨域请求

    原文链接:http://www.cnblogs.com/binbang/p/5553701.html 1.http请求头 Origin: 普通的HTTP请求也会带有,在CORS(Cross-Origi ...

  2. java web 跨域_java web服务端CORS跨域配置

    CORS介绍 CORS-CrossOrigin Resource Sharing,即跨域资源共享,它定义了一种服务器和浏览器的交互方式来确定是否允许跨域请求.CORS简单灵活,但有风险性,能实现aja ...

  3. Java web 跨域cookie设置

    如果跨越需要前端带上cookie 需要设置返回的cookie SameSite=None 同时由于这个只对HTTPS有效所以需要设置 cookie的 Secure 属性 例如以下把token放到coo ...

  4. java web 过滤器跟拦截器的区别和使用

    2019独角兽企业重金招聘Python工程师标准>>> 1.首先要明确什么是拦截器.什么是过滤器 1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Progr ...

  5. java 微信请求_Java web微信请求拦截器(微信公众号开发)

    Java web微信请求拦截器(微信公众号开发),获取微信用户信息. package com.mvc.interceptor; import com.alibaba.fastjson.JSONObje ...

  6. Oracle的Web控制台端口,Oracle Java Web Console(概述)

    Oracle Java Web Console(概述) Oracle Java Web Console 为用户访问基于 Web 的系统管理应用程序提供了一个公用位置.可以使用所支持的几种 Web 浏览 ...

  7. Java Web解决跨域请求,java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  8. vue中axios访问Java后端跨域问题解决

    vue中axios访问Java后端跨域问题解决 参考文章: (1)vue中axios访问Java后端跨域问题解决 (2)https://www.cnblogs.com/soinve/p/9295009 ...

  9. Java 解决跨域问题

    JAVA | Java 解决跨域问题 文章目录 JAVA | Java 解决跨域问题 引言 什么是跨域(CORS) 什么情况会跨域 解决方案 前端解决方案 后端解决方案 具体方式 一.使用Filter ...

最新文章

  1. R语言使用apriori算法进行关联规则挖掘实战:关联规则概念、频繁项集、支持度(support)、置信度(confidence)、提升度(lift)、apriori算法
  2. 学python最好的方式-自学Python有什么好方法吗?老男孩专业Python培训
  3. windows安装jenkins及ant/maven/jdk配置
  4. 什么是百度竞价创意断句符
  5. C#计算两点间的距离
  6. win11 WSL Ubuntu更换为清华源
  7. iOS开发之检查更新
  8. .net 刷新页面防止表单二次提交
  9. C语言程序设计(基础)最后一次作业-- 总结报告
  10. ubuntu 安装 mono报错 E: Unable to correct problems, you have held broken packages.
  11. 2021【第十二届蓝桥杯省赛】 C/C++ B组(第一场)
  12. thinkphp上传图片并jquery预览
  13. 非受检异常_Java异常(Exception)类型及处理
  14. 【C语言】 C 语言 关键字分析 ( 属性关键字 | 常量关键字 | 结构体关键字 | 联合体关键字 | 枚举关键字 | 命名关键字 | 杂项关键字)
  15. Arthas——热替换
  16. Codeforces Round #101 (Div. 2)
  17. 201621123030《Java程序设计》第3周学习总结
  18. Tensorflow(八) —— Tensor的合并与切割
  19. 星际巡航术—玩转javascript中this!
  20. Linux语音通话如何消除回声(PulseAudio)

热门文章

  1. python读取文件行数
  2. SAP GRC – 企业风险合规治理 深入浅出
  3. PID, PPID, PGID与SID
  4. gridview设置DataFormatString格式
  5. 计算机音乐拔剑神曲,泽野弘之的音乐世界,那些拔剑神曲、核爆神曲的名字是什么来的?...
  6. javascript事件列表解说(转载)
  7. 行动瑜伽:何谓不执的行动
  8. 【转】tomcat通过conf-Catalina-localhost目录发布项目详解/author:杨元
  9. .NET 6 OAuth2.0 IdentityServer4 4.X PasswordToken(创建Token) RefreshToken(刷新Token) RevokeToken(撤销Token
  10. JavaScript(函数)九