java解决跨域问题
1.编写Filter类
package com.skynet.oilmap.system;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SimpleCORSFilter implements Filter{
public final static Logger LOGGER = LoggerFactory.getLogger(SimpleCORSFilter.class);
private boolean isCross = false;
@Override
public void destroy() {
isCross = false;
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
try {
if (isCross) {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
LOGGER.debug("跨域拦截请求: " + httpServletRequest.getServletPath());
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
httpServletResponse.setHeader("Access-Control-Max-Age", "0");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token");
httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpServletResponse.setHeader("XDomainRequestAllowed", "1");
}
chain.doFilter(request, response);
}catch (Exception e) {
LOGGER.debug("拦截请求,判断是否跨域异常", e);
}
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
String isCrossStr = filterConfig.getInitParameter("IsCross");
isCross = isCrossStr.equals("true") ? true : false;
}
}
2.在web.xml中配置该Filter
<!-- 跨域请求 -->
<filter>
<filter-name>SimpleCORSFilter</filter-name>
<filter-class>com.skynet.oilmap.system.SimpleCORSFilter</filter-class>
<init-param>
<param-name>IsCross</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SimpleCORSFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置结束即可解决跨域问题。
java解决跨域问题相关推荐
- Java 解决跨域问题
JAVA | Java 解决跨域问题 文章目录 JAVA | Java 解决跨域问题 引言 什么是跨域(CORS) 什么情况会跨域 解决方案 前端解决方案 后端解决方案 具体方式 一.使用Filter ...
- java解决跨域问题_Java项目中如何解决跨域问题
Java项目中如何解决跨域问题 发布时间:2020-11-11 16:00:40 来源:亿速云 阅读:91 作者:Leah Java项目中如何解决跨域问题?很多新手对此不是很清楚,为了帮助大家解决这个 ...
- java解决跨域 多个号_java-解决跨域问题
今天刚在项目中解决了跨域,记录下javascript 首先了解下相关知识html $.ajax jQuery的异步请求前端 jsonp :指定跨域异步请求时,后台接收参数名称,默认为callba ...
- java解决跨域 -夜幕思年华
@CrossOrigin 1.指定类跨域 @CrossOrigin @RestController public class UserController {@RequestMapping(" ...
- java解决跨域我呢提尼_野生狐狸被救以后,与狗狗成了好朋友,跨域种族的友情很不可思议...
这世界上每个人有三种感情是不能少的,亲情.爱情.友情.每一种情感都有不同的故事,每一个故事都可以化为另一种情感.而今天有一种友情让我有了另一种解读. 这只狗狗叫做"提尼",提尼一直 ...
- 后端解决跨域问题---SpringBoot
解决跨域问题 在后端解决跨域问题: 新建配置类 config/ CrosConfig.java /*** 解决跨域问题*/ @Configuration public class CrosConfig ...
- 【古法炮制】最原始的解决JAVA接口跨域的问题
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...
- java 跨域_springboot解决跨域CROS问题,用注解@CrossOrigin
项目是springboot框架,前后端分离,需要跨域,当前前端可以用JSONP解决,但是java端如何解决呢? 因为是springboot框架,所以好多都可以用注解解决问题,所以就用到了@CrossO ...
- vue+Java后端进行调试时如何解决跨域问题
今天在开发过程中遇到一个问题,拿到了一套vue代码,计划对这套代码的部分样式进行调整,Java后端代码已经写好并且部署到了线上.这时命令行运行vue项目时访问会受限,取不下数据来,遇到了跨域访问失败的 ...
最新文章
- 985高校挖出古墓!网友:毕业论文自己找上门来了
- 程序员心中都有一个江湖,java世界,就是一个江湖!
- 谈谈微服务设计中的API网关模式
- Java内存之栈与堆
- Java的算法讲解以及案例!
- java to对象_java中同类对象之间的compareTo()和compare()方法对比分析
- 鸿蒙os 2.0跑分,预装鸿蒙OS 2.0!华为MatePad Pro2跑分曝光:麒麟9000、8GB内存
- [106].从中序与后序遍历序列构造二叉树
- python读取每一行文字二十四_python接口自动化(二十四)--unittest断言——中(详解)...
- JS实现图片循环滚动
- SVN trunk branches tags 的用法 - 摘自网络
- 不用去验血,一查就能知道自己缺啥,一定要收好
- Android中用文件初始化sqlite 数据库(二)
- 太极图正确画法_认识道教太极图,了解正规画法
- unity 打开项目路径无效_unity3d建立的文件有中文路径,现在新建了项目打不开了...
- Oracle 客户端 PLSQL 12.0.7 安装、数据导出、Oracle 执行/解释计划
- Scala中I/O类使用详细解析
- VS开发问题:应用程序无法启动 因为程序的并行配置不正确 ,解决方案
- uni-app微信小程序短信验证、微信支付
- 三年高级开发,六年成为架构师,到CTO我用了12年
热门文章
- Immutable 想破坏它也没办法
- 怎么定义html的整体的宽度,html怎么设置最大宽度
- js 只准输入数字_js验证如何限制文本框只能输入数字
- mysql nosql 同步_使用canal和canal_mysql_nosql_sync同步mysql数据
- android bitmap转图片_Android 这些 Drawable 你都会用吗?
- php 26个字母大写,英语26个字母大小写怎么写
- 目前流行的装修风格_当下最流行的十大装修风格。目前主流的装修风格前十
- html表单中的数据提交后清空,怎么实现小程序中表单提交后自动清空内容
- 火影忍者手游服务器维护4月4,火影忍者手游4月14日联服公告-火影忍者手游4月14日联服时间_牛游戏网...
- java小程序扑克牌_用Java来写一个模拟斗地主发牌的小程序