博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java跨域解决
阅读量:7080 次
发布时间:2019-06-28

本文共 2523 字,大约阅读时间需要 8 分钟。

1.定义一个类,实现一个Filter接口(导包导servlet的包)

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;public class SimpleCORSFilter implements Filter {    private boolean isCross = false;    @Override    public void destroy() {        isCross = false;    }    @Override    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)            throws IOException, ServletException {        if (isCross) {            HttpServletRequest httpServletRequest = (HttpServletRequest) request;            HttpServletResponse httpServletResponse = (HttpServletResponse) response;            System.out.println("拦截请求: " + 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);    }    @Override    public void init(FilterConfig filterConfig) throws ServletException {        String isCrossStr = filterConfig.getInitParameter("IsCross");        isCross = isCrossStr.equals("true") ? true : false;        System.out.println(isCrossStr);    }}

2.在web.xml中加上跨域的配置请求

SimpleCORSFilter
com.aone.app.filter.SimpleCORSFilter
IsCross
true
SimpleCORSFilter
/*

3.在Springmvc.xml中配置跨域请求

 4.maven依赖

com.thetransactioncompany
cors-filter
2.5

 

来源:

转载于:https://www.cnblogs.com/LJing21/p/11065819.html

你可能感兴趣的文章
AJax详解
查看>>
从一段时间段中获取所有日期
查看>>
Java中如何设置表格处于不可编辑状态
查看>>
Java JTable视图窗口滚动并定位到某一行
查看>>
课堂练习
查看>>
HTML学习成果 制作一个空白简历
查看>>
使用mybatis自带工具,自动生成表对应domain、mapper.xml以及dao
查看>>
餐饮ERP相关问题FAQ
查看>>
基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
查看>>
Matrix Computations 1
查看>>
springboot上传代码到gitlab并发布上线操作
查看>>
FILE * fopen(const char * path,const char * mode);
查看>>
[Flask]sqlalchemy使用count()函数遇到的问题
查看>>
[python](Docker SDK)上传镜像到私有仓库(tls、身份认证)
查看>>
听说是阿里笔试题
查看>>
使用pm2管理nodejs应用
查看>>
MySQL基础之---mysqlimport工具和LOAD DATA命令导入文本文件
查看>>
php 读取文件头部两个字节 判断文件的实际类型
查看>>
异或交换真的比开一个tmp快吗?
查看>>
使用sea.js管理你项目js文件
查看>>