【java+vue】前后端项目架构详细流程

前端

1.创建vue项目

需要工具:node、Vscode

1.在磁盘上创建文件(web),并移到Vscode的工作区

2.进入该文件的终端

3.检测node和vue是否正常,若不显示版本号,则自行下载

4.生成vue

        1.执行命令:vue create project

        

        按空格选择,回车则进行下一步

保存本次配置(y)

   取个合适的名字,下次创建vue的时候就可以选择这个名,会默认使用这次的配置

等待下载。。。。。下载完成如下如图所示     

2.启动项目

1.启动项目(要进入到对应的vue项目才可以启动)

2.访问链接

3.终端执行ctrl + c关闭

3.构建页面

3.1.启动原理

1.main.js

这个文件是项目启动的主入口,里面最重要的参数就是router

2./router/index.js

3.2.构建自己的网页

这里使用element插件

1.下载插件

npm i element-ui -S 

2.在main.js文件中引入插件

  1. /*引入如下组件*/

  2. import ElementUI from 'element-ui';

  3. import 'element-ui/lib/theme-chalk/index.css';

  4. Vue.use(ElementUI);

3.在src/views下创建Login.vue和TestView.vue文件

Login.vue

<template>  

    <div style="margin-top:15%; margin-left:40%;  ">  

     

    <el-form ref="form" :model="form" label-width="80px">  

      <el-row>  

        <el-col :span="7"> <el-form-item label="用户名">  

          <el-input v-model="form.name" type="text"></el-input>  

        </el-form-item></el-col>  

      </el-row>  

      <el-row>  

        <el-col :span="7"> <el-form-item label="密码">  

          <el-input v-model="form.password" type="password"></el-input>  

        </el-form-item></el-col>  

      </el-row>  

      <el-row>  

        <el-col  :span="2" :offset="3">  

            <el-button type="primary"  style="width:100%" @click="login" >登录</el-button>  

         </el-col>  

      </el-row>  

    </el-form>  

    </div>  

</template>  

<script>  

import VueRouter from 'vue-router'

  export default {  

    data() {  

      return {  

        form: {  

          name: 'hgf',  

          password:'123456'  

        }  

      }  

    },

 

    methods : {  

        //登录成功了,就修改URL,然后就会进行跳转到指定的页面

        login : function () {  

          this.$router.push({path:'/test'});  

        }  

    }  

  }  

</script>  

<style >  

</style>  

TestView.vue ,点击登录之后我们就跳转到这个页面

<template>

  <el-row>

  <el-button>默认按钮</el-button>

  <el-button type="primary" ">主要按钮</el-button>

  <el-button type="success">成功按钮</el-button>

  <el-button type="info">信息按钮</el-button>

  <el-button type="warning">警告按钮</el-button>

  <el-button type="danger">危险按钮</el-button>

</el-row>

</template>

 4.修改router/index.js文件

5.修改App.vue文件

6.启动项目 npm run serve

如果有以下问题

去vue.config.js文件中添加以下代码,然后重新启动

module.exports = {

  lintOnSave:false,

}

7.访问链接

登录

8.引入axios,发送请求,与后端交互

8.1 在终端下载插件

npm install axios

 

9.在src下创建axiosFun.js和userMG.js文件

axiosFun.js(封装方法)

import axios from 'axios';

const req = (method, url, params) => {

    return axios({

        method: method,

        url: url,

        data: params,

        headers: {

            'Content-Type': 'application/json'

        },

        traditional: true,

    }).then(res => res.data);

};

export {req};

 userMG.js(用户模块的方法)

import { req } from "./axiosFun";

export const testAxios = (params) => req('post', '/api/testAxios', params)

10.修改Login.vue

10.1.引入userMG.js

10.2.修改登录方法

login : function () {

            testAxios(this.form).then(

                res => {

                   if (res.success) {

                        this.$router.push({path : '/test'});

                   }else {

                         this.$message.error(res.msg);

                   }

                }

            )

        }  

11.访问项目,点击登录,它会发起一个请求

至此前端全部写完 

后端

1.创建springboot项目

1.创建

 

 

 2.结果集统一封装

直接去这个地址拷贝代码:【java】使用springMVC优雅的响应数据-CSDN博客

3.创建实体User

 

public class User {
    private String name;
    private String password;

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

 4.构建控制器

@RestController
@RequestMapping("/api/")
public class TestController {
    private String name = "keep";
    private String password = "123456";

    @PostMapping("/testAxios")
    public R test(@RequestBody User user) {
        if (name.equals(user.getName()) && password.equals(user.getPassword())) {
            return R.status(true);
        }else {
            return R.fail("账号或密码错误");
        }
    }
}

5.由于我们前端项目启动占用了8080端口,所以需要去修改服务器的端口才可以启动

server.port=8081

2.启动项目

我启动项目遇到两个问题

1.springboot版本不支持

解决:在pom修改版本

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.7.13-SNAPSHOT</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

2.选择了java17运行不了

解决:在pom中加入 以下代码

<properties>
   <java.version>8</java.version>
</properties>

