自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 前端点滴(Node.js)(五)---- 构建 Web 应用(五)Express中间件、koa 基础与实例

五、Express中间件、koa 基础与实例一、Express 中间件语法:app.use() app.use(function(){}) 无论发送任何请求都会执行的中间件。 app.use('/path',function(){}) 只要在请求path路由时才会执行的中间件(无论是POST/GET/其他请求)。 app.method() app.get() ...

2020-02-17 16:17:46 351

原创 前端点滴(Node.js)(五)---- 构建 Web 应用(四)中间件、Express 基础与实例

4. 中间件、Express一、Node.js 中间件1. 中间件概念在NodeJS中,中间件主要是指封装所有Http请求细节处理的方法。一次Http请求通常包含很多工作,如记录日志、ip过滤、查询字符串、请求体解析、Cookie处理、权限验证、参数验证、异常处理等,但对于Web应用而言,并不希望接触到这么多细节性的处理,因此引入中间件来简化和隔离这些基础设施与业务逻辑之间的细节,让...

2020-02-16 14:45:36 313

原创 前端点滴(Node.js)(五)---- 构建 Web 应用(三)路由

3. 路由解析前文提及了很多Web请求的预处理过程,对于不同的业务,我们还是期望有不同的处理方式,这带来了路由的选择问题。(1)文件路径型1. 静态文件这种方式的路由在路径解析的部分有过简单的描述,其让人舒服的地方在于URL的路径与网站目录的路径一致,无需转换,非常直观。这种路由的处理方式也十分简单,将请求对应的文件发送给客户端即可。这在前文路劲解析部分有过介绍,不再重复。2....

2020-02-14 16:12:38 217

原创 前端点滴(Node.js)(五)---- 构建 Web 应用(二)数据上传

Node.js2. 数据上传在实际的业务中,我们往往需要接收一些数据,比如表单数据、文件提交、Json上传、XML上传等等。Node的http模块只对HTTP报文头部进行了解析,然后触发request事件。如果请求中还带有内容部分(比如POST报文,它具有请求头以及请求体),内容部分需要用户自行接收和解析。通过请求头的Transfer-Encoding和Content-Length可以...

2020-02-13 17:31:40 418

原创 前端点滴(Node.js)(五)---- 构建 Web 应用(一)基础功能

Node.js通过对异步IO、异步编程、网络编程的学习,就是在为构建Web打下坚实的基础。接下来就开始深入地学习如何构建Web应用。一、构建 Web 应用1. 基础功能(1)请求方法在Web应用中除了常见的GET请求,POST请求外还有HEAD、DELETE、PUT、CONNECT等方法。请求方法存在于报文的第一行的第一个单词,通常是一个大写,报文示例如下:> GET / HTT...

2020-02-12 21:48:29 220

原创 前端点滴(Node.js)(四)网络编程 ---- 侧重(下)

网络服务与安全一、了解 在网络世界中,数据在服务器段和客户端之间传输,由于是明文传输的的内容,一旦在网络被人监控,数据就可能一览无余地展示在中间的窃听者面前,所以我们需要将数据进行加密后在进行网络传输,这样即使数据被揭去和窃听,窃听者也无法知道数据的真实内容是什么。但是对于我们的应用层协议而言,比如http,ftp等,我们仍希望能够透明地处理数据,而无需操心网络传输过程中的安全问题。于...

2020-02-10 16:03:02 205

原创 前端点滴(Node.js)(四)网络编程 ---- 侧重(上)

Node 网络编程前言利用Node可以十分方便地搭建网络服务器,在WEB领域,大多数编程语言需要专门的web服务器作为容器,比如ASP,ASP.NET需要IIS作为服务器,PHP需要搭载在Apache或者Nignx环境等,JSP需要Tomcat服务器等。当对于Node而言,只需要几行代码就可以构建一个服务器,无需额外的容器。Node提供了net、http、https、dgram这四个模块,分...

2020-02-09 02:20:50 290

原创 前端点滴(Node.js)(三)异步I/O、异步编程 ----重点

