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

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

时间2025-04-30 02:49:18分类IT科技浏览4394
导读:前言 本学期大作业是做一个系统,然后前段时间也学习了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
网站推广的方法和技巧(网站推广seo方法) 2021年可以做的项目(有什么好做项目赚钱-2023年有什么好赚钱的项目)