返回顶部
首页 > 资讯 > 前端开发 > JavaScript >分析Java前后端分离以及Vue.js入门
  • 656
分享到

分析Java前后端分离以及Vue.js入门

2024-04-02 19:04:59 656人浏览 独家记忆
摘要

本篇内容介绍了“分析Java前后端分离以及vue.js入门”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前

本篇内容介绍了“分析Java前后端分离以及vue.js入门”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

前后端不分

  1. 后端模板:jsp、FreeMarker、Velocity

  2. 前端模板:Thymeleaf

前后端不分,Jsp 是一个非常典型写法,Jsp 将 html 和 Java 代码结合在一起,刚开始的时候,确实提高了生产力,但是时间久了,大伙就发现  Jsp 存在的问题了,对于后端工程师来说,可能不太精通 CSS ,所以流程一般是这样前端设计页面-->后端把页面改造成 Jsp --> 后端发现问题  --> 页面给前端 --> 前端不会Jsp。这种方式效率低下。特别是在移动互联网兴起后,公司的业务,一般除了 PC  端,还有手机端、小程序等,通常,一套后台系统需要对应多个前端,此时就不可以继续使用前后端不分的开发方式了。

在前后端不分的开发方式中,一般来说,后端可能返回一个 ModelAndView ,渲染成 HTML  之后,浏览器当然可以展示,但是对于小程序、移动端来说,并不能很好的展示  HTML(实际上移动端也支持HTML,只不过运行效率低下)。这种时候,后端和前端数据交互,主流方案就是通过 JSON 来实现。

前后端分离

前后端分离后,后端不再写页面,只提供 JSON 数据接口(XML数据格式现在用的比较少),前端可以移动端、小程序、也可以是 PC 端,前端负责 JSON  的展示,页面跳转等都是通过前端来实现的。前端后分离后,前端目前有三大主流框架

  • Vue

作者尤雨溪,Vue本身借鉴了  angular,目前GitHubstar数最多,建议后端工程师使用这个,***的原因是Vue上手容易,可以快速学会,对于后端工程师来说,能快速搭建页面解决问题即可,但是如果你是专业的前端工程师,我会推荐你三个都去学习  。就目前国内前端框架使用情况来说,Vue 算是使用最多的。而且目前来说,有大量 Vue 相关的周边产品,各种 UI 框架,开源项目,学习资料非常多。

  • React

Facebook 的产品。是一个用于构建用户界面的 js 库,React 性能较好,代码逻辑简单。

  • Angular

AngularJS 是一款由 Google 维护的开源 javascript 库,用来协助单一页面应用程序运行。它的目标是透过 mvc  模式(MVC)功能增强基于浏览器的应用,使开发和测试变得更加容易。

Vue简介

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue  的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue  也完全能够为复杂的单页应用提供驱动。

  • 只关注视图层

  • MVVM 框架

大家在使用 Jquery 过程中,掺杂了大量的 DOM 操作,修改视图或者获取 value ,都需要 DOM 操作,MVVM  是一种视图和数据模型双向绑定的框架,即数据发生变化,视图会跟着变化,视图发生变化,数据模型也会跟着变化,开发者再也不需要操作 DOM 节点。

如下一个简单的九九乘法表让大家感受一下 MVVM :

<!DOCTYPE html> <html lang="en"> <head>  <meta charset="UTF-8">  <title>Title</title>  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app">  <input type="text" v-model="num">  <table border="1">  <tr v-for="i in parseInt(num)">  <td v-for="j in i">{{j}}*{{i}}={{i*j}}</td>  </tr>  </table> </div> <script>  var app = new Vue({  el: "#app",  data: {  num:9  }  }); </script> </body> </html>

用户修改输入框中的数据,引起变量的变化,进而实现九九乘法表的更新。

SPA