Node.js一、异步 I/O1. 异步I/O的概念当一个异步过程调用出发后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态,通知和回调来通知调用者。接下来先来回顾一下Ajax异步请求:/* javascript Ajax 请求 */var xhr = new XMLHttpRequest();xhr.open('get','xxx.php',true);xhr....

2020-02-07 03:42:26 567

原创 前端点滴(Node.js)(二)

Node.js一、包与npm命令1. 使用moment项目目录下打开终端,输入命令,等待下载:在代码中引入、使用:结果:2. npm 命令的使用上面的代码,我们使用npm安装了moment来进行格式化时间的处理,这就是使用第三方模块;而我们使用的npm就是node中自带的包(模块)管理工具;借助NPM可以帮助我们快速安装和管理依赖包,使Node与第三方模块之间形成了...

2020-02-04 22:57:50 319

原创 前端点滴(Node.js)(一)

Node.js一、Node.js简介1. 回顾 JavaScript历史及发展1995年 网景公司的布兰登开发;1997年7月,ECMA组织发布ECMAScript 1.0版;2007年10月发布3.1版本后不久,ECMAScript 3.1改名为 ECMAScript 5。2008年,为Chrome浏览器而开发的V8编译器诞生2011年6月,ECMAscript 5.1版发布...

2020-02-03 23:43:22 341

原创 前端点滴(ES6+)(二)

ES6+新特性说明(补充)一、ES6新特性(2015)1. 新的基本类型 symbolsymbol 是一种基本数据类型 (primitive data type)。Symbol()函数会返回symbol类型的值,该类型具有静态属性和静态方法。它的静态属性会暴露几个内建的成员对象;它的静态方法会暴露全局的symbol注册,且类似于内建对象类,但作为构造函数来说它并不完整,因为它不支持语法:"n...

2020-02-02 16:11:44 233

原创 前端点滴(ES6+)(一)

ES6+新特性说明ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言。目前JavaScript使用的ECMAScript版本为ECMA-417。关于ECMA的最新资讯可以浏览 ECMA news查看。一、ES6新特性(2015)ES6的特性比较多,在 ES5 发布近 6 年(2009-11 至 2015-6)之后才将其标准化。两个发布版本之间时间跨度很大,所...

2020-02-01 21:38:02 267

原创 JavaSE-常用类、Stream 流式计算

JavaSE-常用类、Stream 流式计算常用类内置包装类IntegerString类型转换StringBuilder(JDK1.5)StringBuffer(JDK1.0)Date(JDK1.0)拓展:System.currentTimeMillsDateFormatCalendar(JDK1.1)LocalDate、LocalTime、LocalDateTime(JKD1.8)DateTimeFormatter(JDK1.8)MathRandom枚举Stream 流式计算常用类内置包装类基本数据

2022-05-26 18:12:38 674

原创 JavaSE-IO

JavaSE-IOFile 类引入IO 流FileInputStream 类FileOuputStream 类文件内容的复制其他复制方法FileReader,FileWriter 字符流BufferedReader,BufferedWriter 缓冲流System 类对IO的支持,转换流DataOutput[Input]Stream 数据流ObjectOutput[Input]Stream 对象流复制整一个文件夹File 类File 可以帮助我们快速获取文件或者文件夹的属性等信息。查找文件或者文件夹

2022-05-26 18:01:17 152

原创 JavaSE-函数式接口、lambda表达式

JavaSE-函数式接口、lambda表达式函数式接口FunctionPredicateConsumerSupplierlambda 表达式实现接口作用域问题、使用说明玩法函数式接口函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。Lambda 表达式和方法引用(实际上也可认为是Lambda表达式)上。 // 定义一个函数型接口,特点传入参数,调用一个方法 @Funct

2022-05-26 17:50:18 500

原创 JavaSE-反射

JavaSE-反射类加载反射的意义、原理、作用反射信息(字节码信息)类的动态加载类加载器Classloader使用反射信息权限问题(非public)访问类属性访问类方法访问类构造器访问类继承关系访问泛型访问注解信息访问 ClassLoader类关于反射的面试题什么是反射?反射就是Reflection,Java的反射是指程序在运行期可以拿到一个类的所有信息。类加载除了int等基本类型外,Java的其他类型全部都是class(包括interface)。例如:StringObjectRunnab

