赞
踩
目录
这个可以根据下面这篇文章完成http://t.csdn.cn/B7K00
搭建好vue项目之后先使用npm install axios指令安装axios,然后在用到axios的地方引入即可
npm install axios
修改router文件夹下面的index.js如下
- import Vue from 'vue'
- import VueRouter from 'vue-router'
- import HomeView from '../views/HomeView.vue'
- import login from "@/views/login";
-
- Vue.use(VueRouter)
-
- const routes = [
- {
- path: '/',
- name: 'login',
- component: login
- },
- {
- path: '/home',
- name: 'home',
- component: HomeView
- },
- {
- path: '/about',
- name: 'about',
- // route level code-splitting
- // this generates a separate chunk (about.[hash].js) for this route
- // which is lazy-loaded when the route is visited.
- component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
- }
- ]
-
- const router = new VueRouter({
- mode: 'history',
- base: process.env.BASE_URL,
- routes
- })
-
- export default router

- import Vue from 'vue'
- import VueRouter from 'vue-router'
- import HomeView from '../views/HomeView.vue'
- import login from "@/views/login";
-
- Vue.use(VueRouter)
-
- const routes = [
- {
- path: '/',
- name: 'login',
- component: login
- },
- {
- path: '/home',
- name: 'home',
- component: HomeView
- },
- {
- path: '/about',
- name: 'about',
- // route level code-splitting
- // this generates a separate chunk (about.[hash].js) for this route
- // which is lazy-loaded when the route is visited.
- component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
- }
- ]
-
- const router = new VueRouter({
- mode: 'history',
- base: process.env.BASE_URL,
- routes
- })
-
- export default router