SPA(single page WEB  application),单页面应用,是一种网络应用程序或网站的模型,它通过动态重写当前页面来与用户交互,而非传统的从服务器重新加载整个新页面。这种方法避免了页面之间切换打断用户体验,使应用程序更像一个桌面应用程序。在单页应用中,所有必要的代码(  HTML、JavaScript 和 CSS )都通过单个页面的加载而检索,或者根据需要(通常是为响应用户操作)动态装载适当的资源并添加到页面。SPA  有一个缺点,因为 SPA 应用部署后只有1个页面,而且这个页面只是一堆 js 、css 引用,没有其他有效价值,因此,SPA  应用不易被搜索引擎收录,所以,一般来说,SPA 适合做大型企业后台管理系统。

Vue 使用方式大致上可以分为两大类:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 直接将Vue在页面中引入,不做 SPA 应用

  3. SPA应用

基本环境搭建

首先需要安装两个东西:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. nodejs

  3. npm

直接搜索下载 nodeJS 即可,安装成功之后,npm 也就有了。安装成功之后,可以 在 cmd 命令哈验证是否安装成功:

分析Java前后端分离以及Vue.js入门

NodeJS 安装成功之后,接下来安装 Vue的工具:

npm install -g vue-cli # 只需要***次安装时执行 vue init webpack my-project # 使用webpack模板创建一个vue项目 cd my-project #进入到项目目录中 npm install # 下载依赖(如果在项目创建的***一步选择了自动执行npm install,则该步骤可以省略) npm run dev # 启动项目

启动成功后,浏览器输入 Http://localhost:8080 就能看到如下页面:

分析Java前后端分离以及Vue.js入门

执行 npm install 命令时,默认使用的是国外的下载源 ,可以通过如下代码配置为使用淘宝的镜像:

npm config set reGIStry https://registry.npm.taobao.org

修改完成后,就能有效提高下载的成功率。

Vue 项目结构介绍

Vue 项目创建完成后,使用 Web StORM 打开项目,项目目录如下:

分析Java前后端分离以及Vue.js入门
  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. build 文件夹,用来存放项目构建脚本

  3. config 中存放项目的一些基本配置信息,最常用的就是端口转发

  4. node_modules 这个目录存放的是项目的所有依赖,即 npm install 命令下载下来的文件

  5. src 这个目录下存放项目的源码,即开发者写的代码放在这里

  6. static 用来存放静态资源

  7. index.html 则是项目的首页,入口页,也是整个项目唯一的HTML页面

  8. package.json 中定义了项目的所有依赖,包括开发时依赖和发布时依赖

对于开发者来说,以后 99.99% 的工作都是在 src 中完成的,src 中的文件目录如下:

分析Java前后端分离以及Vue.js入门

assets 目录用来存放资产文件

components 目录用来存放组件(一些可复用,非独立的页面),当然开发者也可以在 components 中直接创建完整页面。

推荐在 components 中存放组件,另外单独新建一个 page 文件夹,专门用来放完整页面。

router 目录中,存放了路由的js文件

App.vue 是一个Vue组件,也是项目的***个Vue组件

main.js相当于Java中的main方法,是整个项目的入口js

main.js 内容如下:

import Vue from 'vue' import App from './App' import router from './router' Vue.config.productionTip = false  new Vue({  el: '#app',  router,  components: { App },  template: '<App/>' })
  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 在main.js 中,首先导入 Vue 对象

  3. 导入 App.vue ,并且命名为 App

  4. 导入router,注意,由于router目录下路由默认文件名为 index.js ,因此可以省略

  5. 所有东西都导入成功后,创建一个Vue对象,设置要被Vue处理的节点是 '#app','#app' 指提前在index.html  文件中定义的一个div

  6. 将 router 设置到 vue 对象中,这里是一个简化的写法,完整的写法是 router:router,如果 key/value  一模一样,则可以简写。

  7. 声明一个组件 App,App 这个组件在一开始已经导入到项目中了,但是直接导入的组件无法直接使用,必须要声明。

  8. template 中定义了页面模板,即将 App 组件中的内容渲染到 '#app' 这个div 中。

因此,可以猜测,项目启动成功后,看到的页面效果定义在 App.vue 中