2022-05-26 17:44:17 136

原创 JavaSE-内存分析、内存控制、异常机制、注解

JavaSE-内存分析、异常机制、注解内存分析异常机制注解内置注解元注解自定义注解内存分析// Student.javapublic class Pet{ String name; int age; public static void shout(){ System.out.print("它叫"+this.name+',年龄:'+this.age); }}// Main.javapublic class Main{ public static void main(String[

2022-05-26 15:47:20 85

原创 JavaSE-面向对象编程(oop)

JavaSE-面向对象编程(oop)类与实例化对象构造器封装单继承重写多态instanceof 语法类型转换抽象类接口类(多继承)内部类成员内部类静态内部类局部内部类匿名内部类Object 类序列化、反序列化面向对象编程的本质就是:以类的方式组织代码,以对象的方式组织(封装)数据。面向对象的三大特性:封装继承多态类与实例化对象实例化对象的方式调用new语句创建对象// Student.javapublic class Student{ String studentName;

2022-05-26 11:45:00 149

原创 JavaSE-方法、this 指向、(非)静态代码块

JavaSE-方法方法定义静态方法与非静态方法方法调用方法重载形参与实参可变参数递归方法值传递与引用传递main 方法this 指向静态代码块方法定义修饰符 返回值类型 方法名(参数类型,参数名){ ... 方法体 ... return 返回值;}修饰符:可选常用public / static。返回值类型:方法可能会存在返回值。returnValueType是方法的返回值的类型。有返回至请根据返回类型进行设置(基本数据类型),无返回值则void。方法名:遵循驼峰命名法,见名

2022-05-26 10:38:15 107

原创 JavaSE-数组八大排序

