国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能

這篇具有很好參考價值的文章主要介紹了Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、實(shí)戰(zhàn)概述

  • 該實(shí)戰(zhàn)教程旨在指導(dǎo)開發(fā)者通過前后端分離的方式,搭建一個結(jié)合Vue.js前端框架和Spring Boot后端框架的登錄系統(tǒng)。首先,從創(chuàng)建前端項(xiàng)目開始,利用Vue CLI快速生成項(xiàng)目結(jié)構(gòu),安裝axios以實(shí)現(xiàn)HTTP請求功能,vue-router處理路由導(dǎo)航,less與less-loader用于樣式預(yù)處理增強(qiáng)前端開發(fā)體驗(yàn)。完成基礎(chǔ)設(shè)置后,開發(fā)者在IDEA中打開并繼續(xù)構(gòu)建前端頁面,分別創(chuàng)建登錄組件、首頁組件以及配置路由視圖。編寫應(yīng)用根組件,并設(shè)置主入口腳本,同時為解決跨域問題設(shè)置了反向代理。

  • 接著進(jìn)行后端項(xiàng)目的搭建,創(chuàng)建Spring Boot應(yīng)用,配置服務(wù)器運(yùn)行端口號,并啟動服務(wù)確保能訪問到后端首頁。然后,為后端設(shè)計(jì)數(shù)據(jù)模型,創(chuàng)建用戶實(shí)體類和結(jié)果實(shí)體類,以便于業(yè)務(wù)邏輯處理。最后,開發(fā)登錄控制器以對接前端發(fā)送的登錄請求。

  • 整合測試階段,分別啟動前端login-vue項(xiàng)目和后端LoginDemo項(xiàng)目,前端調(diào)用后端接口進(jìn)行登錄驗(yàn)證,確保用戶登錄功能正常運(yùn)作。此實(shí)戰(zhàn)涵蓋了項(xiàng)目初始化、模塊安裝、組件開發(fā)、路由配置、實(shí)體類設(shè)計(jì)、控制器編寫及跨域解決方案等關(guān)鍵環(huán)節(jié),有助于開發(fā)者理解和實(shí)踐前后端交互開發(fā)流程。

二、實(shí)戰(zhàn)步驟?

(一)創(chuàng)建前端項(xiàng)目 - login-vue

  • 查看Node和npm版本
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
  • 安裝vue腳手架,執(zhí)行命令:nmp install -g @vue/cli
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

1、創(chuàng)建Vue項(xiàng)目

  • 在命令行窗口里執(zhí)行命令:vue create login-vue,選擇Default ([Vue 3] babel, eslint)
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

2、安裝axios模塊

  • Axios 是一款基于Promise的JavaScript庫,主要用于瀏覽器和Node.js環(huán)境,提供了一種簡單、高效的方式來處理前端與后端API之間的HTTP通信。它支持創(chuàng)建和發(fā)送GET、POST等多種HTTP請求,可處理JSON數(shù)據(jù)自動轉(zhuǎn)換,并具有攔截請求/響應(yīng)、取消請求、設(shè)置超時等功能。 Axios遵循Promise API設(shè)計(jì),易于理解和使用,廣泛應(yīng)用于現(xiàn)代Web項(xiàng)目中進(jìn)行異步數(shù)據(jù)交互。
  • 進(jìn)入login-vue目錄,執(zhí)行命令:npm install axios --save
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

3、安裝vue-router模塊

  • Vue Router是Vue.js官方的路由管理器,它通過將SPA(單頁應(yīng)用)的頁面切分成多個組件,并實(shí)現(xiàn)了URL與組件間的映射關(guān)系。在Vue項(xiàng)目中,通過定義路由規(guī)則和嵌套路由,Vue Router能夠?qū)崿F(xiàn)視圖與URL的同步切換,提供前端路由功能,支持動態(tài)路由、導(dǎo)航守衛(wèi)等功能,為構(gòu)建復(fù)雜單頁應(yīng)用提供了便捷的支持。
  • 執(zhí)行命令:npm install vue-router@4 --save
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