<template>  <div id="app">  <img src="./assets/logo.png">  <router-view/>  </div> </template> <script> export default {  name: 'App' } </script> <style> #app {  font-family: 'Avenir', Helvetica, Arial, sans-serif;  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale;  text-align: center;  color: #2c3e50;  margin-top: 60px; } </style>
  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. App.vue  是一个vue组件,这个组件中包含三部分内容:1.页面模板(template);2.页面脚本(script);3.页面样式(style)

  3. 页面模板中,定义了页面的 HTML 元素,这里定义了两个,一个是一张图片,另一个则是一个 router-view

  4. 页面脚本主要用来实现当前页面数据初始化、事件处理等等操作

  5. 页面样式就是针对 template 中 HTML 元素的页面美化操作

需要额外解释的是,router-view,这个指展示路由页面的位置,可以简单理解为一个占位符,这个占位符展示的内容将根据当前具体的 URL  地址来定。具体展示的内容,要参考路由表,即 router/index.js 文件,该文件如下:

import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' Vue.use(Router) export default new Router({  routes: [  {  path: '/',  name: 'HelloWorld',  component: HelloWorld  }  ] })
  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 这个文件中,首先导入了Vue对象、Router对象以及 HelloWorld 组件,

  3. 创建一个Router对象,并定义路由表

  4. 这里定义的路由表,path为 / ,对应的组件为 HelloWorld,即浏览器地址为 / 时,在router-view位置显示 HelloWorld  组件

WebStorm 中启动Vue

也可以直接在 webstorm 中配置vue并启动,点击右上角进行配置:

分析Java前后端分离以及Vue.js入门

然后配置一下脚本 :

分析Java前后端分离以及Vue.js入门

配置完成后,点击右上角启动按钮,就可以启动一个 Vue 项目,如下:

分析Java前后端分离以及Vue.js入门

项目编译

这么大一个前端项目,肯定没法直接发布运行,当开发者完成项目开发后,将 cmd 命令行定位到当前项目目录,然后执行如下命令对项目进行打包:

npm run build

打包成功后,当前项目目录下会生成一个 dist 文件夹,这个文件夹中有两个文件,分别是 index.html 和 static ,index.html  页面就是我们 SPA 项目中唯一的 HTML 页面了,static 中则保存了编译后的 js、css等文件,项目发布时,可以使用 Nginx 独立部署 dist  中的静态文件,也可以将静态文件拷贝到 Spring Boot 项目的 static 目录下,然后对 spring Boot 项目进行编译打包发布。

“分析Java前后端分离以及Vue.js入门”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 分析Java前后端分离以及Vue.js入门

