说明

  • 资源请求的发起方与请求的资源不在同一个域中的;
  • 一般的,只要网站的【协议名protocol】、【主机host】、【端口号port】这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用;
  • 跨域请求能够达到服务端,但是返回结果会被浏览器拦截;

处理方式

1、filter处理器

一般的处理方法,在Filter中拦截请求,在请求头中添加信息,例如:

setHeader("Access-Control-Allow-Origin","*")

2、@CrossOrigin注解

1、Spring 4.2之后提供了跨域注解 @CrossOrigin;

2、可以用在方法或Controller上;

3、Controller和方法上都有时,Spring会合并两个注解的属性一起使用;

[官方文档]https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/CrossOrigin.html

@CrossOrigin
@RequestMapping("/obtainJqxxListByPage")
public Map obtainJqxxListByPage(){}

注解属性有以下7个

String[] value() default {}
String[] origins() default {}
String[] allowedHeaders() default {}
String[] exposedHeaders() default {}
RequestMethod[] methods() default {}
String allowCredentials() default {}
long maxAge() default -1L

3、Nginx配置解决跨域

Java 跨域 CrossOrigin注解 Filter拦截 Nginx配置的更多相关文章

  1. 跨域原因及SpringBoot、Nginx跨域配置

    目录 概述 简单请求 跨域解决方案 概述 SpringBoot跨域配置 Nginx跨域配置 概述 MDN文档 Cross-Origin Resource Sharing (CORS) 跨域的英文是Cr ...

  2. JAVA跨域CORS

    写了一个前端vue调用后端Java的接口,报“Access-Control-Allow-Origin”问题.

  3. JAVA跨域资源访问CORSFilter

    当一个资源从与该资源本身所在的服务器不同的域或端口不同的域或不同的端口请求一个资源时,资源会发起一个跨域 HTTP 请求. 出于安全考虑,浏览器会限制从脚本内发起的跨域HTTP请求.跨域资源共享机制允 ...

  4. springboot的@CrossOrigin注解解决细粒度的配置跨域

    import java.util.HashMap; import org.springframework.web.bind.annotation.CrossOrigin; import org.spr ...

  5. java跨域

    在我们开发当中  经常会碰见跨域问题 今天我来说下 我在工作撞见的跨域: 一.首先我们要了解跨域存在的原因 1.浏览器限制 2.跨域(域名,端口不一样都是跨域) 3.XHR(XMLHttpReques ...

  6. Java跨域设置

    Access-Control-Allow-Origin 为允许哪些Origin发起跨域请求. 这里设置为"*"表示允许所有,通常设置为所有并不安全,最好指定一下. Access-C ...

  7. 最简单实现跨域的方法:用 Nginx 反向代理

    本文作者: 伯乐在线 - 良少 .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascrip ...

  8. [转] 最简单实现跨域的方法:使用nginx反向代理

    [From] http://blog.jobbole.com/90975/ 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全 ...

  9. JAVA跨域、RestTemplate高并发下异常与配置、JSON数据Long转String

    ## 跨域支持 import org.springframework.context.annotation.Bean; import org.springframework.context.annot ...

随机推荐

  1. PowerCollections

    Wintellect 的Power collections 库 BigList<String> str = new BigList<String>(); str.Add(&qu ...

  2. android 学习过程中登陆失效的个人理解

    今天在学习的过程中,要做登陆失效的功能,所以就找了些资料.好好看了一下.研究了一番,慢慢的做出来了! 比方:你在一个手机端登陆了账号,在另外的一个手机端也登陆了账号,此时.前一个手机端的账号会提示登陆 ...

  3. mysql 严格模式 Strict Mode说明

    1.开启与关闭Strict Mode方法 找到mysql安装文件夹下的my.cnf(windows系统则是my.ini)文件 在sql_mode中增加STRICT_TRANS_TABLES则表示开启严 ...

  4. 利用用python构建 个性化签名

    from tkinter import * from tkinter import messagebox,ttk from PIL import ImageTk import requests imp ...

  5. Oracle VM VirtualBox 虚拟机 常用快捷键

    右Ctrl+C :放大或缩小 右Ctrl+F :全屏 右Ctrl+Delete :登录 知道上面的其他就都知道了

  6. MVC 自定义 以表达式树为参数的htmlhelper

    public static MvcHtmlString Try<TModel, TProperty>( this HtmlHelper<TModel> htmlHelper, ...

  7. ExtJS xtype 一览

    基本组件: xtype Class 描述 button Ext.Button 按钮 splitbutton Ext.SplitButton 带下拉菜单的按钮 cycle Ext.CycleButton ...

  8. wxWidgets:给窗口添加工具条

    请先看上一篇<wxWidgets入门>. 修改MyFrame.h: #ifndef MYFRAME_H #define MYFRAME_H #include <wx/wxprec.h ...

  9. 1037 Magic Coupon (25 分)

    1037 Magic Coupon (25 分) The magic shop in Mars is offering some magic coupons. Each coupon has an i ...

  10. [UE4]C++方法多个返回值给蓝图

    如果参数类型带上“&” void URegisterUserWidget::Login(FString& NickName, FString& Password, FStrin ...