首页IT科技vue+springboot前后端分离的优点(springboot和vue实现前后端分离基础教程)

vue+springboot前后端分离的优点(springboot和vue实现前后端分离基础教程)

时间2025-08-04 20:30:14分类IT科技浏览5931
导读:前言 本学期大作业是做一个系统,然后前段时间也学习了vue和springboot,所以就打算使用springboot和vue来实现前后端分离,练习和巩固所学的东西。然后下面是一些自己遇到的问题,希望能帮助到别人。...

前言

本学期大作业是做一个系统               ,然后前段时间也学习了vue和springboot                      ,所以就打算使用springboot和vue来实现前后端分离        ,练习和巩固所学的东西               。然后下面是一些自己遇到的问题               ,希望能帮助到别人                       。

一               、环境的搭建

创建一个springboot和一个vue项目                      ,并且将他们放在同一个文件夹下        ,使用idea打开文件夹

 打开之后项目有可能无法被识别出是什么类型的项目       ,可以在项目结构-->facet中点击+号                      ,添加类型

这样环境也就基本搭建成功了               ,我们可以写一点代码来测试一下前后端是否可以正常获取数据

二                      、测试springboot和vue

测试springboot

package com.example.controller; import org.springframework.web.bind.annotation.*; @RequestMapping("/test") @RestController public class TestController { @GetMapping public String t(){ return "springboot"; } }

成功获取数据

 测试vue

<template> <div class="info"> <button v-on:click="postInfo">showInfo</button> <br> {{info}} </div> </template> <script> import axios from "axios" export default { name: App, data() { return { info: "ee" } }, methods: { postInfo: function () { axios.get(http://localhost:80/test).then(resp=>{ this.info = resp.data }).catch(error=>{ console.log((error)) }) } } } </script>

点击按钮产生的结果

 报错       ,这是由于前端向后端请求数据                      ,而他们的端口号不一样               ,前端的端口号为8080,后端的是80                      ,所有前端无法向后端获取数据                      ,存在跨域问题

三        、解决跨域问题

1.修改vue的vue.config.js文件

const { defineConfig } = require(@vue/cli-service) module.exports = defineConfig({ transpileDependencies: true, //关闭语法检查 lintOnSave:false, // 开启代理服务器(方式一) // devServer: { // proxy:http://localhost:80 // } //第二种 devServer:{ proxy:{ // 以api为前缀才开启代理,可修改 // 可以配置多个 /api:{ target: http://localhost:80, //正则表达式判断,将路径中的/api转换为"" pathRewrite:{^/api:}, //用于支持websocket // ws:true, //用于控制请求头中的host值 // changeOrigin: true } } } })

有两种开启代理服务器的方法               ,第一种简单                      ,但是只能处理一种情况        ,比如你向80               ,81两个端口请求信息                      ,80配置了代理服务器        ,而81没配置       ,你就无法获取到81的信息;第二种就可以处理多个       。

2.修改访问的url地址

修改前

axios.get(http://localhost:80/test).then()

修改后

axios.get(http://localhost:8080/api/test).then()

你需要把端口号改为你前端网页对应的那个端口号                      ,并且加上/api(就是你vue.config.js配置的那个前缀)

接下来就大功告成了!

结果:

总结

简单介绍了springboot和vue实现前后端分离的操作流程       。

如果想更清楚了解解决跨域问题可以看尚硅谷的课程(96-97 配置代理)

尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通_哔哩哔哩_bilibili

ps:有任何问题都可以给我留言               ,大家一起进步!

声明:本站所有文章       ,如无特殊说明或标注                      ,均为本站原创发布                       。任何个人或组织               ,在未征得本站同意时,禁止复制               、盗用                      、采集        、发布本站内容到任何网站       、书籍等各类媒体平台               。如若本站内容侵犯了原著者的合法权益                      ,可联系我们进行处理       。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
华为od机考试题(【满分】【华为OD机试真题2023 JAVA&JS】查找单入口空闲区域) ckf卡尔曼滤波什么专业学的(SOC计算方法:卡尔曼滤波算法)