首页 > 其他分享 >OPTIONS请求后台处理 跨域Filter 支持跨域

OPTIONS请求后台处理 跨域Filter 支持跨域

时间:2022-09-06 16:57:38浏览次数:44  
标签:Control Access 跨域 httpServletResponse Filter import OPTIONS

import cn.hutool.http.Method;
import org.springframework.web.filter.OncePerRequestFilter;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author Administrator
 */
public class CorsFilter extends OncePerRequestFilter {

    @Override
    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
        httpServletResponse.setHeader("Access-Control-Allow-Origin", httpServletRequest.getHeader("Origin"));
        httpServletResponse.addHeader("Access-Control-Allow-Credentials", "true");
        httpServletResponse.setHeader("Access-Control-Allow-Methods",
                "POST, GET, OPTIONS, DELETE");
        httpServletResponse.setHeader("Access-Control-Max-Age", "3600");
        httpServletResponse.setHeader("Access-Control-Allow-Headers",
                "Content-Type, x-requested-with, X-Custom-Header, Request-Ajax");
        if(httpServletRequest.getMethod().toUpperCase().equals(Method.OPTIONS.name())){
            return;
        }
        filterChain.doFilter(httpServletRequest, httpServletResponse);
    }


}

  ---跨域 JavaOPTIONS 情况的支持 

标签:Control,Access,跨域,httpServletResponse,Filter,import,OPTIONS
From: https://www.cnblogs.com/porter/p/16662413.html

相关文章

  • 跨域的意义
      目前知道,跨域有三种解决办法,第一jsonp,这个感觉很麻烦,不学。第二,cros,这个主要是后端服务器开始accessControlAlloworigin,它开启几个不同源的http地址,那么那几个地......
  • 39 | JAVA_IO_Filter模式(Decorator模式)-cnblog
    Filter模式(Decorator模式)为了解决依赖继承会导致子类数量失控的问题,JDK首先将InputStream分为两大类:一类是直接提供数据的基础InputStream,例如:FileInputStreamByteA......
  • Typescript类型体操 - Chainable Options
    题目中文在JavaScript中我们经常会使用可串联(Chainable/Pipeline)的函数构造一个对象,但在TypeScript中,你能合理的给它赋上类型吗?在这个挑战中,你可以使用任意你喜欢的......
  • 【Python基础】内置函数filter详解
    filter,顾名思义,就是一个过滤器。其作用是从列表(或其他序列类型)中筛选出满足条件的子列表,filter是python的内置函数,无须import即可直接使用。1filter的基础用法对于列表(或......
  • 关于selenium之 定位以及切换iframe跨域处理
    很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼(原因之一,改天专门说说定位不......
  • 跨域、同源策略、CSRF 概念
    跨域当一个请求URL的协议、域名、端口三者之间任意一个与当前页面的不同即为跨域。同源策略同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能......
  • .Net Core 配置文件读取 - IOptions、IOptionsMonitor、IOptionsSnapshot
    原文链接:https://www.cnblogs.com/ysmc/p/16637781.html众所周知,appsetting.json配置文件是.Net的重大革新之心,抛开了以前繁杂的xml文件,使用了更简洁易懂的json方式......
  • 抛砖系列之git仓库拆分工具git-filter-repo
    最近负责把团队内的git仓库做了一次分拆,解锁一个好用的工具git-filter-repo,给大伙抛砖一波,希望以后遇到类似场景时可以信手拈来。背景笔者团队目前是把业务相关的java项......
  • 学习:python进阶 匿名函数,内置函数filter
               enumerate内置函数 ......
  • [面试]HandlerInterceptors vs. Filters in Spring MVC
    一.Filters过滤器是web服务器的一部分,而不是Spring框架的一部分。对于传入的请求,我们可以使用过滤器来操作甚至阻止请求到达任何的servlet。反之亦然,我们也可以阻止响应......