03 2021 档案
摘要:ES6 语法指南 什么是 ES6 ES6:就是ECMAScript第6版标准。 前端的发展历程: web1.0时代: 最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务的到客户端单向流通。开发人员也只关心页面的样式和内容即可。 web2.0时代: 1995年,网景工程师Bren
阅读全文
摘要:Zuul网关 前言 使用Spring Cloud实现微服务的架构,大致是这样的: 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用
阅读全文
摘要:Feign 在前面的学习中(SpringCloud 学习笔记1),使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码: String baseUrl = "http://user-service/user/"; User user = this.restTemplate.getForObj
阅读全文
摘要:Hystrix 简介 Hystix,即熔断器。主页:https://github.com/Netflix/Hystrix/ , 已经停更两年多了。 Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。 熔断器的工作机制 正常工作的情况下,客户端请求调
阅读全文
摘要:Eureka注册中心 认识Eureka 首先我们来解决第一问题,服务的管理。 问题分析 在刚才的案例中,UserService对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益
阅读全文
摘要:Http客户端工具 既然微服务选择了Http,那么我们就需要考虑自己来实现对请求和响应的处理。不过开源世界已经有很多的http客户端工具,能够帮助我们做这些事情,例如: HttpClient OKHttp URLConnection HttpClient 介绍 HttpClient是Apache公司
阅读全文
摘要:系统架构演变 随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方
阅读全文
摘要:MyBatis 框架概述 mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 mybatis 通过 xml 或注解的方式将要执行的各种 statem
阅读全文
摘要:Maven 仓库 Maven 仓库的分类 maven 的工作需要从仓库下载一些 jar 包,如下图所示,本地的项目 A、项目 B 等都会通过 maven 软件从远程仓库(可以理解为互联网上的仓库)下载 jar 包并存在本地仓库,本地仓库 就是本地文 件夹,当第二次需要此 jar 包时则不再从远程仓库
阅读全文
摘要:什么是程序的耦合 耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多, 其耦合性越强, 同时表明其独立性越差 ( 降
阅读全文
摘要:工程的创建、配置 创建 WEB 工程:SpringMvcStart 引入 jar 包(pom.xml) <properties> <!-- 版本锁定 --> <spring.version>5.0.2.RELEASE</spring.version> </properties> <dependenc
阅读全文
摘要:RequestMapping 注解 作用:是建立请求URL和处理方法之间的对应关系 RequestMapping注解可以作用在方法和类上 作用在类上:第一级的访问目录 作用在方法上:第二级的访问目录 细节:路径可以不编写 / 表示应用的根目录开始 细节:${ pageContext.request.
阅读全文
摘要:SpringBoot实践 整合SpringMVC 修改端口 查看SpringBoot的全局属性可知,端口通过以下方式配置:创建 SpringBoot 默认配置文件 —— application.yaml server: port: 80 也可以使用 application.properties 默认
阅读全文
摘要:自动配置原理 使用SpringBoot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这是如何做到的? 一切魔力的开始,都是从我们的main函数来的,所以我们再次来看下启动类: @SpringBootApplication public class Bo
阅读全文
摘要:Java配置 在入门案例中,我们没有任何的配置,就可以实现一个SpringMVC的项目了,快速、高效! 如果没有任何的xml,那么我们如果要配置一个Bean该怎么办?比如我们要配置一个数据库连接池,以前会这么玩: <!-- 配置连接池 --> <bean id="dataSource" class=
阅读全文
摘要:快速入门 创建工程 新建一个空的工程: 工程名为demo: 新建一个model: 使用maven来构建: 然后填写项目坐标: 目录结构: 项目结构: 添加依赖 添加父工程坐标 <parent> <groupId>org.springframework.boot</groupId> <artifact
阅读全文
摘要:了解SpringBoot 什么是SpringBoot SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 我们可以看到下面的一段介绍: Takes an opinionated view of building produ
阅读全文
摘要:XML 文件的配置 <bean id="" class="" init-method="" destroy-method="" scope=""> <property name="" value=""></property> <property name="" ref=""></property>
阅读全文
摘要:Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发。 使用步骤 导入架包:commons-logging-1.2.jar、spring-beans-5.0.0.RELEASE.jar、spring-core-5.0.0.RELEASE.jar、 sprin
阅读全文
摘要:PlatformTransactionManager 此接口是 spring 的事务管理器,它里面提供了我们常用的操作事务的方法 // 获取食物状态信息 TransactionStatus getTransaction(TransactionDefinition definition) // 提交事
阅读全文
摘要:AOP 概述 AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象
阅读全文
摘要:什么是工厂 工厂就是负责给我们从容器中获取指定对象的类。这时候我们获取对象的方式发生了改变。 控制反转 控制反转(Inversion of Control,英文缩写为I0C)把创建对象的权利交给框架,是框架的重要特征,并非面向对象编程的专用术语。它包括依赖注入(Dependency Injectio
阅读全文
摘要:jsp演变历史 早期只有servlet,只能使用response输出标签数据,非常麻烦。 后来jsp简化了Servlet的开发,如果过度使用jsp,在jsp中写大量的java代码,又写html标签,造成难于维护,难于分工协作。 再后来,java的web开发,借鉴mvc设计思想,使得程序的设计更加合理
阅读全文
摘要:SpringMVC 的基本概念 系统标准的三层架构包括:表现层、业务层、持久层。 三层架构中,每一层各司其职: 表现层 也就是我们常说的 web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使用 http 协议请求web 层,web 需要接收 http 请求,完成 http 响应。 表现层
阅读全文
摘要:软件版本 电脑系统:macOS 10.14.6 虚拟机软件:Parallels Desktop15 Hadoop各节点节点操作系统:CentOS-7-x86_64-Minimal-1908.iso CentOS 7 JDK版本:jdk1.8.0_162 Hadoop版本:hadoop-2.7.7 H
阅读全文
摘要:软件版本 电脑系统:macOS 10.14.6 虚拟机软件:Parallels Desktop15 Hadoop各节点节点操作系统:CentOS-7-x86_64-Minimal-1908.iso CentOS 7 JDK版本:jdk1.8.0_162 Hadoop版本:hadoop-2.7.7 Z
阅读全文
摘要:软件版本 电脑系统:macOS 10.14.6 虚拟机软件:Parallels Desktop15 Hadoop各节点节点操作系统:CentOS-7-x86_64-Minimal-1908.iso CentOS 7 JDK版本:jdk1.8.0_162 Hadoop版本:hadoop-2.7.7 Z
阅读全文
摘要:环境准备 软件版本 电脑系统:macOS 10.14.6 虚拟机软件:Parallels Desktop15 Hadoop各节点节点操作系统:CentOS-7-x86_64-Minimal-1908.iso CentOS 7 JDK版本:jdk1.8.0_162 Hadoop版本:hadoop-2.
阅读全文
摘要:利用Homebrew安装Redis 搜索一下Redis安装包 brew search redis 安装 Redis 4.0 版本 brew install redis@4.0 配置 Redis configure文件:/usr/local/etc 下修改redis.config找到 daemoniz
阅读全文
摘要:下载 Maven 3.5.4 压缩包:https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz 解压 maven 安装包 到目录 /Library 下 sudo tar -zx
阅读全文
摘要:安装 Tomcat 8 备注:Tomcat 依赖 jdk,所以安装 Tomcat 请先安装好JDK,这里就不详细说明,安装JDK方面,网上有很多教程。 brew 安装 Tomcat 首先,自己电脑要安装到 brew,且能正常使用,如果没安装 brew,可参考我的另一篇博文:Mac 安装 brew(最
阅读全文
摘要:Video ID / sCPN :每个视频独特的、独有的ID / 用于识别问题的字符串(开发人员适用) Viewport / Frames:当前播放窗口的分辨率 / 视频帧数的变化情况(由于主机性能的原因导致的丢帧数) Current / Optimal Res:视频的解析度 / 最佳解析度 Vol
阅读全文
摘要:Jedis 简介 Jedis 是 Java 操作 Redis 的驱动架包。在使用前需要先下载好驱动架包jedis.jar 首先你需要下载驱动包 下载 jedis.jar,确保下载好驱动包。 在 classpath 中包含该驱动包。 连接到 redis 服务 /** 连接 Redis 数据库 */ @
阅读全文
摘要:Redis是一个内存数据库,当redis服务器重启,或者电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。 redis持久化机制: RDB:默认方式,不需要进行配置,默认就使用这种机制 在一定的间隔时间中,检测key的变化情况,然后持久化数据 配置在 /usr/loca
阅读全文
摘要:Redis 存储的数据 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 类型 简介 特性 场景 String(字符串) 二进制安全 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储
阅读全文
摘要:什么是关系型数据库 关系数据库是数据项之间具有预定义关系的数据项的集合。这些项被组织为一组具有列和行的表。表用于保存有关要在数据库中表示的对象的信息。表中的每列都保存着特定类型的数据,字段存储着属性的实际值。表中的行表示一个对象或实体的相关值的集合。表中的每一行可标有一个称为主键的唯一标识符,并且可
阅读全文
摘要:webpack Webpack 是一个前端资源的打包工具,它可以将js、image、css等资源当成一个模块进行打包。 中文官方网站:https://www.webpackjs.com/ 官网给出的解释: 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(modul
阅读全文
摘要:组件化 在大型应用开发的时候,页面可以划分成很多部分。往往不同的页面,也会有相同的部分。例如可能会有相同的头部导航。 但是如果每个页面都独自开发,这无疑增加了我们开发的成本。所以我们会把页面的不同部分拆分成独立的组件,然后在不同页面就可以共享这些组件,避免重复开发。 全局组件 我们通过Vue的com
阅读全文
摘要:指令 指令 (Directives) 是带有 v- 前缀的特殊特性。指令特性的预期值是:单个 JavaScript 表达式。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。 插值表达式 花括号 格式: {{表达式}} 说明: 该表达式支持JS语法,可以调用js内置函数(
阅读全文
摘要:快速入门 创建工程 创建一个新的空工程: 然后新建一个module: 选中JavaScript,静态web项目: 位置信息: 安装vue 下载安装 下载地址:https://github.com/vuejs/vue 可以下载2.6.11版本 https://github.com/vuejs/vue/
阅读全文
摘要:前言 静态页面 最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务端到客户端单向流通。开发人员也只关心页面的样式和内容即可。 异步刷新,操作DOM 1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言. 随着JavaScript的诞生,我
阅读全文
摘要:案例要求 功能要求: 登录功能 添加、修改、删除功能 删除所选项功能 分页查询功能 复杂条件查询功能 准备阶段 下载jar包 将jar包导入到 WEB-INF/lib 目录下 c3p0-0.9.1.2.jar commons-beanutils-1.8.3.jar commons-logging-1
阅读全文
摘要:Ajax 简介 AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对
阅读全文
摘要:Filter 简介 Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet。Servlet 过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML
阅读全文
摘要:XPath XPath是一门在XML文档中查找信息的语言,它提供了非常简洁明了的路径选择表达式。 表达式 描 述 nodename 选取此节点的所有子节点 / 从当前节点选取直接子节点 // 从当前节点选取子孙节点 . 选取当前节点 .. 选取当前节点的父节点 @ 选取属性 举例1: //title
阅读全文
摘要:XML 解析 简单的说,对XML文档的解析就是,操作xml文档,将文档中的数据读取到内存中。 操作xml文档 解析(读取):将文档中的数据读取到内存中 写入:将内存中的数据保存到xml文档中。持久化的存储 解析xml的方式 解析XML的方式有两种,DOM 和 SAX。 DOM方式解析xml文档 将标
阅读全文
摘要:XML编写约束 作为一个技术的使用者,我们怎么样编写xml文档才能够给程序读懂呢?如我们使用Spring MVC框架,这个时候就可以通过XML文档与这个半成品软件(框架)进行交互。研究者在编写框架的时候,是不知道我们将来编写的XML文档是怎么样的,这个时候就需要一个约束来规定编写,使得技术使用者能够
阅读全文
摘要:XML 概念 xml简述 XML 是 Extensible Markup Language 的简写,是一门可扩展标记语言,结构清晰。 可扩展 XML 的标签都是自定义的,不同于html的标签,html的标签是预定义的。如下,标签都是自定义的,想写啥标签就写啥标签: <user> <student>
阅读全文
摘要:将Tomcat集成到IDEA中 第一步 第二步 创建JavaEE的项目 第一步 第二步 第三步 部署项目 IDEA上运行部署好的项目 访问默认首页(web目录下的index.jsp) 也可以在web目录下创建一个html文件如:(热部署) 这时候可以通过 http://localhost:8080/
阅读全文
摘要:部署项目的方式 直接将项目放到webapps目录 举例如: 创建一个文件夹,用该文件夹来存放项目 在该文件夹下创建一个html文件,并输入部分内容 <font color='blue'> Hello Tomcat! </font> 将该文件夹放到 tomcat/webapps/ 目录下,这个时候我们
阅读全文
摘要:web服务器软件 服务器:安装了服务器软件的计算机 服务器软件:接收用户的请求,处理请求,做出响应 web服务器软件:接收用户的请求,处理请求,做出响应。 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目 web容器 常见的java相关的web服务器软件: webLogic:
阅读全文
摘要:session对象 在web开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户
阅读全文
摘要:会话技术 概述 会话是浏览器和服务器之间的多次请求和响应。 也就是说,从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止的这段时间内容产生的多次请求和响应,合起来叫做浏览器和服务器之间的一次会话。 功能 实际上会话问题解决的还是客户端与服务器之间的通信问题,通过一些会话技术,可以将每个用户的数
阅读全文
摘要:ServletContext对象概述 ServletContext用来存放全局变量,每个Java虚拟机每个Web项目只有一个ServletContext,这个ServletContext是由Web服务器创建的,来保证它的唯一性。由于一个WEB应用中的所有Servlet共享同一个ServletCont
阅读全文
摘要:概念:Hyper Text Transfer Protocol 超文本传输协议 传输协议:定义了,客户端和服务器端通信时,发送数据的格式 特点: 基于TCP/IP的高级协议 默认端口号:80 基于请求/响应模型的:一次请求对应一次响应 无状态的:每次请求之间相互独立,不能交互数据 历史版本: 1.0
阅读全文
摘要:对于Servlet接口而言,实现该接口,都要覆盖重写该接口的所有抽象方法。GenericServlet 是 Servlet接口的实现类,它对Servlet的所有抽象方法都进行了覆盖重写(都做了默认的空实现),其中有一个方法是抽象方法,那就是提供服务的方法 service 方法。 GenericSer
阅读全文
摘要:在 Servlet 3.0 之前,我创建的每个Servlet的实现类,都需要配置 web.xml 文档,在 Servlet 3.0 以及后面的版本中,我们可以不用创建 web.xml ,通过注解的方式添加数据配置。 实例引入 创建JavaEE项目:ServletStudy 创建Servlet实现类:
阅读全文
摘要:简述Servlet接口中的抽象方法 Servlet 接口中的抽象方法 // 初始化方法 void init(ServletConfig var1); // 获取Servlet配置对象 ServletConfig getServletConfig(); // 提供服务的方法 void service(
阅读全文
摘要:Servlet 是什么? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,
阅读全文
摘要:Response 对象功能介绍 功能:设置响应消息(响应头、响应行、响应体) 设置响应行: 格式:HTTP/1.1 200 ok 设置状态码:setStatus(int sc) 设置响应头:setHeader(String name, String value) 设置响应体: 使用步骤: 获取输出流
阅读全文
摘要:服务器内部请求的转发 这里请求传递所使用的方法: // 通过request对象获取请求转发器对象 RequestDispatcher getRequestDispatcher(String path) // 使用RequestDispatcher对象来进行转发 forward(ServletRequ
阅读全文
摘要:Request 获取请求参数,中文乱码问题 实例引入: 创建一个html文件:garbled.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>中文乱码问题</title> </head> <body
阅读全文
摘要:获取请求参数通用方式 获取请求参数通用方式 String getParameter(String name) // 根据参数名称获取参数值 String[] getParameterValues(String name) // 根据参数名称获取参数值的数组 Enumeration<String> g
阅读全文
摘要:Request 获取请求行数据 获取方法 String getMethod() // 获取请求方式 String getContextPath() // 获取虚拟目录 String getServletPath() // 获取Servlet路径 String getRequestURI() Stri
阅读全文
摘要:简单说明Request原理 创建一个Tomcat项目 创建一个JavaEE项目:RequestAndResponse 创建一个demo.java:ServletDemo.java import javax.servlet.GenericServlet; import javax.servlet.Se
阅读全文
摘要:JSP 标准标签库(JSTL) 概念:JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL即JavaServer Pages Tag Library。(是由Apache组织提供的开源的免费的jsp标签) JSTL支持通用的、结构化的任务,比如迭代,条件判断,X
阅读全文
摘要:JSP 简介 什么是Java Server Pages? JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。 JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。
阅读全文
摘要:JSP 中的指令 JSP中的三种指令标签: 指令 描述 <%@ page ... %> 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等(配置JSP页面) <%@ include ... %> 包含其他文件(导入页面资源文件) <%@ taglib ... %> 引入标签库的定义 指令的
阅读全文
摘要:Expression Language 获取域中存储的值 el表达式只能从域对象中获取值 语法1: ${域名称.键名}:从指定域中获取指定键的值 pageScope --> pageContext requestScope --> request sessionScope --> session a
阅读全文
摘要:JSP表达式语言(EL --> Expression Language)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。 实例引入 典型的,
阅读全文
摘要:JSON 简介 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 J
阅读全文
摘要:jQuery 简介 jQuery是一个JavaScript函数库。 jQuery是一个轻量级的"写的少,做的多"的JavaScript库。 jQuery库包含以下功能:HTML 元素选取、HTML 元素操作、CSS 操作、HTML 事件函数、JavaScript 特效和动画、HTML DOM 遍历和
阅读全文
摘要:目前jQuery有三个大版本: 1.x 版本 兼容ie678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日) 2.x 版本 不兼容ie678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低
阅读全文
摘要:终端命令格式 command [-options] [parameter] 说明: - command : 命令名称, 相应功能的英文单词或单词的缩写 - [-options] : 选项,可用来对命令进行控制, 也可以省略 - parameter : 传给命令的参数,可以是 零个、一个 或者 多个
阅读全文
摘要:计算机入门知识介绍 计算机原理 现代计算机大部分都是基于冯.诺依曼结构,该结构的核心思想是冯将程序和数据都存放在计算机中,按存储器的存储程序首地址执行程序的第一条指令,然后进行数据的处理计算。 计算机应包括运算器、储存器、控制器、输入和输出设备五大基本部件。 计算机内部应采用二进制来表示指令和数据,
阅读全文