JAVA学习笔记—前后端分离开发简介

本文介绍了前后端分离的开发模式,包括其架构、接口文档的重要性、优势以及技术选型。重点讨论了JSON作为数据交换格式的特性,与XML的对比,以及FastJson在Java中的使用,包括对象与JSON之间的转换。
摘要由CSDN通过智能技术生成

1. 前后端分离开发

1.1 前后端分离架构介绍

前后端分离已成为互联网项目开发的业界标准使用方式,将前端和后端的开发进行解耦。并且前后端分离会为以后的大型分布式架构、微服务架构、多端化服务(各种客户端,比如浏览器、车载终端、安卓、IOS等)打下坚实的基础。
前后端分离的核心思想就是前端HTML页面通过A JAX调用后端的API接口,并通过JSON数据进行交互。

image-20201221223151196

1.2 接口文档

1.2.1 什么是接口文档?

在我们的项目中使用的是前后端分离开发方式,需要由前后端工程师共同定义接口,编写接口文档,
之后大家都根据这个接口文档进行开发,到项目结束前都要一直进行接口文档的维护。

1.2.2 为什么要写接口文档?

\1. 项目开发过程中前后端工程师有一个统一的文件进行沟通交流,并行开发
\2. 项目维护中或者项目人员更迭,方便后期人员查看、维护

1.2.3 接口规范是什么?

一个接口的描述至少包括下面几项:
名称: findCourseList
描述: 根据条件查询课程信息
URL: http://localhost:8080/lagou_edu_home/course/
请求方式: GET
请求参数

methodName:"findCourseList";

响应结果

{
"status": "0",
"msg": "success"
}

1.3 前后端分离架构的优势

1.3.1 前后端耦合的开发方式

image-20201221223345615

1.3.2 前后端耦合的缺陷 (以JSP为例)

\1. UI出好设计图之后,前端开发工程师只负责将设计图切成HTML,需要由Java开发工程师来将HTML套成JSP页面,修改问题的时候需要双方协同开发,效率低下。
\2. JSP页面必须要在支持Java的WEB服务器上运行(如Tomcat、Jetty等),无法使用Nginx等(官方宣称单实例HTTP并发高达5W),性能提升不上来。
\3. 第一次请求JSP,必须要在WEB服务器中编译成Servlet,第一次运行会较慢。 之后的每次请求JSP都是访问Servlet再用输出流输出的HTML页面,效率没有直接使用HTML高

1.3.3 前后端分离的开发方式

image-20201221223437815

1.3.4 前后端分离的优势

\1. 前后端分离的模式下,如果发现Bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象
\2. 前后端分离可以减少后端服务器的并发/负载压力。除了接口以外的其他所有HTTP请求全部转移到前端Nginx上,接口的请求则转发调用Tomcat.
\3. 前后端分离的模式下,即使后端服务器暂时超时或宕机了,前端页面也会正常访问,只不过数据刷不出来而已。
\4. 前后端分离会更加合理的分配团队的工作量,减轻后端团队的工作量,提高了性能和可扩展性。

1.4 技术选型

1.4.1 前端技术选型

前端技术 说明
Vue.js 是一套用于构建用户界面的渐进式JavaScript框架
Element UI 库 element-ui 是饿了么前端出品的基于 Vue.js的 后台组件库, 方便程序员进行页面快速布局和构建
node.js 简单的说 Node.js 就是运行在服务端的 JavaScript 运行环境 .
axios 对ajax的封装, 简单来说就是ajax技术实现了局部数据的刷新,axios实现了对 ajax的封装,

1.4.2 后端技术选型

后端技术 说明
Web层 a) Servlet:前端控制器 b) Filter:过滤器 c) BeanUtils:数据封装
Service层 a) 业务处理
dao层 a) Mysql:数据库 b) Druid:数据库连接池 c) DBUtils: 操作数据库

1.5 JSON

1.5.1 JSON简述

JSON(JavaScript Object Notation) JavaScript对象表示法(JSON源于JS)。

JSON的特点:
JSON 是一种轻量级的数据交换格式。
JSON采用完全独立于语言的文本格式,就是说不同的编程语言JSON数据是一致的。
JSON易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

1.5.2 XML与JSON的区别

XML : 可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。
JSON: (JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
相同点:
它们都可以作为一种数据交换格式。
二者区别:
XML是重量级的,JSON是轻量级的,XML在传输过程中比较占带宽,JSON占带宽少,易于压缩。
XML和json都用在项目交互下,XML多用于做配置文件,JSON用于数据交互
JSON独立于编程语言存在,任何编程语言都可以去解析json

1.5.3 JSON语法格式

{
"id": 110,
"name": "李会长",
"age": 24
}

语法注意:
\1. 外面由{}括起来
\2. 数据以"键:值"对的形式出现(其中键多以字符串形式出现,值可取字符串,数值,甚至其他json对象)
\3. 每两个"键:值"对以逗号分隔(最后一个"键:值"对省略逗号
\4. 参数值如果是string类型,就必须加引号,如果是数字类型,引号可加可不加遵守上面4点,便可以形成一个json对象。

<script>
//自定义JSON数据格式 (Java中的对象)
var person = {
    "name":"tom","sex":"女", "age":12};
console.log(person);
//数组格式
var persons = {
    "person":[{
    "name":"tom","sex"
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于创建独立的、生产级别的基于Java的应用程序的框架。它的特点是简单、快速、方便,适合用于构建单体应用程序。在传统的Spring Boot项目中,前后端通常没有明确的分离,而是将前端代码和后端代码放在同一个项目中。 下面是一些笔记,可以帮助你理解如何在Spring Boot项目中进行前后端不分离的开发: 1. 项目结构:在项目中创建一个统一的目录结构,将前端和后端代码放置在不同的子目录中。可以按照功能或模块来组织代码。 2. 视图层:使用模板引擎(如Thymeleaf)来生成前端页面。在后端代码中编写HTML模板文件,将动态数据注入到模板中,然后将渲染后的HTML页面返回给客户端。 3. 控制器:编写后端的控制器类来处理请求和返回数据。控制器类负责接收前端请求,处理业务逻辑,并将相应的数据返回给前端。 4. 数据交互:使用Spring Boot提供的HTTP请求处理功能来处理前后端之间的数据交互。可以使用@RestController注解标记控制器类,使用@RequestMapping注解标记方法,然后通过方法参数接收请求参数或请求体。 5. 安全性:可以使用Spring Security来保护应用程序的安全性。通过配置安全规则,可以限制访问某些URL或资源的权限。 6. 数据库操作:可以使用Spring Data JPA来进行数据库操作。通过定义实体类和仓库接口,可以方便地进行CRUD操作。 7. 测试:可以使用JUnit或Spring Boot提供的测试框架来编写单元测试和集成测试。通过测试可以确保代码的质量和功能的正确性。 请注意,虽然在前后端不分离的项目中,前端代码和后端代码放在同一个项目中,但仍可以通过组织代码结构和使用合适的技术来实现代码的模块化和可维护性。如果你希望实现前后端分离开发方式,可以考虑使用前后端分离的框架(如Vue.js、React等)来构建前端,并通过RESTful API来进行数据交互。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值