springboot跨域请求

SpringBoot | 番外:使用小技巧合集

2018/09/17 | 分类: 基础技术 | 0 条评论 | 标签: spring boot

分享到:

原文出处: oKong

前言

最近工作比较忙,事情也比较多。加班回到家都十点多了,洗个澡就想睡觉了。所以为了不断更太多天,偷懒写个小技巧合集吧。之后有时间都会进行文章更新的。原创不易,码字不易,还希望大家多多支持!话不多说,开始今天的技巧合集吧~

设置网站图标

原来我们在使用tomcat开发时,设置网站图片时,即icon图标时,一般都是直接替换root包下的favicon.ico替换成自己的,或者在网页的头部设置link的ref为icon然后设置其href值。而在SpringBoot中,替换图片也是很简单的,只需要将自定义图片放置在静态资源目录下即可,即默认有staticpublicresources/META-INF/resources或者自定义的静态目录下即可。

目录结构:

允许跨域访问

CORS是一个W3C标准,全称是”跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨源(协议 + 域名 + 端口)服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。

简单来说,跨域问题是可以通过nginx来解决的,或者通过jsonp(只支持get请求)来解决。而SpringBoot中也提供了配置方法。

0.利用@CrossOrigin注解,可放至在类上或者方法上。类上代表整个控制层所有的映射方法都支持跨域请求。


1

2

3

4

5

6

7

8

9

@CrossOrigin(origins = "http://blog.lqdev.cn", maxAge = 3600)

@RestController

public class demoController{

   @GetMapper("/")

   public String index(){

      return "hello,CORS";

   }

}

1.配置全局CORS配置。官网也有给出实例,具体如下:


1

2

3

4

5

6

7

8

9

10

11

12

@Configuration

public class MyConfiguration {

    @Bean

    public WebMvcConfigurer corsConfigurer() {

        return new WebMvcConfigurerAdapter() {

            @Override

            public void addCorsMappings(CorsRegistry registry) {      registry.addMapping("/api/**").allowedOrigins("https://blog.lqdev.cn");

            }

        };

    }

}

原文地址:https://www.cnblogs.com/wirr/p/9684829.html

时间: 2024-07-29 15:05:54

springboot跨域请求的相关文章

SpringBoot多跨域请求的支持(JSONP)

在我们做项目的过程中,有可能会遇到跨域请求,所以需要我们自己组装支持跨域请求的JSONP数据,而在4.1版本以后的SpringMVC中,为我们提供了一个AbstractJsonpResponseBodyAdvice的类用来支持jsonp的数据(SpringBoot接收解析web请求是依赖于SpringMVC实现的).下面我们就看一下怎么用AbstractJsonpResponseBodyAdvice来支持跨域请求. 使用AbstractJsonpResponseBodyAdvice来支持跨域请求

Springboot实现跨域请求

之所以需要用到跨域请求,目的在于现在的Java项目,几乎基本上都前后端分离,除一些较老的维护项目外(通常是单体或者是maven多模块形式,不过本质上还是将前端放在webapps下). SpringBoot实现跨域其实和Spring是一样,区别不大,如果要说区别的话,Spring需要在对应的xml文件中配置bean,而SpringBoot则通过注解的方式. Spring配置跨域请求可参考我的这篇文章:https://www.cnblogs.com/youcong/p/9676433.html 示例

Springboot如何优雅的解决ajax+自定义headers的跨域请求[转]

1.什么是跨域 由于浏览器同源策略(同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.),凡是发送请求url的协议.域名.端口三者之间任意一与当前页面地址不同即为跨域. 具体可以查看下表: 2.springboot如何解决跨域问题 1.普通跨域请求解决方案: ①请求接口添加注解@CrossOrigin(origins = "http://127.0.0.1:8020", maxAge

SpringBoot解决跨域请求拦截

前言 同源策略:判断是否是同源的,主要看这三点,协议,ip,端口. 同源策略就是浏览器出于网站安全性的考虑,限制不同源之间的资源相互访问的一种政策. 比如在域名https://www.baidu.com下,脚本不能够访问https://www.sina.com源下的资源,否则将会被浏览器拦截. 注意两点: 1.必须是脚本请求,比如AJAX请求. 但是如下情况不会产生跨域拦截 <img src="xxx"/> <a href='xxx"> </a&

Springboot跨域 ajax jsonp请求

SpringBoot配置: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> @SuppressWarnings("deprecation") @Configuration public class CorsFilter ext

springboot shiro 前后端分离,解决跨域、过虑options请求、shiro管理session问题、模拟跨域请求

一.解决跨域.过虑options请求问题 1.创建过虑类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; im

Java实现CORS跨域请求

问题 使用前后端分离模式开发项目时,往往会遇到这样一个问题 -- 无法跨域获取服务端数据 这是由于浏览器的同源策略导致的,目的是为了安全.在前后端分离开发模式备受青睐的今天,前端和后台项目往往会在不同的环境下进行开发,这时就会出现跨域请求数据的需求,目前的解决方案主要有以下几种: JSONP.iframe.代理模式.CORS等等 前面几种方式在这里不讲,网上有很多资料.在这里我主要分享一下CORS这种解决方式,CORS即"跨域资源共享",它允许浏览器向跨源服务器,发出XMLHttpRe

springboot 跨域处理示例代码

springboot处理跨域请求代码 在前.后端开发分离场景下,前段通过接口获取后端的数据,不可避免的碰到CORS问题,这里主要讲述后端代码允许修改的方案,记录springboot处理跨域的代码示例.如果后端是第三方提供,一般处理方案有自己封装第三方接口和用nginx等反向代理服务,不在这里讲述. 拦截http的OPTIONS方法,不要传递到controller方法 public class MyFilter extends HandlerInterceptorAdapter { @Overri

SpringBoot跨域小结

前言:公司的SpringBoot项目出于某种原因,经常样处理一些跨域请求. 一.以前通过查阅相关资料自己写的一个处理跨域的类,如下. 1.1首先定义一个filter(拦截所有请求,包括跨域请求) public class CrossDomainFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) t