Nginx
Nginx在实际项目中,如果后端直接将接口暴露给前端,会存在一定的安全隐患。此外,当系统部署在多台后端服务器上时,前端也无法灵活地进行服务器切换和统一访问入口管理而通过引入反向代理服务器(如 Nginx),不仅可以有效解决上述安全性和灵活性问题,还能实现负载均衡等功能,从而提升系统的可用性和扩展性
反向代理nginx接收到前端请求后,通过配置信息向后端发送正确的请求路径,获得响应数据后再返回给前端
JDBC
JDBC
JDBC(Java DateBase Connectivty),就是使用Java语言操作关系型数据库的一套API
本质:
Sun公司官方定义的一套操作所有关系型数据库的规范,即接口
各个数据库厂商去实现这套接口,提供数据库驱动jar包
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类
入门程序
需求:基于JDBC,执行UPDATE语句(UPDATE user SET age = 25 WHERE id = 1)
步骤:
准备工作:创建Maven项目,引入依赖;准备数据库表user
代码实现:编写JDBC程序,操作数据库
12345<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.33</version></dependency>
示例:
12345678910111213141 ...
分层解耦
分层解耦三层架构
controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据
service:业务逻辑层,处理具体的业务逻辑
dao:数据访问层(Data Access Object)(持久层)。负责数据访问操作,包括数据的增删改查
代码拆分的优势:
遵循单一职责原则,便于复用、后期维护
分层解耦概念
耦合:衡量软件中各个层/各个模块的依赖关联程度
内聚:软件中各个模块内部的功能联系
软件设计原则:**高内聚低耦合**
控制反转:Inversion Of Control,简称IOC。对象创建控制权由程序自身转移到外部(容器),这种思想称为控制反转
依赖注入:Dependency Injection,简称DI。容器为应用程序提供运行时,所依赖的资源,称之为依赖注入
Bean对象:IOC容器中创建、管理的对象,称之为Bean
只有被标明了是Bean的类,才会在容器中创建对象
Spring 容器本质上是一个中间件,用于解耦类与类之间的依赖关系
实现分层解耦,就是将项目中的类交给IOC容器管理
当某个类需要对应的类的对象时,直接依赖容器为其提供
IOC ...
HTTP协议基础知识
HTTP协议概念:超文本传输协议(Hyper Text Transfer Protocol),规定了浏览器和服务器之间数据传输的规则
特点:
基于TCP协议:面向连接,安全
基于请求-响应模型的:一次请求对应一次响应
HTTP协议是无状态的协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
缺点:多次请求间不能共享数据
优点:速度快
请求协议GET请求有两部分:请求行和请求头,POST请求有三部分:请求行、请求头和请求体
请求行:请求数据第一行(请求方式、资源路径、协议)
请求头:第二行开始,格式:key : value
Key
说明
Host
请求的主机名
User-Agent
浏览器版本
Accept
表示浏览器能够接收的资源类型,如test/*,image/或者/*表示所有
Accept-Language
表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
Accept-Encoding
表示浏览器可以支持的压缩类型
Content-Type
请求主体的数据类型
Content-Length
请求 ...
Vue和Element Plus
Vue工程化环境准备在搭建Vue项目前,需要保证环境中存在Nodejs,访问Node.js — Download Node.js®官网下载Nodejs
下载完毕后,打开一个新的CMD窗口,输入以下命令验证是否安装成功:
1node -v
如果输出版本信息,表明安装成功;否则需要检查系统环境变量中是否存在nodejs,或者重新下载并安装
安装完Nodejs后,还需要对其进行配置操作:
1npm config set prefix "E:\Program Files\nodejs"
这条命令用于设置 npm 全局安装路径。默认情况下,npm 安装的模块会存放在 C:\Users\用户名\AppData\Roaming\npm 目录下,挤占系统盘容量
注意,一定要确保以上路径为Nodejs的安装目录
设置完npm安装路径后,还要切换镜像源,默认的镜像源服务器在海外,下载速度会偏慢,通过切换国内镜像源可以很好的解决这个问题:
1npm config set registry https://registry.npmmirror.com
Vue项目简介创建vue项目 ...
Web前端
Web标准
Web标准也称网页标准,由一系列的标准组成,大部分有W3C(World Wide Web Consortium,万维网联盟)负责指定
三个组成部分:
HTML:负责网页的结构(页面元素和内容)
CSS:负责网页的表现(页面元素的外观、位置等页面样式,如:颜色、大小)
JavaScript:负责网页的行为(交互效果)
HTML
HTML(HyperText Markup Language):超文本标记语言
超文本:超越了文本的限制,比如普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容
标记语言:由标签"<标签名>"构成的语言
HTML标签都是预定义好的。例如:使用<h1>展示标题,使用<img>展示图片,使用<video>展示视频
HTML代码直接在浏览器中运行,HTML标签由浏览器解析
CSS
CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式
HTML快速入门HTML大体分为<head>头部和<body>身体
< ...
Maven
Maven简介
Maven是一款用于管理和构建Java项目的工具,是Apache旗下的一款开源产品
Maven的作用
依赖管理:方便快捷的管理项目依赖的资源包(jar包)
项目构建:标准化的跨平台(Linux、Windows、MacOS)的自动化项目构建方式
统一项目结构:提供标准、统一的项目结构
官网:http://maven.apache.org
当需要的Jar包在本地仓库不存在时,先会去找远程仓库中是否存在,当远程仓库也不存在时,才会去中央仓库查找
maven安装
解压maven-bin.zip压缩包
修改本地仓库配置conf/setting.xml,其中**<localRepository>**标签用于指定本地仓库路径:
1<localRepository>E:\Develop\mvn-repo</localRepository>
修改远程仓库配置conf/setting.xml,其中<mirrors>的相关属性表示仓库信息和仓库地址:
123456<mirror> <id>aliyu ...
Java IO操作
IO流介绍I:input 输入(读取)
O:output 输出 (写出)
场景:
读写配置文件、日志文件
客户端和服务端的通讯
文件上传和下载
IO流体系结构
分类
抽象类
子类
字节流
InputStream
FileInputStream
OutputStream
FileOutStream
字符流
Reader
FileReader
Writer
FileWriter
关流流对象使用完毕后,记得调用close方法关闭。不及时关闭流对象,则会占用资源,且无法对文件进行删除、修改等操作
当流对象被关闭后,无法再调用读取或写入的方法,除非重新创建流对象
IO流异常处理方式JDK7之前12345678try { FileOutputStream fos1 = new FileOutputStream("Day04/A.txt"); fos1.write("Hello World!".getBytes()); System.out.println(10 / 0); // 假设在执行 ...
Java File类和递归
File类
File类代表操作系统的文件对象(文件、文件夹)
File类创建对象
方法名称
说明
public File(String pathName)
根据文件路径创建文件对象
public File(String parent, String child)
根据父路径名 字符串 和子路径名 字符串 创建文件对象
public File(File parent, String child)
根据父路径对应 文件对象 和子路径名 字符串 创建文件对象
File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在
示例:
123456789101112131415public class FileDemo01 { public static void main(String[] args) { File f1 = new File("E:\\A.txt"); // 假设E盘下有A.txt文件 System.out.println(f1.exists()); / ...
接入华为云IOT平台
华为云IOT平台在开发智能监测功能之前,必须先熟悉和掌握华为云IoTDA平台的使用及对接
什么是物联网物联网(英文:Internet of Things,缩写:IoT)起源于传媒领域,是信息科技产业的第三次革命。物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能
常见的应用场景:
共享充电宝
充电宝设备接入物联网平台后,可上报充电宝电量和借用状态等信息到物联网平台云端。充电宝用户扫码后,云端低延时向充电宝下发指令,使其弹出。同时,企业运营者能够实时获知充电宝的运行状况
智能音箱
播报音箱接入物联网平台后,用户扫码完成支付后,将支付金额实时通过音箱,向用户和商家进行语音播报
智能家居
智能家居技术已经成为当今家庭装潢的一大特色。比如,通过智能灯泡,可以实现远程控制灯光和电视等设备,调节温度和湿度,实现智能化生活
智能农耕
智能农耕可以通过物联网技术来监测、传输、分析、管理农业生产过程中的信息。比如作物的生长情况、土壤的状况等,以提高农业生产的效率,改善利润率,减少污染,节约农业 ...
