gateway网关、Springboot、Servlet跨域

这篇具有很好参考价值的文章主要介绍了gateway网关、Springboot、Servlet跨域。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,gateway网关跨域


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;

@Configuration
public class AppConfig {
    @Bean
    public CorsWebFilter corsWebFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        return new CorsWebFilter(source);
    }
}

二,springboot跨域

@Configuration
public class CorsConfig {

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOrigins("*")
                        .allowedMethods("*")
                        .allowedHeaders("*");
            }
        };
    }
}

三,servlet跨域

注意如果传了自定义header,需要覆盖doOptions方法,因为传自定义header后浏览器在发起请求前会发送一个options请求(chrome的开发工具看不到options请求,edge浏览器可以看到),不覆盖doOptions可以在edge的开发工具中看到options的响应码是403造成跨域失败:文章来源地址https://www.toymoban.com/news/detail-673533.html

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GetArchive3dData extends HttpServlet{
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}
	
	@Override
	public void doOptions(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
		doPost(request, response);
    }

	@Override
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
		// 允许所有域名的跨域请求
        response.setHeader("Access-Control-Allow-Origin", "*");
        // 允许特定的请求方法
        response.setHeader("Access-Control-Allow-Methods", "*");  
        // 允许特定的请求头
        response.setHeader("Access-Control-Allow-Headers", "*");
        
		PrintWriter out = response.getWriter();
		out.print("跨域请求返回的内容");
		out.flush();
		out.close();
	}

}

到了这里,关于gateway网关、Springboot、Servlet跨域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spring Cloud】深入探索统一网关 Gateway 的搭建,断言工厂,过滤器工厂,全局过滤器以及跨域问题

    在微服务架构中,网关是至关重要的组件,具有多重职责,为整个系统提供了一系列关键功能。从下面的微服务结构图中,我们可以明确网关的几项主要作用: 微服务结构图: 请求过滤与安全: 用户的所有请求首先经过网关,这使得网关成为系统的第一道防线。通过对传入

    2024年02月07日
    浏览(57)
  • spring boot3.x集成swagger出现Type javax.servlet.http.HttpServletRequest not present

    spring boot3.x版本依赖于jakarta依赖包,但是swagger依赖底层应用的javax依赖包,所以只要一启动就会报错。 移除 swagger2依赖 添加 新依赖 @Api(tags = “”) → @Tag(name = “”) @ApiModel(value=“”, description=“”) → @Schema(name=“”, description=“”) @ApiModelProperty(value = “”, required = true) →

    2024年02月09日
    浏览(42)
  • springboot整合spring cloud gateway搭建网关服务

    spring cloud netflix zuul、spring cloud gateway是最常见的微服务网关,通过网关,我们可以在请求到达后端指定服务之前/后端服务处理完业务响应数据之后对响应进行对请求/响应进行处理。 比如常见的参数校验、接口鉴权等等,在后端服务的拦截器和过滤器能做的事在网关都可以做

    2024年02月07日
    浏览(53)
  • Spring Boot各版本与Java版本的对应兼容关系,与构建工具(Maven、Gradle)版本的对应兼容关系,对servlet 容器的支持

    by:垃圾程序员 当前文章具有时效性,在当前springboot的版本下做的整合。之后大家视情况可以直接到Spring的官网查看 Spring | Home Level up your Java code and explore what Spring can do for you. https://spring.io/ 下面是Spring Boot各个版本的支持时间 下面是Spring Boot 推荐使用的各个版面,并标注出

    2024年02月10日
    浏览(53)
  • 网关 GateWay 的使用详解、路由、过滤器、跨域配置!

    SpringCloudGateway网关是所有微服务的统一入口。 1.1 它的主要作用是: 反向代理(请求的转发) 路由和负载均衡 身份认证和权限控制 对请求限流 1.2 相比于Zuul的优势: SpringCloudGateway基于Spring5中提供的WebFlux,是一种响应式编程的实现,性能更加优越。 Zuul的实现方式比较老式

    2024年02月07日
    浏览(60)
  • 网关 GateWay 的使用详解、路由、过滤器、跨域配置

    SpringCloudGateway网关是所有微服务的统一入口。 1.1 它的主要作用是: 反向代理(请求的转发) 路由和负载均衡 身份认证和权限控制 对请求限流 1.2 相比于Zuul的优势: SpringCloudGateway基于Spring5中提供的WebFlux,是一种响应式编程的实现,性能更加优越。 Zuul的实现方式比较老式

    2024年02月14日
    浏览(56)
  • SpringCloudAlibaba:服务网关之Gateway的cors跨域问题

    目录 一:解决问题 二:什么是跨域 三:cors跨域是什么?  遇到错误:         前端请求时报错 解决: 网关中添加配置文件, 注意springboot版本 ,添加配置。 跨域是指浏览器处于安全考虑,对 JavaScript 发起的不同源的请求进行限制的一种机制。 所谓同源是指协议,域名和

    2024年02月15日
    浏览(43)
  • servlet+JSP与SpringBoot+Vue项目交互——servlet请求SpringBoot接口

    servlet+JSP与SpringBoot+Vue项目交互——servlet请求SpringBoot接口 笔者前一段时间开发一个项目,使用的技术框架是servlet+JSP,现阶段开发的项目技术框架为SpringBoot+Vue,笔者现在需要输入servlet+JSP请求SpringBoot接口,获取接口相应,如何实现 1、若读者使用的是 Maven 作为构建工具,您

    2024年02月03日
    浏览(43)
  • 微服务Gateway网关(自动定位/自定义过滤器/解决跨域)+nginx反向代理gateway集群

    目录 Gateway网关 1.0.为什么需要网关? 1.1.如何使用gateway网关 1.2.网关从注册中心拉取服务 1.3.gateway自动定位 1.4.gateway常见的断言 1.5.gateway内置的过滤器 1.6.自定义过滤器-全局过滤器 1.7.解决跨域问题 2.nginx反向代理gateway集群 2.1.配置文件 继  nacos注册中心+Ribbon负载均衡+完成

    2024年02月06日
    浏览(69)
  • Spring 与 Servlet-2

    Spring的通知类型 Spring 通知类型按切面功能调用的不同时刻,可以分为提供了 5 种 Advice 类型 1、前置通知 Before advice:在某连接点之前执行的通知,但这个通知不能阻止连接点之前的执行流程(除非它抛出一个异常) 2、后置通知 After returning advice:在某连接点正常完成后执行

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包