- <template>
- <div class="login">
- <div class="mylogin" align="center">
- <el-button onclick="location.href='./public/bigdata/index.html'">跳转</el-button>
- <h4>登录</h4>
- <el-form
- :model="loginForm"
- :rules="loginRules"
- ref="loginForm"
- label-width="0px"
- >
- <el-form-item label="" prop="account" style="margin-top: 10px">
- <el-row>
- <el-col :span="2">
- <span class="el-icon-s-custom"></span>
- </el-col>
- <el-col :span="22">
- <el-input
- class="inps"
- placeholder="账号"
- v-model="loginForm.account"
- >
- </el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item label="" prop="passWord">
- <el-row>
- <el-col :span="2">
- <span class="el-icon-lock"></span>
- </el-col>
- <el-col :span="22">
- <el-input
- class="inps"
- type="password"
- placeholder="密码"
- v-model="loginForm.passWord"
- ></el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item style="margin-top: 55px">
- <el-button type="primary" round class="submitBtn" @click="submitForm"
- >登录
- </el-button>
- </el-form-item>
- <div class="unlogin">
- <router-link :to="{ path: '/forgetpwd' }"> 忘记密码? </router-link>
- |
- <router-link :to="{ path: '/register' }">
- <a href="register.vue" target="_blank" align="right">注册新账号</a>
- </router-link>
- </div>
- </el-form>
- </div>
- </div>
- </template>
- <script>
- import { mapMutations } from "vuex";
-
- export default {
- name: "Login",
- data: function () {
- return {
- loginForm: {
- account: "",
- passWord: "",
- },
- loginRules: {
- account: [{ required: true, message: "请输入账号", trigger: "blur" }],
- passWord: [{ required: true, message: "请输入密码", trigger: "blur" }],
- },
- };
- },
-
- methods: {
- ...mapMutations(["changeLogin"]),
- submitForm() {
- const userAccount = this.loginForm.account;
- const userPassword = this.loginForm.passWord;
- if(userAccount==='admin'&&userPassword==='123456'){
- this.$router.push('/home');
- }
- else{
- alert('账号或密码错误')
- }
- // if (!userAccount) {
- // return this.$message({
- // type: "error",
- // message: "账号不能为空!",
- // });
- // }
- // if (!userPassword) {
- // return this.$message({
- // type: "error",
- // message: "密码不能为空!",
- // });
- // }
- console.log("用户输入的账号为:", userAccount);
- console.log("用户输入的密码为:", userPassword);
-
- },
- },
- };
- </script>
- <style>
- .login {
-
- height: 100vh;
- background-image: linear-gradient(to bottom right, #3F5EFB, #42b983);
- overflow: hidden;
-
- width: 100vw;
- padding: 0;
- margin: 0;
-
- font-size: 16px;
- background-position: left top;
- background-color: #242645;
- color: #fff;
-
- position: relative;
- }
-
- .mylogin {
- width: 240px;
- height: 280px;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- margin: auto;
- padding: 50px 40px 40px 40px;
- box-shadow: -15px 15px 15px rgba(6, 17, 47, 0.7);
- opacity: 1;
- background: linear-gradient(
- 230deg,
- rgba(53, 57, 74, 0) 0%,
- rgb(0, 0, 0) 100%
- );
- }
-
- .inps input {
- border: none;
- color: #fff;
- background-color: transparent;
- font-size: 12px;
- }
-
- .submitBtn {
- background-color: transparent;
- color: #39f;
- width: 200px;
- }
- </style>

- <template>
- <div id="app">
- <router-view/>
- </div>
- </template>
在终端输入指令npm run serve运行vue项目,点击生成的链接即可
然后输入账号和密码进行登录(账号:admin密码123456),登录后进入主页面
接着我们搭建后端项目,总体结构如图
首先新建一个springboot工程
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.7.8</version>
- <relativePath/> <!-- lookup parent from repository -->
- </parent>
- <groupId>com.example</groupId>
- <artifactId>springbootvue</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <name>springbootvue</name>
- <description>Demo project for Spring Boot</description>
- <properties>
- <java.version>1.8</java.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>2.2.1</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
- </dependency>
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-core</artifactId>
- <version>3.5.3</version>
- </dependency>
- </dependencies>
-
- <build>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-
- </project>

application.yml文件(初始文件是application.properties,将其改为application.yml)
- spring:
- datasource:
- username: root
- password: root
- url: jdbc:mysql://localhost:3306/student?allowMultiQueries=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
- driver-class-name: com.mysql.cj.jdbc.Driver
- server:
- port:
- 8181
- mybatis:
- type-aliases-package: com.example.springbootvue.entity
- mapper-locations: classpath:mapper/*.xml
- package com.example.springbootvue.controller;
-
- import com.example.springbootvue.entity.user;
- import com.example.springbootvue.service.UserService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- import java.util.List;
-
- @RestController
- @RequestMapping("/user")
- public class UserController {
-
- @Autowired
- UserService userService;
- @GetMapping("/findAll")
- public List<user> findAll() {
- return userService.queryuserList();
- }
- }

- package com.example.springbootvue.entity;
-
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
-
- @Data
- @NoArgsConstructor
- @AllArgsConstructor
- public class user {
- private Integer id;
- private String username;
- private String password;
- }
- package com.example.springbootvue.mapper;
-
- import com.example.springbootvue.entity.user;
- import org.apache.ibatis.annotations.Mapper;
- import org.springframework.stereotype.Repository;
-
- import java.util.List;
-
- @Mapper
- @Repository
- public interface UserMapper {
- public List<user> queryuserList();
- }
- package com.example.springbootvue.service;
-
- import com.example.springbootvue.entity.user;
-
- import java.util.List;
-
- public interface UserService {
- public List<user> queryuserList();
- }
- package com.example.springbootvue.service;
-
- import com.example.springbootvue.entity.user;
- import com.example.springbootvue.mapper.UserMapper;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
-
- import java.util.List;
-
- @Service
- public class UserServiceImpl implements UserService{
-
- @Autowired
- UserMapper userMapper;
-
- @Override
- public List<user> queryuserList() {
- return userMapper.queryuserList();
- }
- }

- <?xml version="1.0" encoding="UTF8"?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.example.springbootvue.mapper.UserMapper">
- <select id="queryuserList" resultType="com.example.springbootvue.entity.user">
- select * from user
- </select>
-
- </mapper>
-
- package com.example.springbootvue.config;
-
- import org.springframework.context.annotation.Configuration;
- import org.springframework.web.servlet.config.annotation.CorsRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
- @Configuration
- public class CrosConfig implements WebMvcConfigurer {
- @Override
- public void addCorsMappings(CorsRegistry registry){
- registry.addMapping("/**")
- .allowedOriginPatterns("*")
- .allowedMethods("GET","HEAD","POST","PUT","DELETE","OPTIONS")
- .allowCredentials(true)
- .maxAge(3600)
- .allowedHeaders("*");
- }
- }
-

运行后端项目和前端项目,发现数据库中的信息传到了前端页面,然后可以自己做样式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。