 启动并访问我们的接口

至此后端就写完了 

前后端交互

1.前端发送请求的端口是8080,后端接收请求的是8081,它们是不通的,所以要进行反向代理。

vue.config.js文件

proxy: {

      '/api': {

        target: 'http://localhost:8081/',

        changeOrigin: true,

        pathRewrite: { // 路径重写,

          '^/api': '/api' // 替换target中的请求地址,也就是说以后你在请求http://api.jisuapi.com/XXXXX这个地址的时候直接写成/api即可。

      }

      }

    }

2.重启前端项目,并访问

 

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Vue3和Spring Boot是两种不同的技术,用于前后端分离项目开发Vue3是一种现代化的JavaScript框架,用于构建用户界面。它提供了诸多强大的工具和功能,使开发人员能够快速构建响应式的单页面应用。Vue3具有更高的性能和更好的可维护性,同时还引入了一些新的特性,如Composition API和Teleport等,使开发更加便捷。 Spring Boot是一种用于构建Java后端应用的框架。它提供了一套简化的开发流程,可以快速搭建和配置项目,并提供了丰富的功能来处理数据、安全性和其他常见的后端需求。Spring Boot采用了约定优于配置的原则,使得开发人员可以专注于业务逻辑的实现。 在前后端分离项目中,可以通过Vue3来开发前端应用,通过发送HTTP请求来与后端进行通信。后端使用Spring Boot来处理这些请求,处理业务逻辑,并将结果返回给前端。前后端的通信可以使用JSON等数据格式进行交互。 前后端分离项目的优点是可以实现前后端职责的解耦,提高开发效率和可维护性。前端可以专注于用户界面的设计和交互逻辑,后端可以专注于业务逻辑的处理和数据的存储。同时,前后端可以同时进行开发,加快项目的上线速度。 总结来说,使用Vue3和Spring Boot进行前后端分离项目开发,可以使开发人员能够充分发挥各自的优势,提高开发效率和项目的可维护性。同时,前后端分离项目也能够更好地适应现代化的软件开发需求,提供更好的用户体验和性能。 ### 回答2: Vue3 Spring Boot前后端分离项目是将前端和后端的开发分为两个独立的团队,分别负责开发前端和后端模块,最后通过接口进行数据的交互和通信。 Vue3是一种新一代的JavaScript框架,用于构建用户界面。它建立在Vue.js的基础上,在性能和开发体验上进行了改进。Vue3使用了Composition API,提供了更灵活、可重用和可组合的代码结构,可以更好地管理组件逻辑。 Spring Boot是一个基于Java开发框架,用于构建独立的、可扩展的和生产就绪的后端应用程序。它大大简化了Java后端的开发流程,提供了自动化配置和快速开发的特性。 在Vue3 Spring Boot前后端分离项目中,前端团队使用Vue3构建用户界面,实现展示数据和交互逻辑。后端团队使用Spring Boot开发RESTful接口,处理前端的请求并进行数据处理和存储。前后端通过接口进行通信,前端发送请求给后端,后端返回相应的数据给前端。 前后端分离项目的好处是可以实现前后端的解耦,各自团队可以专注于自己的领域,提高开发效率和协作效果。同时,前后端分离项目也可以使得前端和后端可以独立部署和升级,提高了系统的可维护性和扩展性。 总之,Vue3 Spring Boot前后端分离项目通过利用Vue3和Spring Boot的优势,实现前后端独立开发和交互,提供了更好的开发体验和协作效果。 ### 回答3: Vue3 是一种流行的前端开发框架,而Spring Boot 是一种常用的后端开发框架。在前后端分离的项目中使用 Vue3 和 Spring Boot 可以实现前后端分离的架构。 在这种架构中,前端和后端是独立开发和部署的,彼此通过 RESTful API 进行通信。前端使用 Vue3 来构建用户界面,处理用户交互,并向后端发送请求。后端使用 Spring Boot 来处理请求,执行业务逻辑,并返回相应的数据给前端。 Vue3 提供了强大的数据绑定和组件化的功能,可以方便地构建用户界面,并实现丰富的用户交互。它还提供了一些有用的工具和插件,例如 Vue Router 和 Vuex,用于路由管理和状态管理。通过使用这些功能,我们可以更好地组织和管理前端代码。 Spring Boot 是一个快速开发和部署的框架,它提供了很多现成的功能和插件,使后端开发更加高效。使用 Spring Boot,我们可以很方便地定义 RESTful API,处理请求和返回响应。它还提供了许多有用的功能,例如数据库访问、安全认证和日志记录。 在 Vue3 和 Spring Boot 的配合下,我们可以实现前后端分离的开发模式,提高开发效率和代码质量。前端和后端开发人员可以并行工作,互不干扰。同时,前后端分离的架构也能为项目带来更好的可维护性和可扩展性。因此,Vue3 和 Spring Boot 的组合是一个理想的选择,用于构建现代化的前后端分离项目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值