JavaSE-数组八大排序冒泡排序选择排序直接插入排序希尔排序快速排序归并排序基数排序堆排序冒泡排序原理数组元素两两比较,交换位置,大元素往后放。每比较一轮少一次两两比较。public class Main{ public static void main(String[] args){ int[] arr = {24, 69, 80, 57, 13}; int temp = 0; for(int i = 0; i < arr.length-1; i++){ /

2022-05-26 10:30:08 95

原创 JavaSE-数组

JavaSE-数组数组声明与使用数组常用方法Arrays工具类合并数组数组Java提供了一种叫作数组的数据结构,它是一种用来存储相同类型元素的固定大小顺序集合。 数组用于存储数据集合,但也可以将数组视为相同类型的变量集合。可以是一维甚至多维。数组变量本身属于引用类型,数组也可以看成对象(同样可以通过 new 实例化对象),数组中每一个元素相当于对象成员本身,存放于内存的堆空间中。数组声明与使用数组的声明声明数组变量语法:dataType[] arrayRefVa

2022-05-25 21:33:05 135

原创 JavaSE-流程控制

JavaSE-流程控制Scanner 包装类顺序结构选择结构循环结构break continueScanner 包装类Scanner 类的基本使用创建实例对象public class Demo{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); }}判断是否输入public class Demo{ public static void main(String

2022-05-25 21:29:18 99

原创 JavaSE-基础语法(三)

JavaSE-基础语法(三)运算符包机制运算符运算符说明:算数运算符:+,-,*,/,%,++,–赋值运算符:=关系运算符:>,<,>=,<=,==,!=,instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>条件运算符:? :扩展运算符:+=,-=,*=,/=i++ 与 ++i 的区别public class Demo { public stat

2022-05-25 21:24:37 73

原创 JavaSE-基础语法(二)

JavaSE-基础语法(二)变量,常量成员变量、局部变量作用域问题关键字变量,常量静态变量、常量与类一起加载,在方法中可以直接进行调用。public class Main{ public static String name = "hello"; public static final String NAME = "world"; public static void main(String[] args){ System.out.println(name); //=> hel

2022-05-25 21:22:59 69

原创 JavaSE-基础语法(一)

helloworldpublic class HelloWorld{ public static void main(String[] args) { System.out.println("HelloWorld") }}注释行内注释 //块注释/****/文档注释/*** @author 作者* @version 版本* @since jdk* @param 参数* @return 返回值* @ throws 异常*/在命令行中使用javado

2022-05-25 21:12:52 94

原创 JVM-参数

https://blog.csdn.net/fantasyagain/article/details/43017637行为参数:选项和默认值值描述-XX:-AllowUserSignalHandlers允许用户在应用中捕捉信号 (只和Solaris和Linux有关)-XX:AltStackSize=16384备用信号栈大小 (Kbytes)。(只Solaris,从5.0删除)-XX:-DisableExplicitGC禁止调用System.gc(), JVM 依然在

2022-05-25 20:55:29 83

原创 JVM-GC 垃圾回收机制

什么是垃圾回收机制(GC)因为内存空间有限,创建的每个对象和变量都会占据内存,GC做的就是对象清除将内存释放出来。GC 作用位置堆是Java虚拟机进行垃圾回收的主要场所,其次要场所是方法区。JVM 如何判断一个对象是否应该被回收?判断一个对象是否应该被回收,主要是看其是否还有引用。判断对象是否存在引用关系的方法包括引用计数法以及可达性分析。引用计数法:是一种比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只需要收集计数为0的对象。此.

2022-05-25 20:53:01 462

原创 JVM-内存结构

堆:线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。堆结构:存放数据:对象实例,数组。控制参数:参数描述-Xms堆内存初始大小-Xmx(MaxHeapSize)堆内存最大允许大小,一般不要大于物理内存的80%-XX:NewSize(-Xns)年轻代内存初始大小-XX:MaxNewSize(-Xmn)年轻代内存最大允许大小,也可以缩写-XX:NewRatio新生代和老年代的比值,值为4 表示 新生代:老年代=..

2022-05-25 20:46:59 110

原创 JVM-类加载机制

JVM 的类加载机制一、 加载Class(类)1. 加载路径本地系统中直接加载 rt.jar通过网络下载class 文件从zip,jar等归档文件中加载class 文件(rt.jar、src.zip)从专有数据库中提取class 文件将java 源文件动态编译为class 文件2. 类加载器加载将class 文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数.

2022-05-25 20:41:02 139

原创 JavaSE-安装与环境配置

安装 JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html配置电脑环境打开电脑环境配置系统变量中添加变量名:Java_Home变量值:javaSDK 安装路径配置系统变量中的 Path 变量编辑文本在最前面添加 %Java_Home%\bin;%Java_Home%\jre\bin;确定系统变量中添加变量名:CLASSPATH变量值:.;%Ja.

2022-05-25 20:34:48 258

原创 前端点滴(JS核心)(二)---- Ajax基础(二)、使用 Ajax 实现多表联动

前端点滴(JS核心)(二)----倾尽所有Ajax 基础(二)1. Json(1)什么是Josn(2)Json 的用处(3)Json和PHP进行转换(4)Json和JavaScript进行转换(5)总结Ajax 基础(二)1. Json(1)什么是Josnjson本质就是字符串,只不过这个字符串的格式有要求,格式要符合js中的数组或对象的格式。比如:{"employees": [{...

2020-02-02 13:31:01 325

原创 前端点滴(jQuery)(三)

jQuery 进阶二一、使用jQuery中的Ajax实现无刷新分页1. 分页原理php中查询所有数据的语句:select * from 数据表分页原理:假设每一页显示 3 条数据,使用变量$pageSize表示,即$pageSize=3当前的页码从地址栏获取,如果地址栏存在p参数,就获取它,如果不存在p参数,默认是第1页,所以:第一页:select * from 数据表 limi...

2020-02-01 03:02:19 254

原创 前端点滴(jQuery)(二)

jQuery 进阶一、jQuery 杂项1. 释放 $$表示jQuery对象,或者说它表示jQuery函数。使用jQuery必须要使用$符号。释放$,也就是在使用jQuery的时候,不用$符号。2. 为什么要释放 $为了避免冲突,所以要释放$。有些时候,可能项目中用到的js框架不止一个,其他框架有可能也用$。有些时候,我们自己定义一个函数,函数名就是$。 这些情况都会和jQuery...

2020-01-30 19:43:01 335

原创 前端点滴(jQuery)(一)

一、jQuery概述1. 什么是 jQueryjQuery是一个js框架。封装了很多实用的方法,基本解决了浏览器的兼容问题。框架类似于现实生活中的毛坯房。比如说做一个项目好比盖一座房子。2. jQuery 特点write less, do more. 写的更少,做的更多。1.语法简练、语义易懂、学习快速、文档丰富。2.jQuery 是一个轻量级的脚本,其代码非常小巧。3.jQu...

2020-01-29 23:46:17 343

原创 前端点滴(JS核心)(四)---- 正则表达式(下)

前端点滴(JS核心)(四)----倾尽所有一、正则表达式实例1. 用户名验证2. 密码验证3. 手机号码验证4. 邮箱验证5. 总结表单验证一、正则表达式实例1. 用户名验证注册时,要求用户名:1)长度4~10位2)不能是纯数字3)不能是纯字母4)不能有特殊符号5)不能以数字开头<script> var username = 'S2DS'; var r...

2020-01-28 23:32:51 173

原创 前端点滴(JS核心)(四)---- 正则表达式(上)

前端点滴(JS核心)(四)----倾尽所有一、正则表达式(上)1. 前言2. 匹配模式3. 正则表达式分组/捕获和反向引用4. 正则表达式匹配中文(utf-8编码)5. 环视(断言/零宽断言/正向预测/负向预测)(1)环视的过滤效果(2)环视的限定效果6. 正则对象的属性和方法(1)exec方法和lastIndex属性(2)test 方法7. 支持正则表达式的 String 对象的方法(1)sea...

2020-01-28 18:14:40 302

原创 前端点滴(JS核心)(三)---- 使用 Ajax 实现多表联动(优化)、XML、FromData对象、跨域请求

前端点滴(JS核心)(三)----倾尽所有优化三表联动1. 将数据库修改成文件2. 简化 PHP 代码 (控制层)3. 修改 JavaScript 代码(1)加载省份(2)加载对应的市(3)加载对应的区、县4. 简化 JavaScript 代码(封装函数)XML1. 什么是 XML2. XML 的媒介作用3. XML 实例4. PHP 返回 XML 格式的数据5. 浏览器处理 XML 格式数据优...

2020-01-28 03:20:44 497

原创 前端点滴(JS核心)(一)---- 回调函数、Ajax基础(一)

前端点滴(JS进阶)(五)----倾尽所有一、回调函数1. 函数也是对象2. 函数也是值3. 函数可以作为参数传递(回调函数)4. 回调函数应用(1)同步中的回调(2)异步中的回调二、JavaScript 异步编程一、回调函数1. 函数也是对象JavaScript 中处处皆对象,函数也不例外。那么如何理解函数也是对象呢?这里主要要表达的是函数也可以使用对象那样的点语法。比如前面学习的Per...

2020-01-22 01:58:55 318

原创 前端点滴(JS进阶)(四)---- JS面向对象编程特性、深浅拷贝

前端点滴(JS进阶)(四)----倾尽所有杂项1. arguments对象2. this 指向问题this 的指向(1)全局环境下 this 表示window对象(2)事件处理函数中的 this 指向(3)面向对象中的 this 指向(4)定时器中的 this 指向修改 this 指向(1)apply 函数(2)call 函数(3)bind 函数JS面向对象编程特性1. 封装(1)es5 封装(2...

2020-01-20 03:22:07 301

原创 前端点滴(JS进阶)(三)---- JavaScript 两链一包

前端点滴(JS进阶)(三)----倾尽所有一、作用域链1. 作用域的概念2. 作用域链二、面向对象编程1. 知识回顾2. 定义对象(1)new 内置对象(2)直接量语法(3)Es5 new 构造函数(4)Es6 Class(类)3. 对象的相关操作4. 对象在内存中的存在形式5. 构造函数6. 原型对象(1)没有利用原型对象的情况(2)获取原型对象(3)利用原型对象7. 原型链三、闭包1. Jav...

2020-01-18 22:27:08 1264

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除