4、安裝less和less-loader模塊

  • Less是一種CSS預(yù)處理器,通過擴(kuò)展CSS語法提供變量、嵌套規(guī)則、混合、函數(shù)等高級特性,使得樣式編寫更高效、模塊化和易于維護(hù)。less-loader則是Webpack的一個加載器,用于將Less文件編譯成瀏覽器可識別的CSS代碼。在Vue項(xiàng)目中安裝并配置less和less-loader后,即可在.vue文件或獨(dú)立.less文件中編寫Less代碼,并在構(gòu)建過程中自動轉(zhuǎn)化為CSS樣式。
  • 執(zhí)行命令:npm install --save-dev less less-loader
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

5、運(yùn)行Vue項(xiàng)目

  • 執(zhí)行命令:npm run serve
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
  • 給出訪問應(yīng)用的網(wǎng)址
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

6、在瀏覽器里訪問首頁

  • 訪問http://local:8080
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

7、在IDEA里打開Vue項(xiàng)目

  • 打開Vue項(xiàng)目 - login-vue
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

8、創(chuàng)建登錄Vue組件

  • src/components目錄里,刪除HelloWorld.vue組件,創(chuàng)建LoginView.vue組件
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
<template>
  <table class="login-table" border="0" cellpadding="10">
    <tr>
      <td align="center">用戶名</td>
      <td><input id='username' type="text" v-model="username" placeholder="請輸入用戶名"/></td>
    </tr>
    <tr>
      <td align="center">&nbsp;&nbsp;&nbsp;&nbsp;</td>
      <td><input id='password' type="password" v-model="password" placeholder="請輸入密碼"/></td>
    </tr>
    <tr align="center">
      <td colspan="2">
        <button @click="handleLogin">登錄</button>
      </td>
    </tr>
  </table>
</template>

<script setup>
import {ref} from 'vue';
import {useRouter} from 'vue-router';
import axios from "axios";

const router = useRouter();
const username = ref('');
const password = ref('');

async function handleLogin() {
  try {
    const response = await axios.post('/api/login', {username: username.value, password: password.value});
    console.log(response.data.code)
    if (response.data.code === 200) {
      router.replace('/index'); // 使用后端返回的路徑
    } else if (response.data.code === 400) {
      alert('用戶名或密碼錯誤!請重新登錄!');
      username.value = '';
      password.value = '';
      document.getElementById('username').focus();
    }
  } catch (error) {
    console.error("Error during login:", error.message); // 添加錯誤處理,打印錯誤信息
  }
}
</script>