本文链接: https://lsjlt.com/news/85543.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 分析Java前后端分离以及Vue.js入门
    本篇内容介绍了“分析Java前后端分离以及Vue.js入门”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前...
    99+
    2024-04-02
  • Java前后端分离以及Vue.js的示例分析
    这篇文章主要介绍Java前后端分离以及Vue.js的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前后端不分后端模板:Jsp、FreeMarker、Velocity前端模板:...
    99+
    2024-04-02
  • PHP入门指南:前后端分离
    作为一门非常流行的编程语言,PHP 在互联网开发中扮演着重要的角色。而随着近年来前后端分离的趋势愈发明显,越来越多的 PHP 开发者也在思考如何更好地进行前后端分离开发。本文将为大家介绍 PHP 入门指南,教你如何进行前后端分离。1、前后端...
    99+
    2023-05-23
    PHP 前后端分离 入门指南
  • Python中关于前后端分离开发入门的示例分析
    本篇文章为大家展示了Python中关于前后端分离开发入门的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前后端分离开发入门在传统的Web应用开发中,大多数的程序员会将浏览器作为前后端的分界线...
    99+
    2023-06-02
  • 前后端分离之VueJS前端的示例分析
    这篇文章给大家分享的是有关前后端分离之VueJS前端的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言前端用什么框架都可以,这里选择小巧的vuejs。要实现的功能很简单...
    99+
    2024-04-02
  • Python学习教程:前后端分离开发入门
    今天的Python学习教程跟大家讲讲关于:前后端分离开发入门的相关内容!在传统的Web应用开发中,大多数的程序员会将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有...
    99+
    2023-06-02
  • Flask Vue前后端分离实例分析
    这篇文章主要讲解了“Flask Vue前后端分离实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flask Vue前后端分离实例分析”吧!vue官网:开源的 Javascript 框架...
    99+
    2023-07-02
  • thinkPHP5前后端分离
    thinkPHP5前后端分离 环境配置并运行起thinkphp安装小皮面板安装phpstorm配置thinkPHP5将文件放入适当位置修改Nginx配置修改配置和伪静态 跨域前端 ...
    99+
    2023-10-11
    php 前端 nginx 1024程序员节
  • 前后端分离djangorestframe
    关于验证码部分,在我这篇文章里说的挺详细的了:Python高级应用(3)—— 为你的项目添加验证码   这里还是再给一个前后端分离的实例,因为极验官网给的是用session作为验证的,而我们做前后端分离的用的是token,而不是sessi...
    99+
    2023-01-30
    后端 djangorestframe
  • Java前后端分离之权限管理示例分析
    目录1.前端界面1.1 按钮1.2 对话框+树形控件2.后端操作2.1 controller层2.2 serviceImpl层2.3 结果展示2.4 查对应的权限菜单(使用中间表)2...
    99+
    2024-04-02
  • 前后端分离架构
    前后端分离在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种...
    99+
    2023-01-31
    架构 后端
  • web前后端分离与前后端不分离的区别是什么
    本篇内容主要讲解“web前后端分离与前后端不分离的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web前后端分离与前后端不分离的区别是什么”吧!前后端...
    99+
    2024-04-02
  • web前端与后端分离的架构实例分析
    本篇内容主要讲解“web前端与后端分离的架构实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web前端与后端分离的架构实例分析”吧!一、关于前端的 dat...
    99+
    2024-04-02
  • 解析Thinkphp5如何实现前后端分离
    这篇文章主要介绍解析Thinkphp5如何实现前后端分离,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用Thinkphp5实现纯API开发实现前后端分离大致步骤如下解决跨域请求问题2.改变输出数据格式为API常用返回...
    99+
    2023-06-15
  • Spring Boot前后端分离之后端开发
    Spring Boot前后端分离开发之后端开发 前后端分离开发概述相关术语前后端分离开发概述 接口规范RESTful API的理解RESTful风格的特点URI规范路径请求方式...
    99+
    2023-09-04
    spring boot 后端 java
  • Java项目如何实现前后端分离
    今天就跟大家聊聊有关Java项目如何实现前后端分离,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。构建springboot项目我的目录结构:(结果未按标准书写,仅作说明)不管用什么ID...
    99+
    2023-05-31
    java 前后端分离 ava
  • git前后端分离怎么用
    随着前端技术的繁荣发展,前端领域出现了越来越多的框架和技术,前后端分离也成为了现阶段 web 开发的一种趋势。其中,git 的使用对于前后端分离的管理起到了至关重要的作用。本文将介绍 git 前后端分离的使用方法。一、前后端分离的基本概念前...
    99+
    2023-10-22
  • 前后端分离架构+k8s+ingress
    在前面几篇文章中,已经讲到了前后端分离架构和ingress,链接如下:https://www.cnblogs.com/xiao987334176/p/12195722.htmlhttps://www.cnblogs.com/xiao9873...
    99+
    2023-01-31
    架构 后端 ingress
  • git前后端分离如何用
    本篇内容介绍了“git前后端分离如何用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前后端分离的基本概念前后端分离的基本概念是:前端提供...
    99+
    2023-07-06
  • SpringCloud前后端分离后引起跨域访问的示例分析
    这篇文章主要为大家展示了“SpringCloud前后端分离后引起跨域访问的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringCloud前后端分离...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作