springboot 跨域cookie

springboot 跨域cookiespringboot跨域cookie跨域请求默认不会发送cookie数据,需做在请求发送端、服务端做一些配置才能发送、读取cookie数据************************应用1****************config层WebConfig@ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddViewControllers(V.

大家好,又见面了,我是你们的朋友全栈君。


springboot跨域cookie

跨域请求默认不会发送cookie数据,需做在请求发送端、服务端做一些配置才能发送、读取cookie数据

************************

应用 1

****************

config层

WebConfig

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/index").setViewName("index");
    }
}

****************

controller层

HelloController

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public Map<String,String> hello(HttpServletRequest request){
        Enumeration<String> headers=request.getHeaderNames();
        while (headers.hasMoreElements()){
            String header=headers.nextElement();

            System.out.println(header+" ==> "+request.getHeader(header));
        }

        Map<String,String> map=new HashMap<>();
        map.put("info","hello,瓜田李下");

        return map;
    }
}

****************

前端页面

index.html

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org" xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/jquery-3.5.1.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#btn").click(function () {
                $.get({
                    url: "/hello",
                    success: function (result) {
                        $("#data").html(result.info)
                    }
                })
            });

            $("#btn2").click(function () {
                $.get({
                    url: "http://localhost:8081/hello",
                    crossDomain: true,
                    xhrFields: {
                        withCredentials: true
                    },
                    success: function (result) {
                        $("#data2").html(result.info)
                    }
                })
            });
        })
    </script>
</head>
<body>
<div th:align="center">
    <button id="btn">获取数据</button>
    <button id="btn2">获取数据2</button><br>
    <span id="data"></span><br>
    <span id="data2"></span>
</div>
</body>
</html>

************************

应用 2

****************

config层

WebConfig

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://localhost:8080")
                .allowCredentials(true);
    }
}

****************

controller层

HelloController

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public Map<String,String> hello(HttpServletRequest request){
        Enumeration<String> headers=request.getHeaderNames();
        while (headers.hasMoreElements()){
            String header=headers.nextElement();

            System.out.println(header+" ==> "+request.getHeader(header));
        }

        Map<String,String> map=new HashMap<>();
        map.put("info","欢迎你");

        return map;
    }
}

************************

使用测试

localhost:8080/index

springboot 跨域cookie

****************

点击获取数据、获取数据2,控制台输出

应用 1

2020-07-08 10:56:09.407  INFO 1488 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-07-08 10:56:09.414  INFO 1488 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 7 ms
host ==> localhost:8080
connection ==> keep-alive
accept ==> */*
x-requested-with ==> XMLHttpRequest
user-agent ==> Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
referer ==> http://localhost:8080/index
accept-encoding ==> gzip, deflate, br
accept-language ==> zh-CN,zh;q=0.9
cookie ==> isg=BJiYP7OIcordkV4OUKLufIy5acYqgfwLBTEbVdKJqlOGbThXepNTm7QMoaXdorTj

应用 2

2020-07-08 10:56:22.400  INFO 16104 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-07-08 10:56:22.410  INFO 16104 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 10 ms
host ==> localhost:8081
connection ==> keep-alive
accept ==> */*
origin ==> http://localhost:8080
user-agent ==> Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
referer ==> http://localhost:8080/index
accept-encoding ==> gzip, deflate, br
accept-language ==> zh-CN,zh;q=0.9
cookie ==> isg=BJiYP7OIcordkV4OUKLufIy5acYqgfwLBTEbVdKJqlOGbThXepNTm7QMoaXdorTj

应用 2可读取属于应用 1的cookie数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149878.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月17日 下午1:00
下一篇 2022年6月17日 下午1:00


相关推荐

  • HibernateTemplate使用方法

    HibernateTemplate使用方法HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。1、常用方法:   1)voiddelete(Objectentity):删除指定持久化实例   2)dele

    2022年6月16日
    28
  • PyCharm之Matplotlib不显示图像(for Mac)

    PyCharm之Matplotlib不显示图像(for Mac)问题 Python 环境 3 6 3Mac 系统 10 12 6macOSSierra 我用 PyCharm 使用 Matplotlib 时候 justforMac 发现不能显示出图像 但是 我在 Eclipse 里面使用 却可以正常显示图像 那么 可以确定的是 我 PyCharm 出了问题 到底是什么原因呢 分析 解决网上找了好几种方法 最后找到了解决办法 总结一下 那种方法是

    2026年3月16日
    2
  • 双三次插值(BiCubic插值)

    双三次插值(BiCubic插值)只是根据自己的理解补充一下 参考文章来源 nbsp 图像缩放之双三次插值法 nbsp 点击打开链接 nbsp 图像放大并进行 BiCubic 插值 Matlab C 代码点击打开链接 nbsp 假设源图像 A 大小为 m n 缩放 K 倍后的目标图像 B 的大小为 M N 即 K M m A 的每一个像素点是已知的 B 是未知的 我们想要求出目标图像 B 中每一像素点 X Y 的值 必须先找出像素 X Y 在源图像 A 中对应的像素 x y 再根

    2026年3月19日
    2
  • matlab已知优化目标函数,fmincon函数对目标函数的要求

    matlab已知优化目标函数,fmincon函数对目标函数的要求matlab 非线性规划 fmincon 函数中目标函数参数传递问题 使用匿名函数句柄就可以了 fmincon 需要的函数 fun 只有一个输入参数 fun x 而你的函数需要多一个能改变的变量那么形式变成 myfun p x p 就是你要传递的参数 x 还是原来的输入当然首先 你得写 lingo 目标函数的代码编写 max sum routes i j q j x i j p i x i j c i j x

    2026年3月16日
    1
  • Poetry(2)Poetry的基本使用方式「建议收藏」

    Poetry(2)Poetry的基本使用方式「建议收藏」Poetry的基本使用准备工作如果你是在一个已有的项目里使用Poetry,你只需要执行poetryinit命令来创建一个pyproject.toml文件:poetryinit可看到

    2022年8月7日
    6
  • python基础之for循环语句

    python基础之for循环语句1 python 中的 for 循环 本质是对一个数据或数据集合体的遍历时 有多少个数据 就是会循环几次 这样理解后你会发现 for 循环是很简单的 并且你会发现它比 C 和 Java 的 for 循环功能更多 而且还要语法简洁很多 话不多说 直接上代码 结果 因为我们这个列表有四个数 所有我们循环了四次

    2025年11月2日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号