SpringMVC注解@CrossOrigin跨域问题详解

 更新时间:2023年11月17日 09:49:39   作者:牧码ya  
这篇文章主要介绍了SpringMVC注解@CrossOrigin跨域问题详解,跨域是浏览同源策略的造成,是浏览器对JavaScript施加的安全限制CORS是一种可以解决跨域问题的技术,需要的朋友可以参考下

前言

一般的,只要网站的【协议名protocol】、【主机host】、【端口号port】这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用 跨域:浏览同源策略的造成,是浏览器对JavaScript施加的安全限制 CORS是一种可以解决跨域问题的技术

SprinMVC通过@CrossOrigin注解解决跨域

在Spring MVC4.2之后推出了@CrossOrigin注解来解决跨域问题,而在4.2之前我们都是通过定义注册过滤器的方式来解决跨域问题的

@CrossOrigin的参数

1、origins:允许可访问的域列表;*表示可以是任何来源

2、maxAge:准备响应前的缓存持续的最大时间(单位:秒)

@CrossOrigin使用在Controller层

1、类上,此类中所有方法启用跨域支持

// 开启跨域支持
@CrossOrigin
@RestController
@RequestMapping("/user")
public class UserController {
}

2、方法上,仅此方法启用跨域支持

// 开启跨域支持
@CrossOrigin
@RequestMapping(value = "/findAll", method = RequestMethod.GET)
public List<User> findAll(){
	return userService.findAll();
}

注意

1、注解失效问题:此时Controlle的方法上@RequestMapping注解中需要声明请求方式即增加method=RequestMethod.XXX

2、添加注解后session失效问题:此时对的ajax请求中需要添加xhrFields:{withCredentials:true}(每个ajax中都需要加此属性,以保证session一致)

$.ajax({
	type: "post",
	url: '/user/login',
	xhrFields: {withCredentials: true},
	data: {
		username: username,
		password: password
	},
	success: function (msg) {
		console.log('登录成功');
	},
	error: function (msg) {
		console.log('请求报错!');
	}
})

到此这篇关于SpringMVC注解@CrossOrigin跨域问题详解的文章就介绍到这了,更多相关@CrossOrigin跨域问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 为何找不到Java 7中的警告

    为何找不到Java 7中的警告

    在本篇文章和里小编给大家整理的是关于Java 7中的警告的相关知识点内容,有需要的朋友们可以参考下。
    2019-11-11
  • Spring MVC参数自动绑定List的解决方法

    Spring MVC参数自动绑定List的解决方法

    这篇文章主要为大家详细介绍了Spring MVC参数自动绑定List的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java HashSet(散列集),HashMap(散列映射)的简单介绍

    Java HashSet(散列集),HashMap(散列映射)的简单介绍

    这篇文章主要介绍了Java HashSet(散列集),HashMap(散列映射)的简单介绍,帮助大家更好的理解和学习Java集合框架的相关知识,感兴趣的朋友可以了解下
    2021-01-01
  • 继承WebMvcConfigurationSupport后自动配置不生效及如何配置拦截器

    继承WebMvcConfigurationSupport后自动配置不生效及如何配置拦截器

    这篇文章主要介绍了继承WebMvcConfigurationSupport后自动配置不生效及如何配置拦截器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Java springboot yaml语法注解

    Java springboot yaml语法注解

    这篇文章主要介绍了SpringBoot中的yaml语法及静态资源访问问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • java poi解析word的方法

    java poi解析word的方法

    这篇文章主要为大家详细介绍了java poi解析word的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • java为什么需要虚拟机jvm原理详解

    java为什么需要虚拟机jvm原理详解

    这篇文章主要为大家介绍了java为什么需要虚拟机jvm的原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-11-11
  • ThreadLocal使用案例_动力节点Java学院整理

    ThreadLocal使用案例_动力节点Java学院整理

    这篇文章主要介绍了ThreadLocal使用案例分析,需要的朋友可以参考下
    2017-08-08
  • java实现幸运抽奖系统

    java实现幸运抽奖系统

    这篇文章主要为大家详细介绍了java实现幸运抽奖系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • MyEclipse如何取消默认工作空间方法示例

    MyEclipse如何取消默认工作空间方法示例

    这篇文章主要介绍了MyEclipse如何取消默认工作空间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论