前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SpringBoot的前后端分离--下拉数据

SpringBoot的前后端分离--下拉数据

作者头像
zhangjiqun
发布2024-12-16 19:22:47
发布2024-12-16 19:22:47
11000
代码可运行
举报
文章被收录于专栏:计算机工具计算机工具
运行总次数:0
代码可运行

后台:gitee:https://gitee.com/zhangjiqun/background-development-demo.git

docway:http://www.docway.net/project/1ghALtt7cJt/1ghALw36HiK

fastjsonlist转json

代码语言:javascript
代码运行次数:0
运行
复制
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.3</version>
</dependency>
代码语言:javascript
代码运行次数:0
运行
复制
@GetMapping("selectAllJson")
@CrossOrigin
public  String selectAllJson() throws JSONException {
    List<UserInfo> list=this.userInfoService.queryAllByLimit(1,100);
    String str = JSON.toJSONString(list); // List转json

    return str;

thymeleaf模板是在java中实现前端界面开发

vue实现前后端的分离

https://www.bilibili.com/video/BV19E411v7Ty?p=4

在idea查看数据库数据

安装EasyCode 插件

配置mapping扫描路径

注意mapping,xml 路径

设置数据库主键自增

设置ip地址和端口号

get和post的区别

Get是不安全的,因为在传输过程,数据被放在请求的URL中;

Post的所有操作对用户来说都是不可见的。

Get传送的数据量较小,这主要是因为受URL长度限制;

Post传送的数据量较大,一般被默认为不受限制。

Get限制Form表单的数据集的值必须为ASCII字符;

而Post支持整个ISO10646字符集。

Get执行效率却比Post方法好

Get是form提交的默认方法。

get请求:信息在url中

post请求:信息不在url中

使用docway进行测试

vue与Element-Ui的关系

1.Element-Ui是基于vue封装的组件库,简化了常用组件的封装,提高了重用性原则;

2. vue是一个渐进式框架,Element-Ui是组件库;

完成后即可安装element-ui,然后在index.js中引入全局注册即可,如下所示:

安装element-ui

代码语言:javascript
代码运行次数:0
运行
复制
cnpm install element-ui --save

index.js中引入全局注册

代码语言:javascript
代码运行次数:0
运行
复制
import ElementUi from 'elemet-ui'
import '@/theme-et/index.css'
Vue.use(ElementUi)

element-ui:官网 https://element.eleme.cn/#/zh-CN

Element Ui 初始化

npm i element-ui -S

npm安装
在页面上引入 js 和 css 文件即可开始使用

<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">

<script src="https://unpkg.com/vue/dist/vue.js"></script>

<script src="https://unpkg.com/element-ui/lib/index.js"></script>

通过 Element ui 官网进行效果查看和代码复制
代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">

</head>
<body>
    <div id="app">
        <template>
          <el-table
            :data="tableData"
            stripe
            style="width: 100%">
            <el-table-column
              prop="date"
              label="日期"
              width="180">
            </el-table-column>
            <el-table-column
              prop="name"
              label="姓名"
              width="180">
            </el-table-column>
            <el-table-column
              prop="address"
              label="地址">
            </el-table-column>
          </el-table>
        </template>
        </div>
</body>
</html>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
var Main = {
    data() {
      return {
        tableData: [{
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }, {
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄'
        }, {
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }]
      }
    }
  }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
</script>
实现主界面框架布局
代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">

</head>
<body>
  
    <div id="app">
    <el-container style="height: 100%; width: 100%; border: 1px solid #eee">
      <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
        <el-menu :default-openeds="['1', '3']">
          <el-submenu index="1">
            <template slot="title"><i class="el-icon-message"></i>导航一</template>
            <el-menu-item-group>
              <template slot="title">分组一</template>
              <el-menu-item index="1-1">选项1</el-menu-item>
              <el-menu-item index="1-2">选项2</el-menu-item>
            </el-menu-item-group>
            <el-menu-item-group title="分组2">
              <el-menu-item index="1-3">选项3</el-menu-item>
            </el-menu-item-group>
            <el-submenu index="1-4">
              <template slot="title">选项4</template>
              <el-menu-item index="1-4-1">选项4-1</el-menu-item>
            </el-submenu>
          </el-submenu>
          <el-submenu index="2">
            <template slot="title"><i class="el-icon-menu"></i>导航二</template>
            <el-menu-item-group>
              <template slot="title">分组一</template>
              <el-menu-item index="2-1">选项1</el-menu-item>
              <el-menu-item index="2-2">选项2</el-menu-item>
            </el-menu-item-group>
            <el-menu-item-group title="分组2">
              <el-menu-item index="2-3">选项3</el-menu-item>
            </el-menu-item-group>
            <el-submenu index="2-4">
              <template slot="title">选项4</template>
              <el-menu-item index="2-4-1">选项4-1</el-menu-item>
            </el-submenu>
          </el-submenu>
          <el-submenu index="3">
            <template slot="title"><i class="el-icon-setting"></i>导航三</template>
            <el-menu-item-group>
              <template slot="title">分组一</template>
              <el-menu-item index="3-1">选项1</el-menu-item>
              <el-menu-item index="3-2">选项2</el-menu-item>
            </el-menu-item-group>
            <el-menu-item-group title="分组2">
              <el-menu-item index="3-3">选项3</el-menu-item>
            </el-menu-item-group>
            <el-submenu index="3-4">
              <template slot="title">选项4</template>
              <el-menu-item index="3-4-1">选项4-1</el-menu-item>
            </el-submenu>
          </el-submenu>
        </el-menu>
      </el-aside>
      
      <el-container>
        <el-header style="text-align: right; font-size: 12px">
          <el-dropdown>
            <i class="el-icon-setting" style="margin-right: 15px"></i>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item>查看</el-dropdown-item>
              <el-dropdown-item>新增</el-dropdown-item>
              <el-dropdown-item>删除</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
          <span>王小虎</span>
        </el-header>
        
        <el-main>
          <el-table :data="tableData">
            <el-table-column prop="date" label="日期" width="140">
            </el-table-column>
            <el-table-column prop="name" label="姓名" width="120">
            </el-table-column>
            <el-table-column prop="address" label="地址">
            </el-table-column>
          </el-table>
        </el-main>
      </el-container>
    </el-container>
    </div>
</body>
</html>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
var Main = {
    data() {
      const item = {
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      };
      return {
        tableData: Array(50).fill(item)
      }
    }
  };
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
</script>

<style>
  @import url("//unpkg.com/element-ui@2.15.3/lib/theme-chalk/index.css");
.el-header {
    background-color: #B3C0D1;
    color: #333;
    line-height: 60px;
  }
  
  .el-aside {
    color: #333;
  }

</style>

stripe作用

index.html

代码语言:javascript
代码运行次数:0
运行
复制
<script>
    //      import  VueResource  from 'vue-resource'

    // Vue.use(VueResource) ;
    var Main = {
        data() {
            return {
                tableData: [{
                    age: '2',
                    name: '王小虎',
                    id: '11'
                }]
            }
        },
        created() {
            this.getData();
        },
        methods: {

            getData() {
                let that = this;
                let url = "http://localhost:10000/userInfo/selectAll";
                this.$http.get(url).then(res => {
                    let rs = JSON.parse(JSON.stringify(res.body));
                    console.log(rs);
                    that.tableData = rs;
                })
            }

        }
    }

    var Ctor = Vue.extend(Main)
    new Ctor().$mount('#app')
</script>

分页效果

宝塔前后端搭建

前端:vue ,使用Element ui 控件

后端:使用spring boot mybatis。打包jar 上传服务器

数据库:mysql,navicate作用数据库表操作工具

先来个效果图吧;

最终网站

远程接口访问

本地接口访问

宝塔建网站数据库

上传jar 和vue 或者html界面

建立数据库

navicate 连接远程mysql

配置nginx

代码语言:javascript
代码运行次数:0
运行
复制
#user  nobody;
worker_processes  3;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
 
    #access_log  logs/access.log  main;
 
    sendfile        on;
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;
 
    #gzip  on;



    
server {
        listen       80;
        server_name  ll;
 
        charset utf-8;
	location / { # /表示根目录,该配置表示Nginx默认打开/www下的index.html  
	   # root /www/wwwroot/tm.bt.cn;
	     root /www/wwwroot/zjq.com;
	   # root /www/wwwroot;
	   # root /www/wwwroot/192.144.212.56;
	   # root /www/server/tomcat9/demo/src/main/resources/templates;
	    index  index.html index.htm;
            	}
            	
       
       location = /project {
	          root /www/wwwroot/192.144.212.56;
            index  index.html index.htm;
        }
    }
     
     
     
    
    
 }

