2024年1月Java项目开发指南12:前后端分离项目跨域问题解决
创建config文件夹,创建WebConfig文件
代码如下(可以直接抄)
package cc.xrilang.serversystem.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:5173") // 允许的前端域名
.allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的请求方法
.allowedHeaders("*") // 允许的请求头
.allowCredentials(true) // 是否允许发送Cookie
.maxAge(3600); // 预检请求的缓存时间(秒)
}
}
// 允许的前端域名 记得改成你自己的前端域名!!!记得改!!!
在创建了上述的 WebConfig 类并实现了 WebMvcConfigurer 接口以添加 CORS 配置之后,您的 Spring Boot 应用程序就已经配置好了跨域支持。当您的前端应用程序尝试从不同的域向后端发送请求时,这些 CORS 设置将确保请求不会被浏览器阻止。
创建配置类:您创建了一个名为
WebConfig的类,并用@Configuration注解标记它,这表明这个类将包含 Spring Boot 应用程序的一些配置信息。实现 WebMvcConfigurer 接口:通过实现
WebMvcConfigurer接口,您可以自定义 Spring MVC 的配置。在这个例子中,您重写了addCorsMappings方法来添加 CORS 配置。配置 CORS:在
addCorsMappings方法中,您使用CorsRegistry来定义哪些路径应该允许跨域请求,以及这些请求应该满足哪些条件(例如允许的域、HTTP 方法、请求头等)。
现在,当您运行您的 Spring Boot 应用程序时,它将自动应用这些 CORS 设置。任何符合您指定条件的跨域请求都将被允许,而不符合条件的请求将被拒绝。
请确保:
- 将
"http://your-frontend-domain.com"替换为您实际的前端应用程序域名。如果您在开发过程中使用本地主机,则可以将其设置为"http://localhost:your-frontend-port"。 - 如果您的前端应用程序需要发送凭据(例如 Cookies),请确保
.allowCredentials(true)被正确设置。 - 检查您的前端应用程序是否设置了正确的请求头,以便与后端服务器的 CORS 配置相匹配。
如果您的应用程序在添加了这些配置之后仍然遇到跨域问题,请检查您的前端代码以确保它遵循了您设置的 CORS 策略,并检查您的网络浏览器控制台以获取任何可能的错误信息。
2024年1月Java项目开发指南12:前后端分离项目跨域问题解决的更多相关文章
- luffy项目搭建流程(Django前后端分离项目范本)
第一阶段: 1.版本控制器:Git 2.pip安装源换国内源 3.虚拟环境搭建 4.后台:Django项目创建 5.数据库配置 6.luffy前 ...
- react_app 项目开发 (5)_前后端分离_后台管理系统_开始
项目描述 技术选型 react API 接口 接口文档,url,请求方式,参数类型, 根据文档描述的方法,进行 postman 测试,看是否能够得到理想的结果 collections - 创建文件取项 ...
- 基于Java服务的前后端分离解决跨域问题
导语:解决跨域问题,前后端都增加相应的允许跨域的代码段即可. 一.后端增加允许跨域的代码,可以在具体controler层加,最好是在filter中添加,这样添加一次就够了,不用在每个controler ...
- 《Spring Boot 入门及前后端分离项目实践》系列介绍
课程计划 课程地址点这里 本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发 ...
- linux项目部署(非前后端分离crm)
参考博客 参考博客2---部署过程 导论:看参考博客1 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收 ...
- 基于Vue的前后端分离项目实践
一.为什么需要前后端分离 1.1什么是前后端分离 前后端分离这个词刚在毕业(15年)那会就听说过,但是直到17年前都没有接触过前后端分离的项目.怎么理解前后端分离?直观的感觉就是前后端分开去做,即功 ...
- vue.js+UEditor集成 [前后端分离项目]
首先,谈下这篇文章中的前后端所涉及到的技术框架内容. 虽然是后端的管理项目,但整体项目,是采用前后端分离的方式完成,这样做的目的也是产品化的需求: 前端,vue+vuex+vue router+web ...
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
List多个字段标识过滤 class Program{ public static void Main(string[] args) { List<T> list = new List& ...
- vue+Ueditor集成 [前后端分离项目][图片、文件上传][富文本编辑]
后端DEMO:https://github.com/coderliguoqing/UeditorSpringboot 前端DEMO:https://github.com/coderliguoqing/ ...
- 七个开源的 Spring Boot 前后端分离项目,一定要收藏!
前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了.即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年 ...
随机推荐
- ASP 封装基本身份认证( HTTP Basic Authenticate)辅助类
最近修改一个古老的asp程序,需要为单独几个页面进行基本身份认证.由于IIS自带的设置基本身份认证是针对文件夹的,而这几个页面又不方便挪动位置,幸好在网上找到一个asp实现WWW-Authentica ...
- CMake 属性之目录属性
[写在前面] CMake 的目录属性是指在特定目录(及其子目录)范围内有效的设置. 这些属性不同于全局变量或目标(Target)属性,它们提供了一种机制,允许开发者为项目中的不同部分定义不同的构建行为 ...
- FirewallD is not running 原因与解决方法
解决方法关于linux系统防火墙: centos5.centos6.redhat6系统自带的是iptables防火墙.centos7.redhat7自带firewall防火墙.ubuntu系统使用的是 ...
- 云原生周刊 | 使用 K8s 可视化工具集来调试业务 | 2023-1-30
开源项目推荐 k8z k8z 意在 K8s 业务层面,提供一个方便好用的 K8s 集群可视化工具集.目前包含以下功能: 终端:连接到集群任意 Pod 容器上,方便调试 Tcpdump:对集群内容器进行 ...
- Nuxt.js 应用中的 build:done 事件钩子详解
title: Nuxt.js 应用中的 build:done 事件钩子详解 date: 2024/10/21 updated: 2024/10/21 author: cmdragon excerpt: ...
- Games101 光线追踪 代码框架解读
目录 1 前言 2 main.cpp 3 render.cpp 3.1 折射reflect 反射refract 相关 3.2 Fresnel equation 3.3 递归函数光线追踪 3.2.1 t ...
- Redis学习笔记整理
一.Redis概述 1.redis简介 Redis(REmote DIctionary Server 远程字典服务器)是一款开源的,用ANSI C编写.支持网络.基于内存.亦可持久化的日志型.Key- ...
- 使用JConsole监控进程、线程、内存、cpu、类情况
Jconsole简介: Jconsole是一个JMX兼容的监视工具.它使用Java虚拟机的JMX机制来提供运行在Java平台的应用程序的性能与资源耗费信息. 监控进程使用方法如下:由于JConsole ...
- ssh之秘钥登陆
前提: 1. 秘钥的生成需要OpenSSL的支持, 需要自行进行安装 一. 新建用户 在root登陆状态中执行命令: useradd -m ssh-user # centosadduser ssh-u ...
- elasticsearch之python操作
总结使用python对于elasticsearch的常用操作 安装 pip install elasticsearch 2. 连接 from elasticsearch import Elastics ...