<style lang="less" scoped>
/* 重置table樣式 */
.login-table {
  width: 100%;
  max-width: 300px;
  margin: 50px auto;
  border-collapse: collapse;
  border-spacing: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.login-table td {
  padding-bottom: 16px;
  padding-top: 16px;
  padding-right: 0px;
  padding-right: 8px;
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #ddd;
}

.login-table input[type="text"],
.login-table input[type="password"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  outline: none;
  box-sizing: border-box;
}

.login-table button {
  display: block;
  width: 100%;
  padding: 12px;
  background-color: #007bff;
  color: white;
  font-size: 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;

  &:hover,
  &:focus {
    background-color: #0056b3;
  }
}
</style>
  • 代碼創(chuàng)建了一個登錄表單,使用Vue響應(yīng)式數(shù)據(jù)綁定用戶輸入,并在點(diǎn)擊登錄按鈕時通過axios發(fā)送POST請求。根據(jù)后端返回的code進(jìn)行判斷:200則跳轉(zhuǎn)至/index頁面,400則提示錯誤并清空密碼重置焦點(diǎn)。同時定義了簡潔的登錄界面樣式。

9、創(chuàng)建首頁Vue組件

  • src/components里創(chuàng)建IndexView.vue組件
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
<template>
  <div class="welcome-container">
    Welcome to Vue 3 World~
  </div>
</template>

<script>
export default {
  name: "IndexView"
}
</script>

<style scoped>
.welcome-container {
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #f5f5f5;
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
  color: red;
  font-weight: bold;
  font-size: 30px;
}
</style>
  • 該代碼定義了一個Vue組件IndexView,渲染一個居中顯示的歡迎信息框,樣式包括內(nèi)邊距、邊框、背景色等,并通過CSS設(shè)置了自動水平居中布局及字體樣式。

10、創(chuàng)建路由視圖

  • src里創(chuàng)建router目錄,在router目錄里創(chuàng)建index.js腳本
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
// 引入Vue3以及新的vue-router
import { createRouter, createWebHistory } from 'vue-router';
import Login from '@/components/LoginView.vue';
import Index from "@/components/IndexView.vue";

// 定義路由
const routes = [
  {
    path: '/login',
    name: 'LoginView',
    component: Login
  },
  {
    path: '/index',
    name: 'IndexView',
    component: Index
  }
];

// 創(chuàng)建路由器實(shí)例
const router = createRouter({
  history: createWebHistory(),
  routes,
});

// 導(dǎo)出全局注冊
export default router;
  • 該代碼引入Vue Router并定義了登錄和首頁兩個路由,使用createRouter創(chuàng)建路由器實(shí)例,配置history模式,并導(dǎo)出用于全局注冊。

11、編寫應(yīng)用根組件

  • 應(yīng)用Vue組件 - App.vue是 Vue.js 應(yīng)用程序的根組件,負(fù)責(zé)整個應(yīng)用的布局與整體結(jié)構(gòu),所有其他組件在其內(nèi)部組織和渲染。
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <router-view />
  </div>
</template>

<script>
</script>

<style lang="less">
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
</style>
  • 此代碼為Vue應(yīng)用的根組件(App.vue),包含一個logo圖片和動態(tài)路由視圖(<router-view/>)。樣式設(shè)置字體、抗鋸齒及居中對齊。

12、編寫主入口腳本

  • main.js是Vue應(yīng)用的主入口腳本,負(fù)責(zé)初始化Vue應(yīng)用實(shí)例、注冊全局組件與插件(如路由、狀態(tài)管理等),并掛載到DOM指定元素。
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
// 導(dǎo)入Vue3的核心API,用于創(chuàng)建Vue應(yīng)用實(shí)例
import {createApp} from 'vue';

// 導(dǎo)入根組件App.vue,它是整個應(yīng)用程序的主視圖模板
import App from './App.vue';

// 導(dǎo)入已配置好的路由模塊(index.js或router.ts等),它管理著應(yīng)用內(nèi)的頁面跳轉(zhuǎn)邏輯
import router from "@/router";

// 使用createApp方法創(chuàng)建一個Vue應(yīng)用實(shí)例,并注冊全局路由配置
const app = createApp(App).use(router);

// 將Vue應(yīng)用掛載到HTML文檔中id為'app'的元素上
// 這將把整個應(yīng)用程序渲染到這個DOM元素內(nèi)部
app.mount('#app');
  • 該代碼導(dǎo)入Vue3核心API創(chuàng)建應(yīng)用實(shí)例,引入根組件與路由配置,通過createApp初始化應(yīng)用并注冊路由,最后將整個應(yīng)用掛載到DOM中id為’app’的元素上。

13、設(shè)置反向代理和跨域支持

  • 修改vue.config.js代碼,設(shè)置反向代理和跨域支持
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
module.exports = {
  // 設(shè)置在保存文件時禁用ESLint自動檢查
  lintOnSave: false,

  // 配置Vue開發(fā)服務(wù)器相關(guān)選項(xiàng)
  devServer: {
    // 配置HTTP代理,以便在開發(fā)過程中將特定請求轉(zhuǎn)發(fā)到其他服務(wù)器
    proxy: {
      // 當(dāng)請求以 '/api' 開頭時進(jìn)行代理
      '/api': {
        // 指定目標(biāo)服務(wù)器地址(例如后臺API接口)
        target: 'http://localhost:8888',
        
        // 設(shè)置為true,允許跨域請求時重寫源信息(Origin header)
        changeOrigin: true,

        // 路徑重寫規(guī)則,將前端應(yīng)用中'/api'前綴去掉,映射到后端服務(wù)器的實(shí)際路徑上
        pathRewrite: { '^/api': '' },
      }
    }
  }
}
  • 這段代碼配置了Vue項(xiàng)目在開發(fā)環(huán)境下的行為:禁用了文件保存時的ESLint檢查,并設(shè)置了一個開發(fā)服務(wù)器的代理服務(wù)。當(dāng)開發(fā)環(huán)境中前端應(yīng)用發(fā)起對/api開頭的請求時,該請求會被代理至http://localhost:8888服務(wù)器,并通過pathRewrite規(guī)則進(jìn)行路徑重寫,解決前后端分離開發(fā)中的跨域問題。

14、訪問登錄頁面

  • 啟動Vue項(xiàng)目,訪問http://localhost:8080/login
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

(二)創(chuàng)建后端項(xiàng)目 - LoginDemo

1、創(chuàng)建Spring Boot項(xiàng)目

  • 設(shè)置項(xiàng)目名稱 LoginDemo、保存位置、語言、類型、組標(biāo)識、構(gòu)件名、包名、JDK版本、Java語言級、打包類型
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

  • 單擊【Next】按鈕,在彈出的對話框里選擇Spring Boot版本,添加項(xiàng)目相關(guān)依賴
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

  • 單擊【Create】按鈕,得到初始化項(xiàng)目
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

2、配置服務(wù)器端口號

  • 在前端項(xiàng)目里配置了目標(biāo)服務(wù)器地址,端口是8888
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

  • 在應(yīng)用屬性文件application.properties里配置服務(wù)器端口號
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

3、啟動應(yīng)用,訪問首頁

  • resources目錄里創(chuàng)建首頁index.html
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首頁</title>
</head>
<body>
    <h3 style="text-align: center; color: red">Welcome to Spring Boot World~</h3>
</body>
</html>
  • 修改入口程序LoginDemoApplication代碼
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
  • 啟動應(yīng)用程序,在瀏覽器里訪問http://localhost:8888,查看結(jié)果
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

4、創(chuàng)建用戶實(shí)體類

  • 創(chuàng)建bean子包,在子包里創(chuàng)建User
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
package net.huawei.login.bean;

/**
 * 功能:用戶實(shí)體類
 * 作者:華衛(wèi)
 * 日期:2024年01月14日
 */
public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

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

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

5、創(chuàng)建結(jié)果實(shí)體類

  • 創(chuàng)建result子包,在子包里創(chuàng)建Result類,封裝響應(yīng)碼
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
package net.huawei.login.result;

/**
 * 功能:結(jié)果實(shí)體類
 * 作者:華衛(wèi)
 * 日期:2024年01月14日
 */
public class Result {
    private int code;

    public Result(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }
}
  • 該Java類為結(jié)果實(shí)體,包含一個表示狀態(tài)碼的整型變量code,通過構(gòu)造函數(shù)初始化,并提供getter/setter方法,用于處理服務(wù)端響應(yīng)的狀態(tài)信息。

6、創(chuàng)建登錄控制器

  • 創(chuàng)建controller子包,在子包里創(chuàng)建LoginController
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄
package net.huawei.login.controller;

import net.huawei.login.bean.User;
import net.huawei.login.result.Result;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.util.HtmlUtils;

/**
 * 功能:登錄控制器
 * 作者:華衛(wèi)
 * 日期:2024年01月14日
 */
@Controller
public class LoginController {
    @CrossOrigin
    @PostMapping(value = "api/login")
    @ResponseBody
    public Result login(@RequestBody User requestUser) {
        // 獲取用戶名和密碼
        String username = requestUser.getUsername();
        String password = requestUser.getPassword();
        // 對html標(biāo)簽進(jìn)行轉(zhuǎn)義,防止XSS攻擊
        username = HtmlUtils.htmlEscape(username);
        // 判斷登錄是否成功
        if (username.equals("無心劍") && password.equals("903213")) {
            return new Result(200);
        } else {
            System.out.println("用戶名或密碼有誤!");
            return new Result(400);
        }
    }
}
  • 該Java控制器處理登錄請求,接收并校驗(yàn)用戶提交的用戶名密碼,進(jìn)行XSS防護(hù),并根據(jù)預(yù)設(shè)數(shù)據(jù)判斷登錄是否成功,返回包含狀態(tài)碼的結(jié)果實(shí)體。

(三)前后端整合測試

1、啟動前端項(xiàng)目 - login-vue

  • 在前端項(xiàng)目的目錄里執(zhí)行命令:npm run serve
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

2、啟動后端項(xiàng)目 - LoginDemo

  • 啟動入口類LoginDemoApplication
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

3、測試用戶登錄功能

  • 訪問http://localhost:8080/login登錄頁面
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

  • 如果輸入的用戶名或密碼有誤,彈出消息框提示用戶
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

  • 輸入正確的用戶名或密碼(無心劍 :903213)
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

  • 單擊【登錄】按鈕,跳轉(zhuǎn)到首頁
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄

  • 操作錄屏演示
    Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,用戶登錄文章來源地址http://www.zghlxwxcb.cn/news/detail-795758.html

三、實(shí)戰(zhàn)總結(jié)

  • 該實(shí)戰(zhàn)通過前后端分離方式,構(gòu)建基于Vue.js與Spring Boot的登錄系統(tǒng)。前端完成項(xiàng)目創(chuàng)建、頁面組件開發(fā)和路由配置;后端搭建Spring Boot服務(wù),設(shè)計(jì)實(shí)體類并實(shí)現(xiàn)登錄控制器。整合階段測試用戶登錄功能,確保前后端交互正常。

到了這里,關(guān)于Spring Boot 3 + Vue 3實(shí)戰(zhàn):實(shí)現(xiàn)用戶登錄功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • spring boot3登錄開發(fā)-微信小程序用戶登錄設(shè)計(jì)與實(shí)現(xiàn)

    spring boot3登錄開發(fā)-微信小程序用戶登錄設(shè)計(jì)與實(shí)現(xiàn)

    ? ??個人主頁:? ? ?蒾酒 ??系列專欄:《spring boot實(shí)戰(zhàn)》 ??山高路遠(yuǎn),行路漫漫,終有歸途 目錄 寫在前面 登錄流程 流程解析 具體實(shí)現(xiàn) 相關(guān)代碼 說明 服務(wù)端 小程序端 寫在最后 本文介紹了springboot開發(fā)微信小程序后端服務(wù)中,用戶登錄功能的設(shè)計(jì)與實(shí)現(xiàn),堅(jiān)持看完相信

    2024年03月18日
    瀏覽(96)
  • Android前端+Spring Boot后端 登錄功能實(shí)現(xiàn)

    Android前端+Spring Boot后端 登錄功能實(shí)現(xiàn)

    創(chuàng)建項(xiàng)目后,自己添加包,框架如下 ? userController里的一些內(nèi)容,只供參考,代碼不全,無法實(shí)現(xiàn) 數(shù)據(jù)庫是直接在社區(qū)版IDEA里連接Mysql,在控制臺端創(chuàng)建的數(shù)據(jù)庫和user表,用于數(shù)據(jù)交互。 Activity包里是Activity Java類,主要響應(yīng)layout包里activity_login.xml等頁面布局內(nèi)的按鈕響應(yīng) a

    2024年02月12日
    瀏覽(23)
  • 【項(xiàng)目實(shí)戰(zhàn)】一、Spring boot整合JWT、Vue案例展示用戶鑒權(quán)

    【項(xiàng)目實(shí)戰(zhàn)】Spring boot整合JWT、Vue案例展示用戶鑒權(quán) 【微服務(wù)實(shí)戰(zhàn)】JWT

    2024年02月09日
    瀏覽(20)
  • Spring Boot 實(shí)現(xiàn)審核功能,實(shí)戰(zhàn)來了!

    Spring Boot 實(shí)現(xiàn)審核功能,實(shí)戰(zhàn)來了!

    1、普通 方案 :經(jīng)辦時入A表,審核后從A表讀取數(shù)據(jù),然后操作目標(biāo)B表; 優(yōu)勢 :思路簡單 劣勢 :對后端功能實(shí)行高度的嵌入;審核功能數(shù)據(jù)操作不統(tǒng)一 2、彈框式 方案 :前臺實(shí)現(xiàn),操作時判斷是否需要權(quán)限控制,如果需要,則彈出框,由審核人員進(jìn)行審核,審核通過后,

    2024年02月08日
    瀏覽(20)
  • spring boot中常用的安全框架 Security框架 利用Security框架實(shí)現(xiàn)用戶登錄驗(yàn)證token和用戶授權(quán)(接口權(quán)限控制)

    spring boot中常用的安全框架 Security框架 利用Security框架實(shí)現(xiàn)用戶登錄驗(yàn)證token和用戶授權(quán)(接口權(quán)限控制)

    spring boot中常用的安全框架 Security 和 Shiro 框架 Security 兩大核心功能 認(rèn)證 和 授權(quán) 重量級 Shiro 輕量級框架 不限于web 開發(fā) 在不使用安全框架的時候 一般我們利用過濾器和 aop自己實(shí)現(xiàn) 權(quán)限驗(yàn)證 用戶登錄 Security 實(shí)現(xiàn)邏輯 輸入用戶名和密碼 提交 把提交用戶名和密碼封裝對象

    2024年02月06日
    瀏覽(31)
  • Spring Boot + Vue的網(wǎng)上商城之springsecurity+jwt+redis實(shí)現(xiàn)用戶權(quán)限認(rèn)證實(shí)現(xiàn)

    在網(wǎng)上商城項(xiàng)目中,用戶的安全性是非常重要的。為了實(shí)現(xiàn)用戶權(quán)限認(rèn)證和安全校驗(yàn),我們可以使用Spring Security、JWT和Redis來實(shí)現(xiàn)。本篇博客將詳細(xì)介紹后端和前臺的實(shí)現(xiàn)過程,并提供相應(yīng)的代碼案例。 當(dāng)用戶點(diǎn)擊登錄按鈕時,前端發(fā)送一個POST請求到后端的登錄接口,傳遞用

    2024年02月07日
    瀏覽(22)
  • Spring Boot + Vue的網(wǎng)上商城之基于用戶的協(xié)同過濾的商品推薦實(shí)現(xiàn)

    協(xié)同過濾算法設(shè)計(jì)思路 構(gòu)建用戶-商品評分矩陣:將用戶的購買行為和評價記錄轉(zhuǎn)化為一個用戶-商品評分矩陣,矩陣中的每個元素表示用戶對商品的評分。 計(jì)算用戶之間的相似度:通過計(jì)算用戶之間的相似度,找出與目標(biāo)用戶相似的其他用戶。 預(yù)測目標(biāo)用戶對未購買商品的

    2024年02月08日
    瀏覽(27)
  • 【Spring Boot】社交網(wǎng)站中驗(yàn)證用戶登錄的checkUser方法

    這段代碼是UserService類中的checkUser方法,用于驗(yàn)證用戶登錄。具體解釋如下: 方法簽名:public boolean checkUser(User user) 參數(shù):User user,表示用戶實(shí)體對象,包含用戶名和密碼 返回值:boolean類型,表示驗(yàn)證結(jié)果,true表示驗(yàn)證通過,false表示驗(yàn)證失敗 邏輯:首先根據(jù)用戶輸入的用

    2024年02月11日
    瀏覽(18)
  • Redis實(shí)戰(zhàn) | 使用Redis 的有序集合(Sorted Set)實(shí)現(xiàn)排行榜功能,和Spring Boot集成

    Redis實(shí)戰(zhàn) | 使用Redis 的有序集合(Sorted Set)實(shí)現(xiàn)排行榜功能,和Spring Boot集成

    專欄集錦,大佬們可以收藏以備不時之需 Spring Cloud實(shí)戰(zhàn)專欄:https://blog.csdn.net/superdangbo/category_9270827.html Python 實(shí)戰(zhàn)專欄:https://blog.csdn.net/superdangbo/category_9271194.html Logback 詳解專欄:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow專欄:https://blog.csdn.net/superdangbo/category_869

    2024年02月05日
    瀏覽(35)
  • Spring Boot快速搭建一個簡易商城項(xiàng)目【完成登錄功能且優(yōu)化】

    Spring Boot快速搭建一個簡易商城項(xiàng)目【完成登錄功能且優(yōu)化】

    未優(yōu)化做簡單的判斷: 優(yōu)化:返回的是json的格式 GlobalExceptionHandler 這里為啥要寫這兩個類: 理解:編寫 GlobalExceptionHandler 類可以集中處理應(yīng)用程序中的各種異常,提高代碼的可維護(hù)性,同時簡化了代碼 實(shí)體:使用注解 拋一個異常: 報(bào)錯信息: 這個是時候錯誤已經(jīng)該變:

    2024年01月22日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包