115.【SpringBoot(IDEA)+Vue(Vscode)前后端交互】(一)

简介: 115.【SpringBoot(IDEA)+Vue(Vscode)前后端交互】

115.【SpringBoot(IDEA)+Vue(Vscode)前后端交互】

SpringBoot+Vue前后端分离

(一)、环境介绍

在SpringBoot+Vue的整合项目中我们使用的编译软件分别有: Vscode来编写Vue脚手架和IDEA来编写SpringBoot。vue脚手架是3.0以上的。

(二)、Vscode部分

1.静态资源

1.App.vue

这里的router-view一定要写出来,因为我们最终呈现到App.vue这个组件中去的

<template>
  <div>
    <router-view></router-view>
  </div>
</template>
<script>
export default {
  name:'App',
}
</script>
<style>
</style>

2.src/pages/Login.vue

将前端数据传递给后端,后端并响应的操作

<template>
    <div>
        用户名:<input type="text" v-model="loginForm.username" placeholder="请输入用户名"/>
        <br>
        <br>
        密码: <input type="password" v-model="loginForm.password" placeholder="请输入密码"/>
        <br><br>
        <button v-on:click="login">登录</button>
    </div>
</template>
<script>
export default {
    name:'Login',
    data(){
        return{
            loginForm:{
                username:'',
                password:''
            },
            responseResult: []
        }
   },
   methods:{
       login(){
            this.$axios
           .post('/login',{  // 传递给后端路径为/login的组件中去
                username: this.loginForm.username,
                password: this.loginForm.password
            })
            .then(successResponse => {
                if(successResponse.data.code ===200){  // 假如说后端传递过来的状态码是200,那么就成功登入。
                    console.log(111111)
                    this.$router.replace({path:'/index'})
                }
            })
            .catch(failResponse => {
            })
       }
   }
}
</script>
<style scoped>
</style>

3.src/pages/Index.vue

页面假如登入成功,那么我们就跳转到这个页面

<template>
    <div>
        <h2>HelloWorld</h2>
    </div>
</template>
<script>
export default {
    name:'Index'
}
</script>
<style scoped>
</style>

2.配置route路由和axios异步

1.安装路由:在vscode的控制台下输入:

npm install  vue-router@3

2.安装axios: 在vscode的控制台下输入:

npm add axios

3.配置路由: src/router/index.js

// TODO: 该文件是Vue路由器文件,路由管理着所有的路由
import Vue from 'vue'  // 引入阉割版本的vue
import VueRouter from 'vue-router'  // 引入路由插件
// TODO:引入我们需要的组件
import Login from '../pages/Login.vue'
import Index from '../pages/Index.vue'
Vue.use(VueRouter) // 使用路由
// 创建一个路由器,管理所有的路由
const router = new VueRouter({
    routes: [// 一堆路由。一个对象就是一个路由
    {
        path: '/login',
        component: Login
      },
      {
        path: '/index',
        component: Index
      }
    ],
})
// 抛出我们创建的路由器
export default router

4.注册axios和route路由: src/main.js

设置反向代理和全局注册axios,这里路径末尾的api目的是为了和后端开头的api是连接的桥梁。

import Vue from 'vue'  // 引入阉割版本的vue
import App from './App.vue' // 引入App.vue组件
//引入我们刚才编写的router配置
import router from './router/index'   
//设置反向代理,前端请求默认发送到 http://localhost:8443/api
var axios = require('axios')
axios.defaults.baseURL = 'http://localhost:8443/api'
//全局注册,之后可在其他组件中通过 this.$axios 发送数据
Vue.prototype.$axios= axios
Vue.config.productionTip = false;
const vm=new Vue({
    router: router, // 传入路由
    render: h => h(App)
}).$mount('#app');
console.log('vm',vm)

3.配置跨域支持

vue.config.js

配置这个跨域支持是为了让后端能够访问到前端的资源。

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
    transpileDependencies: true,
    lintOnSave: false,// 关闭语法检查
    // 配置跨域支持
    devServer:{
      proxy: {
        '/api':{
          target:'http://localhost:8443',//跨域支持的端口
          changeOrihin: true,
          pathRewrite:{
            '^/api':''
          }
        }
      },
    }
},
)


相关文章
|
3月前
|
SQL 监控 Java
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
这篇文章介绍了如何在IDEA和Spring Boot中使用AOP技术实现日志信息的记录到数据库的详细步骤和代码示例。
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
97 2
|
1月前
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
318 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
1月前
|
Java Maven Spring
如何在idea中创建Springboot项目? 手把手带你创建Springboot项目,稳!
文章详细介绍了在IDEA中创建Spring Boot项目的过程,包括选择Spring Initializr、配置项目属性、选择Spring Boot版本、导入依赖、等待依赖下载以及项目结构简介。
480 1
|
1月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
53 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2月前
|
Java 应用服务中间件 Spring
IDEA 工具 启动 spring boot 的 main 方法报错。已解决
IDEA 工具 启动 spring boot 的 main 方法报错。已解决
|
3月前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
3月前
|
JavaScript 前端开发 开发者
【颠覆你的前端世界!】VSCode + ESLint + Prettier:一键拯救Vue代码于水深火热之中,打造极致编程体验之旅!
【8月更文挑战第9天】随着前端技术的发展,保持代码规范一致至关重要。本文介绍如何在VSCode中利用ESLint和Prettier检查并格式化Vue.js代码。ESLint检测代码错误,Prettier保证风格统一。首先需安装VSCode插件及Node.js包,然后配置ESLint和Prettier选项。在VSCode设置中启用保存时自动修复与格式化功能。配置完成后,VSCode将自动应用规则,提升编码效率和代码质量。
509 1
|
4月前
|
Java Spring
idea新建spring boot 项目右键无package及java类的选项
idea新建spring boot 项目右键无package及java类的选项
223 5
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
123 4