站点启用tomcat,没有安装需要安装

配置 spring boot jar包

宝塔查询数据库登录

mysql -umiaosha -p123456

注意没有空格

宝塔查询数据库查询

注意:数据库命.表明

idea 打jar包失败

就是数据库名称 ip配置的问题

Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plu

就是数据库名称 ip配置的问题

宝塔数据库存放目录

有道词典取词导致Navicat闪退
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • thymeleaf模板是在java中实现前端界面开发
  • vue实现前后端的分离
    • https://www.bilibili.com/video/BV19E411v7Ty?p=4
  • 在idea查看数据库数据
  • 安装EasyCode 插件
  • 配置mapping扫描路径
  • 注意mapping,xml 路径
  • 设置数据库主键自增
  • 设置ip地址和端口号
  • get和post的区别
  • get请求:信息在url中
  • post请求:信息不在url中
    • 使用docway进行测试
  • vue与Element-Ui的关系
  • Element Ui 初始化
    • npm安装
    • 在页面上引入 js 和 css 文件即可开始使用
    • 通过 Element ui 官网进行效果查看和代码复制
    • 实现主界面框架布局
  • stripe作用
  • index.html
  • 分页效果
  • 宝塔前后端搭建
  • 最终网站
  • 远程接口访问
  • 本地接口访问
  • 宝塔建网站数据库
  • 上传jar 和vue 或者html界面
  • 建立数据库
  • navicate 连接远程mysql
  • 配置nginx
  • 站点启用tomcat,没有安装需要安装
  • 配置 spring boot jar包
  • 宝塔查询数据库登录
  • 宝塔查询数据库查询
  • idea 打jar包失败
  • Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plu
  • 宝塔数据库存放目录
    • 有道词典取词导致Navicat闪退
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档