• java大框架


    本文章,列出了一些程序员需要学习的技术和知识点,有些技术和知识点没有写道,欢迎大家进行修改和补充,有些技术公司用到,大家需要先学习,有些技术和知识点过时,大家可以了解。
    本人笔记连接[[http://2863c718.wiz03.com/wapp/pages/view/share/s/0EoYso1Xqk4m2eAV4Y385xVk2vODbZ2BZ46Z2ChvzO2jhAyq|学习体系]]。
    ======一.前端======
    =====1.前端基础=====
    ====1.1.html4====
    === HTML介绍===
    === HTML作用 ===
    === 常见标签 ===

    (1)图片标签

    (2)表单标签

    (3)表格标签

    (4)头标签

    (5)框架集

    (6)其他常见标签

    ====1.2.css2====

    CSS概述

    CSS和HTML结合的方式

    CSS选择器

    CSS扩展选择器

    CSS盒子模型

    CSS布局漂浮属性

    CSS布局定位属性

    ==== 1.3.JavaScript基础 ====

    ===1.3.1.JS概述===

    (1)JS与Java不同

    (2)JS的历史

    (3)JS语言组成

    (4)JS与HTML结合方式

    === 1.3.2.JS基础 ===


    (1)JS基本语法

    (2)JS的数据类型

    (3)JS基本语句

    (4)JS运算符

    (5)JS数组

    (6)JS函数的定义

    (7)JS中函数的重载

    (8)JS中的全局变量和局部变量

    === 1.3.3.JS中常见对象 ===

    String对象

    Array对象

    Date对象

    Math对象

    === 1.3.4.JavaScript 全局函数(global) ===

    === 1.3.5.BOM对象 ===

    什么是BOM

    ==1.3.5.1.浏览器对象的使用==

    1.3.5.1.1.History

    History简介
    (1)back()方法
    (2)forward()方法
    (3)go()方法
    (4)制作返回按钮

    1.3.5.1.2.Location

    Location对象简介
    通过href属性完成超链接效果
    超链接按钮效果

    1.3.5.1.3.Window对象

    Window对象简介
    (1)方法
    ① confirm()
    ② prompt()
    ③ open()
    ④ close()
    ⑤ setInterval()
    ⑥ setTimeout()
    ⑦ clearInterval()
    ⑧ alert()

    === 1.3.6.DOM简单入门 ===


    == 1.3.6.1.1.DOM简介 ==


    DOM结构模型

    DOM的三个级别和DHTML介绍

    BOM和HTML DOM关系

    == 1.3.6.2.Document对象 ==


    Element对象

    Node常用属性

    节点名称、值和类型

    父节点、子节点和兄弟节点

    Node常用方法

    检测子节点和属性

    是否存在某节点

    是否存在属性

    操作DOM节点树

    (1)插入节点
    ①appendChild方法
    ②insertBefore方法
    (2)删除节点
    (3)替换节点
    (4)复制节点
    (5)移动节点

    innerHTML

    JS常用事件

    (1)鼠标移动事件
    (2)鼠标点击事件
    (3)加载与卸载事件
    (4)聚焦与离焦时间键盘事件
    (5)提交与重置事件
    (6)选择与改变事件

    省市县三级联动树形菜单制作


    ==== 1.4.Jquery ====

    ===1.4.1.jQuery简介===

    什么是jQuery

    jQuery的特点
    === 1.4.2.jQuery选择器 ===

    基本选择器

    层次选择器

    过滤选择器

    内容过滤选择器

    表单域选择器

    === 1.4.3.jQuery属性操作 ===

    === 1.4.4.jQuery快捷操作 ===

    class属性值操作

    标签包含内容操作

    css样式操作

    value属性快捷操作
    (1)复选框操作
    (2)下拉列表操作
    (3)单选按钮操作
    === 1.4.5.jQuery和DOM对象关系 ===

    === 1.4.6.jQuery框架对象分析 ===

    === 1.4.7.jQuery加载事件 ===

    === 1.4.8.jQuery普通事件操作 ===

    === 1.4.9.jQuery对文档的操作 ===

    === 1.4.10.jQuery属性选择器的使 ===

    === 1.4.11.jQuery事件绑定 ===

    === 1.4.12.jQuery动画效果小案例 ===

    =====2.前端中级=====
    ====2.1.js进阶====
    ====2.2.php与数据库====
    ====2.3.Ajax====
    ====2.4.HTML5+CSS3====
    =====3.前端高级=====
    ==== 3.1.layui ====
    ==== 3.2.Bootstrap ====
    ==== 3.3.移动端 ====
    ==== 3.4.Canvas画布 ====
    ==== 3.5.NodeJS ====
    ==== 3.6.AngularJS ====
    ==== 3.7.ES6-Babel-Webpack-Less ====
    ==== 3.8.Vue ====
    ==== 3.9.AngularJSX ====
    ==== 3.10.Webpack ====
    ==== 3.11.WebAPP-Cordova ====
    ==== 3.12.WebAPP-Ionic ====
    ==== 3.13.ES6 ====
    ==== 3.14.Git微信小程序 ====
    ==== 3.15.Gulp ====
    ==== 3.16.Node ====
    ==== 3.17.React ====

    ======二.后端======
    =====1.Java基础=====

    ==== 1.1.Java编码规范 ====

    源码存储规范

    命名规则

    书写格式

    代码注释

    ==== 1.2.JAVA开发环境 ====


    安装JDK1.7 ,开发环境目录要求

    设置环境变量

    ==== 1.3.软件开发基础 ====


    计算机基础

    操作系统,文件,目录,可执行程序,常用快捷键

    常用的Shell命令

    常用开发语言 了解

    ==== 1.4.第一个JAVA程序HelloWord ====


    在记事本编写程序

    在Shell命令窗口编译、执行

    讲解程序的编译执行过程

    关键字、标识符

    什么是标识符

    (1)标识符的命名规范

    (2)JAVA关键字

    ==== 1.5.数据类型 ====


    数据类型简介

    JAVA中的数据类型

    基本数据类型

    引用数据类型

    基本数据类型有哪些

    数据类型的取值范围

    数据类型的转换

    自动类型转换

    强制类型转换

    ==== 1.6.数组 ====


    数组的说明

    (1)为什么用数组

    (2)一维数组的声明与创建

    (3)Java内存分析,堆和栈(局部变量存储)

    数组的初始化

    (1)静态初始化

    (2)动态初始化

    数组的访问

    (1)通过下标访问指定元素

    (2)循环访问

    数组的排序

    (1)冒泡排序

    (2)选择排序

    数组的查找

    (1)顺序查找

    (2)二分法查找

    Arrays工具类

    二维数组

    (1)二维数组的声明

    (2)二维数组的创建

    二维数组的初始化

    (1)静态初始化

    (2)动态初始化

    二维数组的访问

    (1)通过下标访问指定元素

    (2)通过循环访问数组

    ==== 1.7.流程控制 ====


    什么是JAVA语句的执行结构

    (1)JAVA语句有哪些结构

    (2)顺序语句

    (3)分支语句

    (4)循环语句

    If语句

    (1)简单if语句

    (2)复杂if语句

    (3)if-else语句

    (4)多重if语句

    (5)嵌套if语句

    switch语句

    (1)switch语句用法

    (2)switch使用String分支

    (3)switch语句与if语句的区别

    枚举的简单使用

    (1)枚举的定义

    (2)枚举的使用(结合switch的使用)

    循环语句

    (1)什么是循环

    (2)Java中的循环语句

    for循环语句

    while循环

    (1)while循环语句

    (2)do-while循环语句

    特殊流程控制语句

    (1)break语句的使用

    (2)continue语句的使用

    (3)label 的简述

    比较while和do-while的区别

    ==== 1.8.类.变量,方法,对象 ====


    类的定义

    什么是变量

    变量的声明和初始化

    变量的分类

    变量的作用域

    对象的定义

    对象的创建以及内存分析

    构造方法的定义

    (1)构造方法的定义

    (2)构造方法的使用

    (3)构造方法重载

    (4)构造方法与普通方法的区别

    this关键字

    (1)this.属性:访问本类的成员属性(成员变量与局部变量同名的情况,成员变量无效)

    (2)this.方法:访问本类的成员方法

    (3)this():访问本类中的构造函数

    static关键字

    (1)静态属性

    (2)静态方法

    (3)静态代码块

    static的应用

    (1)工具类(操作数组常用方法为例,写一个工具类)

    (2)工具类的概念

    类中成员变量的定义

    常量、进制转换

    (1)什么是常量

    (2)二进制转换十进制

    运算符

    (1)常用运算符

    (2)算术运算符

    (3)赋值运算符

    (4)关系运算符

    (5)逻辑运算符

    (6)三目运算符

    (7)字符串连接运算符

    (8)位运算符

    (9)移位运算符

    表达式的值和类型

    转义字符

    运算符优先级

    什么是方法

    (1)方法(函数)

    (2)方法中的参数

    ① 形参

    ② 实参

    (3)方法的返回值

    方法的声明和调用

    (1)声明方法的格式

    (2)调用方法的格式

    可变参数

    (1)可变参数的写法

    (2)可变参数的使用

    类中方法的定义

    方法的重载

    内部类

    (1)成员内部类

    (2)静态内部类

    (3)匿名内部类

    (4)局部内部类

    ==== 1.9.面向对象 ====


    1.9.1.什么是面向对象

    1.9.2.面向对象的设计思想

    1.9.3.面向对象和面向过程的区别

    (1)面向对象

    (2)面向过程

    (3)区别总结

    1.9.4.抽象类和抽象方法

    (1)抽象类出现的原因

    (2)抽象类的特点

    1.9.5.封装

    (1)private 的使用

    (2)get/set

    (3)方法的说明(讲this之前,参数与成员变量名称要不同)

    1.9.6.继承

    继承的概念

    类的继承的使用

    super关键字

    继承中的构造方法

    访问权限

    (1)private

    (2)default(默认)

    (3)protected

    (4)public

    方法重写

    (1)方法重写的规则

    (2)Object 类

    ① equals()方法

    ② hashCode()方法

    ③ getClass()方法

    ④ toString()方法

    final关键字

    (1)final修饰的类

    (2)final修饰的方法

    (3)final修饰的属性

    (4)final与static的区别

    1.9.7.多态

    什么是多态

    多态的体现

    对象的多态性

    多态的表现形式

    接口

    (1)接口的概念

    (2)接口的使用

    ① 接口的声明语法

    ② 接口的实现类

    ③ 接口的使用规则

    ④ 接口的使用用途

    ⑤ 接口与抽象类的区别

    对象转型

    (1)对象的向上转型

    (2)instanceof 关键字

    (3)对象的向下转型


    ==== 1.10.正则表达式 ====


    (1)String 正则

    (2)Pattern Matcher

    (3)正则元字符

    (4)正则表达式

    ==== 1.11.常用类 ====


    1.11.1.字符串

    (1)String类

    (2)StringBuffer类

    (3)StringBuilder类

    (4)String.format() 格式化

    1.11.2.基本数据类型的包装类

    基本数据类型与其包装类

    数据的装箱和拆箱

    String 与 基本数据类型的互换

    1.11.3.Date类

    1.11.4.Calendar类

    1.11.5.SimpleDateFormat类

    1.11.6.Math类

    1.11.7.Random类

    1.11.8.Runtime类

    1.11.9.System类

    ==== 1.12.异常 ====


    异常的概念

    异常的分类

    异常的处理方式

    (1)捕获异常:try..catch..finally语句

    (2)抛出异常:throws和throw

    自定义异常

    ==== 1.13.泛型的使用 ====


    泛型应用在集合上

    泛型类声明,方法返回泛型,方法参数泛型

    泛型限定

    ==== 1.14.反射 ====


    类的加载 Class.forName()

    创建对象的两种方式(newInstance与带参数构造器)

    成员变量的访问Field类和getDeclaredField方法

    方法的访问与调用 Method

    构造方法

    ==== 1.15.注解 ====


    ==== 1.16.集合 ====


    1.16.1.集合框架介绍

    (1)集合的概念

    (2)集合的框架结构介绍

    (3)集合与数组的对比

    1.16.2.Collection接口

    (1)集合对象的创建

    (2)Collection中常用的方法

    1.16.3.List接口

    (1)List接口的存储特点

    (2)List接口的实现类

    ① ArrayList实现类的使用

    ② LinkedList实现类的使用

    ③ ArrayList与LinkedList存储的比较

    1.16.4.增强for循环

    1.16.5.Iterator迭代器

    (1)迭代器的工作原理

    (2)迭代器的使用

    1.16.6.集合工具

    (1)Collections 工具类

    (2)Comparable

    (3)Comparator

    1.16.7.Set接口

    (1)集合的存储特点

    (2)HashSet的实现原理

    ① 重写hashCode()

    ② 重写equals()

    (3)LinkedHashSet(添加)

    1.16.8.Map接口

    (1)Map接口的概述

    (2)Map接口的常用方法

    (3)Map接口的常用实现类

    (4)HashMap

    (5)Hashtable 和 HashMap的区别

    (6)LinkedHashMap

    (7)Map的遍历:各种遍历方式 Map.Entry

    ==== 1.17.IO流 ====


    1.17.1.File类

    File类作用

    File类的构造方法

    File类常用方法

    使用File类对文件进行操作

    使用File类浏览目录中的文件和子目录

    递归算法遍历目录下所有文件与子目录

    1.17.2.IO概念

    什么是IO流?

    流的作用和原理?

    1.17.3.IO流的种类

    按方向分:输入流、输出流

    按数据单位分:字符流、字节流

    按层次分:节点流、处理流

    1.17.4.字节输入流

    InputStream类的常用方法

    InputStream类的子类:文件输入流FileInputStream

    FileInputStream构造方法和常用方法

    1.17.5.字节输出流

    OutputStream类的常用方法

    OutputStream类的子类:文件输出类FileOutputStream

    FileOutputStream构造方法和常用方法

    1.17.6.字节缓冲流

    字节缓冲流的构造方法

    使用字节缓冲流对文件进行读写

    装饰设计模式

    1.17.7.字符输入流

    Reader类的常用方法

    Reader类的子类:FileReader

    FileReader构造方法和常用方法

    1.17.8.字符缓冲流

    字符缓冲流构造方法

    字符缓冲流的常用方法:readLine(), newLine()

    字符缓冲流对文件进行读写

    1.17.9.字符输出流

    Writer类的常用方法

    Writer类的子类:FileWriter

    FileWriter构造方法和常用方法

    1.17.10.转换流

    InputStreamReader的构造方法

    InputStreamReader的使用

    OutputStreamWriter的构造方法

    OutputStreamWriter的使用

    1.17.11.打印流

    打印流构造方法

    打印流的常用操作:print(), println()

    1.17.12.标准输入输出流

    (1)使用System.in获取键盘数据

    (2)使用System.out输出数据

    1.17.13.内存流(重点掌握)

    什么是内存流

    内存流的构造方法

    写入到内存和读取内存数据

    常用方法:toByteArray(), toString()

    1.17.14.数据输入输出流

    DataOutputStream 使用

    DataInputStream 使用

    1.17.15.对象流

    对象序列化

    序列化的常用属性

    (1)static的属性不能序列化

    (2)transient的属性不能序列化

    (3)serialVersionUID=1L

    对象输入流ObjectInputStream

    对象输出流ObjectOutputStream

    1.17.16.随机流RandomAccessFile类

    RandomAccessFile类的构造方法

    RandomAccessFile常用操作:skipBytes() seek()

    常用方法: getFilePointer() writerUTF() readUTF()

    向文件中随机写入键盘文字

    ==== 1.18.线程 ====


    1.18.1.线程和进程的介绍

    进程的概念

    线程的概念

    进程和线程的关系以及区别

    1.18.2.线程的实现实现

    Runnable接口

    两种实现方式的比较

    1.18.3.线程的启动

    调用start()方法启动线程

    调用start()与调用run()的区别

    1.18.4.线程的生命周期和常用方法

    线程的优先级

    线程的名称

    线程的睡眠

    线程的中断

    线程的停止

    1.18.5.多线程访问临界资源时的数据安全问题

    synchronized关键字

    同步代码块

    同步方法

    同步静态方法

    锁对象

    死锁

    1.18.6.生产者消费者

    1.18.7.线程池

    单线程池

    固定线程池

    缓冲线程池

    ==== 1.19.网络编程 ====


    1.19.1.网络通信协议介绍

    TCP/IP协议

    IP地址和端口号

    基于TCP的网络编程

    Socket和ServerSocket

    UDP编程(视频)

    1.19.2.URL类的使用

    什么是URL类

    URL的构造方法

    URL类的常用方法

    1.19.3.HttpURLConnection类简介(重点)

    简单介绍HttpURLConnection类

    HttpURLConnection的常用方法

    1.19.4.HttpURLConnection类的应用

    HttpURLConnection请求服务器,获取响应的文本

    HttpURLConnection下载文件

    1.19.5.OkHttp 简单使用

    同步GET、POST请求

    1.19.6.接口回调

    接口回调结合多线程的应用

    异步请求,利用内部类,实现接口回调

    ==== 1.20.Xml ====


    1.20.1.XML简介

    什么是XML

    XML语法结构

    XML元素定义

    XML属性使用

    自定义XML文件

    XML解析的三种方式说明:SAX, PULL, DOM

    1.20.2.PULL解析

    PULL解析原理

    PULL解析XML文件

    网络XML文件解析

    1.20.3.SAX解析

    SAX解析的原理

    SAX解析常用类介绍

    SAX解析XML文件步骤

    网络XML文件解析

    PULL解析与SAX解析的区别

    ==== 1.21.Json ====


    1.21.1.JSON解析简介

    什么是JSON

    JSON与XML之间的比较

    JSON解析在网络中的应用

    1.21.2.JSON的数据表示

    键值对的对象表示

    数组的表示

    1.21.3.JSON解析

    一个对象的JSON解析

    多个对象的解析

    复杂对象的解析

    将集合转成JSON字符串

    官方JSON解析

    Gson解析

    ==== 1.22.设计模式 ====


    单例设计模式

    简单工厂设计模式

    装饰者模式

    代理模式

    观察者模式
    ======三.Web基础======
    ====1.数据库====

    1.1.需要学习了解的数据库

    Mysql

    公司使用,主要学习,MySQL 在 2008 年被Sun收购需要学习其他数据库语言作为可替代方案

    oracle

    Sqlserver

    微软的只能在Windows平台使用,工作中基本不用,只需了解

    MariaDB

    PostgreSQL

    MangoDB

    NoSQL

    1.2.Mysql

    数据库简介

    mysql安装和概述

    mysql基本命令

    mysqlDDL操作

    mysqlDML操作

    mysqlDQL操作

    mysql模糊查询

    mysql分组查询

    分页

    数据库约束

    多表查询

    查询练习

    MySQL数据库的备份与恢复

    1.3.JDBC

    Java操作数据库

    获取数据库连接

    使用Statement执行更新操作

    使用ResultSet执行查询操作

    以面向对象思想编写JDBC

    使用PreparedStatement

    利用反射及JDBC元数据编写通用的查询方法

    DAO设计模式

    JDBC元数据JDBC获取插入记录的主键值

    JDBC处理Blob

    事务介绍

    JDBC处理事务

    批量处理

    数据库连接池

    (1)TOMCAT中的数据库连接池

    (2)C3P0

    (3)DBCP

    (4)Druid

    使用DBUtils

    1.4.oracle

    数据库简介

    Oracle服务端和客户端安装

    Oracle基本命令

    Oracle中的用户管理

    Oracle中表的管理

    Oracle查询操作

    Oracle中的函数表的逻辑备份与恢复

    数据库约束

    Oracle索引、权限

    分页
    ====2.Tomcat====
    Tomcat简介

    Tomcat安装

    Tomcat安装目录介绍

    ====3.Servlet====

    3.1.Servlet概述

    什么是Servlet

    实现Servlet的方式

    创建HelloWorld应用

    3.2.Servlet接口

    3.2.1.Servlet生命周期

    Servlet出生

    Servlet服务

    Servlet的离去

    3.2.2.Servlet接口相关类型

    ServletRequest和ServletResponse

    ServletConfig

    3.2.3.GenericServlet

    GenericServlet概述

    GenericServlet的init()方法

    实现了ServletConfig接口

    3.2.4.HttpServlet

    3.2.4.1.概述

    3.2.4.2.HttpServlet覆盖了service()方法

    3.2.4.3.<url-pattern>

    (1)/XXX

    (2)*.XXX

    3.2.4.4.doGet()和doPost()

    3.2.4.5.Response

    response概述

    response响应正文

    (1)字符响应流

    设置响应头

    信息设置状态码及其他方法

    重定向

    (1)什么是重定向

    (2)完成重定向

    (3)便捷的重定向方式

    (4)重定向小结

    Request

    (1)request概述

    (2)request域方法

    (3)request获取请求头数据

    (4)request获取请求相关的其它方法

    (5)request获取请求参数

    (6)请求转发和请求包含

    ① 请求转发

    ② 请求包含

    ③ 请求转发与请求包含比较

    ④ 请求转发与重定向比较

    3.3.Servlet细节

    Servlet与线程安全

    让服务器在启动时就创建Servlet

    服务端跳转与客户端跳转

    web.xml文件的继承(了解)

    3.4.ServletContext

    ServletContext概述

    获取ServletContext

    域对象的功能

    获取应用初始化参数

    获取资源相关方法

    (1)获取真实路

    (2)径获取资源流

    (3)获取指定目录下所有资源路径

    访问量统计

    ====4.编码====
    4.1.请求编码

    (1)直接在地址栏中给出中文

    (2)在页面中发出请求

    (3)GET请求解读编码

    (4)POST请求解读编码

    4.2.响应编码

    4.3.URL编码
    ====5.路径问题====
    与路径相关的操作

    客户端路径

    服务端路径

    <url-pattern>

    ServletContext获取资源

    Class获取资源

    ClassLoader获取资源
    ====6.注解配置Servlet====
    ====7.JSP====

    7.1.JSP概述

    什么是JSP

    JSP的组成

    7.2.JSP语法

    JSP脚本

    多个<%...%>可以通用

    7.3.JSP原理

    JSP是特殊的Servlet

    JSP真身存放目录

    7.4.再论JSP脚本

    7.5.JSP注释

    7.6.三个基本的脚本元素

    7.7.JSP指令

    7.8.JSP动作

    7.9.JSP EL表达式

    7.10.JSP标签库

    JSTL

    fmt标签库常用标签

    7.11.绝对路径和相对路径

    7.12.静态包含和动态包含

    7.13.页面中的几个路径

    7.14.验证码案例

    验证码的作用

    VerifyCode类

    在页面中显示动态图片

    在注册页面中使用验证码

    RegisterServlet

    总结验证码案例

    7.15.MVC设计模式

    7.16.JavaWeb与MVC

    JSP Model1第一代

    JSP Model1第二代

    JSP Model2

    7.17.JavaWeb经典三层框架

    7.18.Filter

    7.18.1.过滤器概述

    Filter简介

    过滤器之HelloWorld

    7.18.2.过滤器详细

    过滤器的生命周期

    FilterConfig

    FilterChain

    多个过滤器执行顺序

    四种拦截方式

    过滤器的应用场景

    设置目标资源

    Filter小结

    7.18.3.过滤器应用案例

    分ip统计网站访问次数

    粗粒度权限控制

    禁用资源

    解决全站字符乱码

    页面静态化

    7.19.JavaWeb监听器

    JavaWeb监听器概述

    创建与销毁监听器

    操作域属性的监听器

    HttpSession的监听器

    7.20.国际化

    什么是国际化

    理解国际化

    Locale类

    ResourceBundle类

    页面国际化

    NumberFormat

    DateFormat

    MessageFormat

    7.21.Ajax

    7.21.1.js原生的ajax

    7.21.2.jQuery封装的ajax

    AJAX概述

    (1)什么是AJAX

    (2)同步交互与异步交互

    (3)AJAX常见应用情景

    (4)AJAX优缺点

    AJAX技术

    (1)AJAX第一例

    (2)AJAX发送POST请求

    (3)AJAX判断用户名是否已注册

    (4)AJAX实现省市二级联动

    7.22.文件上传和下载

    文件上传

    (1)文件上传的作用

    (2)文件上传对页面的要求

    (3)比对文件上传表单和普通文本表单的区别

    (4)文件上传对Servlet的要求

    commons-fileupload

    (1)fileupload概述

    (2)fileupload简单应用

    (3)简单上传示例

    文件上传细节

    (1)把上传的文件放到WEB-INF目录下

    (2)文件名称(完整路径、文件名称)

    (3)中文乱码问题

    (4)上传文件同名问题

    (5)一个目录不能存放过多文件

    (6)上传的单个文件的大小限制

    (7)上传文件的总大小限制

    (8)缓存大小与临时目录

    文件下载

    (1)通过Servlet下载1

    (2)通过Servlet下载2

    (3)通过Servlet下载3

    7.23.会话

    7.23.1.会话跟踪技术

    什么是会话跟踪技术

    会话跟踪技术使用Cookie或Session完成

    7.23.2.Cookie

    Cookie概述

    (1)什么是Cookie

    (2)Cookie规范

    (3)Cookie与HTTP头

    (4)Cookie的覆盖

    (5)Cookie的第一例

    Cookie的生命周期

    (1)什么是Cookie的生命周期

    (2)浏览器查看Cookie

    (3)案例:显示上次访问时间

    Cookie的Path

    (1)什么是Cookie的路径

    (2)Cookie路径与请求路径的关系

    (3)设置Cookie的路径

    Cookie的domain

    Cookie中保存中文

    显示曾经浏览过的商品

    7.23.3.HttpSession

    HttpSession概述

    登录案例

    Session实现原理

    Session与浏览器

    Session其他常用API

    URL重写
    ======四.Web高级======
    =====1.经典框架=====

    ==== 1.1.Maven ====

    maven的介绍

    maven的安装配置

    创建maven工程之maven命令

    maven核心概念之坐标

    maven核心概念之依赖管理

    maven核心概念之生命周期

    maven核心概念之插件

    maven核心概念之继承

    maven核心概念之聚合

    ==== 1.2.MyBatis ====


    1.2.1.单独使用JDBC编程问题总结

    JDBC程序

    JDBC编程步骤

    JDBC问题总结如下

    1.2.2.MyBatis介绍

    1.2.3.MyBatis架构

    1.2.4.MyBatis下载

    1.2.5.创建数据库

    1.2.6.MyBatis入门程序

    (1)需求

    (2)第一步:创建Java工程

    (3)第二步:加入jar包

    (4)第三步:log4j.properties

    (5)第四步:SqlMapConfig.xml

    (6)第五步:POJO类

    (7)第六步:程序编写

    ① 查询

    ② 添加

    ③ 删除

    ④ 修改

    (8)MyBatis解决JDBC编程的问题

    1.2.7.Dao开发方法

    需求

    SqlSession的使用范围

    (1)SqlSessionFactoryBuilder

    (2)SqlSessionFactory

    (3)SqlSession

    原始Dao开发方式

    ① 映射文件

    ② Dao接口

    ③ 问题

    Mapper动态代理方式

    ① 实现原理

    ② Mapper.xml

    ③ Mapper.java

    ④ 加载UserMapper.xml文件

    ⑤ 测试

    ⑥ 总结

    1.2.8.SqlMapConfig.xml文件

    配置内容

    properties属性

    settings配置

    typeAliases

    ① mybatis支持别名

    ② 自定义别名

    typeHandler

    Mappers

    ① <mapper resource=""/>

    ② <mapper url=""/>

    ③ <mapper class=""/>

    ④ <package name=""/>

    1.2.9.Mapper.xml映射文件

    1.2.9.1.parameterType

    #{}与${}

    传递简单类型

    传递POJO对象

    传递POJO包装对象

    ① 定义包装对象

    ② mapper.xml映射文件

    传递HashMap

    1.2.9.2.resultType

    输出简单类型

    输出POJO对象

    输出POJO列表

    resultType总结

    输出HashMap

    1.2.9.3.resultMap

    Mapper.xml定义

    定义result

    MapMapper接口定义

    1.2.9.4.动态SQL

    If

    Where

    Foreach

    ① 通过POJO传递List

    ② 传递单个List

    ③ 传递单个数组(数组中是POJO)

    ④ 传递单个数组(数组中是字符串类型)

    sql片段

    1.2.10.关联查询

    商品订单数据模型

    一对一查询

    ① 方法一

    ② 方法二

    一对多查询

    ③ Sql语句

    ④ 定义POJO类

    ⑤ Mapper.xml

    ⑥ 定义resultMap

    1)resultMap使用继承

    ⑦ Mapper接口

    ⑧ 测试

    ⑨ 小结

    多对多查询

    ① 查询用户购买的商品信息

    ② 小结

    resultMap小结

    延迟加载

    (1)开启延迟加载

    (2)一对一查询延迟加载

    ① 需求

    ② Sql语句

    ③ 定义POJO类

    ④ Mapper.xml

    ⑤ 定义resultMap

    ⑥ Mapper接口

    ⑦ 测试

    ⑧ 延迟加载优缺点分析

    一对多查询延迟加载

    延迟加载小结

    1.2.11.查询缓存

    1.2.11.1.MyBatis缓存介绍

    1.2.11.2.一级缓存

    原理

    测试

    1.2.11.3.二级缓存

    原理

    开启二级缓存

    实现序列化

    测试

    禁用二级缓存

    刷新缓存

    MyBatis Cache参数

    MyBatis整合ehcache

    (1)原理

    (2)整合步骤

    ① 引入缓存的依赖包

    ② 引入缓存的配置文件

    ③ 开启ehcache缓存

    应用场景

    局限性

    ==== 1.3.Spring ====


    1.3.1.初识Spring

    1.3.1.1.简化Java开发

    什么是最小侵入式

    依赖注入

    应用切面

    使用模板消除样板式代码

    1.3.1.2.Spring主要模块

    1.3.2.Bean的注入

    1.3.2.1.XMl配置

    普通构造方法创建

    静态工厂创建

    实例工厂创建

    属性注入方式

    ① 构造方法注入

    ② set方法注入

    ③ p名称空间注入

    ④ 对象的注入

    ⑤ 数组注入

    ⑥ List集合注入

    ⑦ Map注入

    ⑧ Properties注入

    1.3.2.2.Java配置

    1.3.2.3.自动配置

    通过Java代码实现

    通过XML配置文件实现

    1.3.2.4.混合配置

    1.3.2.5.Profile

    Java配置

    XML配置

    1.3.2.6.条件注解

    1.3.2.7.Bean的作用域

    1.3.2.8.其他问题

    1.3.3.AOP

    1.3.3.1.AOP简介

    1.3.3.2.AOP几个关键概念

    1.3.3.3.AOP原理

    1.3.3.4.AOP实现

    1.3.3.4.1.通过Java代码实现

    使用注解拦截

    (1)前置、后置通知

    (2)返回通知

    (3)环绕通知

    (4)异常通知

    按照方法规则拦截

    (1)前置、后置通知

    (2)返回通知

    (3)环绕通知

    (4)异常通知

    1.3.3.4.2.通过XML配置实现

    使用注解拦截

    按照方法规则拦截

    (1)前置通知

    (2)返回通知

    (3)环绕通知

    (4)异常通知

    (5)后置通知

    1.3.3.5.JdbcTemplate

    增删改查

    配合数据库连接池

    1.3.3.6.Spring事务管理

    回忆事务

    XML配置实现

    Java配置实现

    1.3.3.7.Spring高级应用

    1.3.3.8.服务端校验

    普通校验

    分组校验

    校验注解

    1.3.3.9.数据回显

    默认方式

    Model方式

    @ModelAttribute

    (1)解决数据回显问题

    (2)方法返回值暴露为模型数据

    异常处理

    文件上传

    JSON数据交互

    (1)@RequestBody

    (2)@ResponseBody

    RESTful支持

    (1)RESTful简介

    (2)SpringMVC对RESTful的支持

    静态资源访问

    拦截器

    ==== 1.4.SpringMVC ====


    1.4.1.简介

    SpringMVC工作流程

    SpringMVC相关组件

    HelloWorld

    1.4.2.组件介绍

    1.4.2.1.DispatcherServlet

    1.4.2.2.Controller

    1.4.2.2.1.@RequestMapping

    (1)URL路径映射

    (2)窄化请求映射

    (3)请求方法限定

    1.4.2.2.2.Controller方法返回值

    返回ModelAndView

    返回void

    (1)使用request转向页面

    (2)通过response页面重定向

    (3)通过response指定响应结果

    返回字符串

    (1)逻辑视图名

    (2)Redirect重定向

    (3)forward转发

    1.4.2.2.3.参数绑定

    默认支持的参数类型

    简单数据类型

    (1)简单类型

    (2)@RequestParam

    POJO

    (1)简单pojo

    (2)包装pojo

    自定义参数绑定

    集合类

    (1)字符串数组

    (2)Lis

    (3)tMap

    1.4.2.2.4.问题总结

    404

    Post时中文乱码

    1.4.2.3.其他组件

    === 1.5.Freemarker ===


    1.5.1.Freemarker介绍

    Freemarker简介

    使用引入

    1.5.2.ftl基本语法

    if else语句

    list循环语句

    输出展示

    === 1.6.SpringMVC+Freemarker案例 ===


    === 1.7.SpringMVC+AJAX实现动态树形菜单 ===


    === 1.8.MyBatis整合Spring ===


    1.8.1.MyBatis与Spring整合jar

    1.8.2.MyBatis配置文件

    1.8.3.Spring配置文件

    1.8.4.Mapper编写的三种方式

    Dao接口实现类继承SqlSessionDaoSupport

    使用org.mybatis.spring.mapper.MapperFactoryBean

    使用Mapper扫描器

    === 1.9.MyBatis逆向工程 ===


    使用方式

    Mapper文件内容不覆盖而是追加

    Table schema问题

    === 1.10.Struts2 ===


    1.10.1.Struts2概述

    1.10.2.Struts2框架入门

    1.10.3.Struts2执行过程

    1.10.4.Struts2核心配置文件

    标签package

    标签action

    标签result

    1.10.5.Struts2常量配置

    1.10.6.分模块开发

    1.10.7.Action编写方式

    1.10.8.访问Action的方法

    使用action标签method属性

    使用通配符实现

    1.10.9.结果页面配置

    全局结果页面

    局部结果页面

    Result标签的type属性

    1.10.10.Action获取表单提交数据

    使用ActionContext类获取

    使用ServletActionContext类获取

    在Action操作域对象

    1.10.11.Struts2封装获取表单数据方式

    属性封装

    模型驱动封装

    封装到集合中

    (1)封装数据到List集合中

    (2)封装数据到Map集合中

    Struts2拦截器概述

    拦截器底层原理

    重要概念

    自定义拦截器

    自定义登录拦截器

    Struts2的标签库

    Struts2总结

    === 1.11.Hibernate ===


    1.11.1.Hibernate概述

    什么是框架

    什么是hibernate框架

    什么是ORM思想

    1.11.2.Hibernate入门

    搭建Hibernate环境

    实现添加操作

    1.11.3.Hibernate配置文件详解

    Hibernate映射配置文件

    Hibernate核心配置文件

    1.11.4.Hibernate核心API

    Configuration

    SessionFactory

    Session

    Transaction

    1.11.5.Hibernate主键生成策略

    1.11.6.实体类操作

    添加

    根据id查询

    修改操作

    删除操作

    1.11.7.Hibernate的一级缓存

    什么是缓存

    Hibernate缓存

    验证缓存

    Hibernate一级缓存执行过程

    Hibernate一级缓存特性

    1.11.8.Hibernate事务操作

    事务相关概念

    Hibernate事务代码规范写法

    Hibernate绑定session

    1.11.9.Hibernate的API的使用

    Query对象

    Criteria对象

    SQLQuery对象

    1.11.10.Hibernate一对多操作

    一对多映射配置

    一对多级联操作

    一对多级联保存

    一对多级联删除

    一对多修改操作

    1.11.11.Hibernate查询

    对象导航查询

    OID查询

    HQL查询

    QBC查询

    === 1.12.Spring Boot ===


    1.12.1.Spring Boot概述

    什么是Spring Boot

    Spring Boot的核心功能

    Spring Boot的优缺点

    1.12.2.Spring Boot快速搭建

    1.12.3.Spring Boot核心

    1.12.3.1.基本配置

    (1)入口类和@SpringBootApplication

    (2)关闭特定的自动配置

    (3)定制Banner

    (4)Spring Boot的配置文件

    (5)Starter pom

    (6)使用xml配置

    1.12.3.2.外部配置

    命令行参数配置

    常规属性配置

    类型安全配置

    1.12.3.3.日志配置

    1.12.3.4.Profile配置

    1.12.4.Spring Boot运行原理

    运作原理

    核心注解

    实例分析

    1.12.5.Spring Boot的Web开发支持

    1.12.6.Thymeleaf模板引擎

    Thymeleaf基础知识

    与Spring MVC集成

    Spring Boot的Thymeleaf支持

    案例

    1.12.7.Web相关配置

    Spring Boot提供的自动配置

    接管Spring Boot的Web配置

    注册Serlvet、Filter、Listener

    1.12.8.Tomcat配置

    配置Tomcat

    代码配置Tomcat

    替换Tomcat

    SSL配置

    1.12.9.Favicon配置

    默认的Favicon

    关闭Favicon

    设置自己的Favicon

    1.12.10.WebSocket

    什么是WebSocket

    Spring Boot提供的自动配置

    案例

    1.12.11.基于Bootstrap和AngularJS的现代Web应用

    1.12.12.Spring Boot的数据访问

    Spring Data JPA

    Spring Data REST

    声名式事务

    (1)回忆Spring 的事务机制

    (2)声名式事务

    (3)注解事务行为

    (4)类级别使用@Transactional

    (5)Spring Boot的事务支持

    (6)案例

    1.12.13.数据缓存Cache

    Spring的缓存支持

    Spring Boot的支持

    缓存切换技术

    案例

    1.12.14.Spring Boot企业级开发

    安全控制Spring Security

    批处理Spring Batch

    异步消息

    集成Spring Integration

    === 1.13.Shiro ===


    1.13.1.Shiro简介

    1.13.2.HelloWorld

    1.13.3.Shiro集成Spring

    1.13.4.Shiro工作流

    1.13.5.权限URL配置细节

    1.13.6.认证思路分析

    1.13.7.实现认证流程

    1.13.8.实现认证Realm

    1.13.9.密码的比对

    1.13.10.密码的MD5加密

    1.13.11.密码的MD5盐值加密

    1.13.12.多Realm验证

    1.13.13.认证策略

    1.13.14.把realms配置给SecurityManager

    1.13.15.Shiro权限配置

    1.13.16.Shiro授权流程分析

    1.13.17.多Realm授权的通过标准

    1.13.18.实现授权

    1.13.19.标签

    1.13.20.权限注解

    1.13.21.从数据表中初始化资源和权限

    1.13.22.会话管理

    1.13.23.SessionDao

    1.13.24.缓存认证和记住我的区别

    1.13.25.Shiro实现Rememberme

    === 1.14.Spring Cloud ===


    =====2.JavaEE进阶=====

    ==== 2.1.Linux ====

    2.1.1.Linux简介

    简介

    Linux版本

    2.1.2.Linux系统安装

    VMware安装

    CentOs安装

    CentOs root用户

    CentOs 使

    用CentOs目录介绍

    2.1.3.Linux基本命令

    切换目录命令

    端口查看命令

    文件执行命令

    解压命令

    授权命令

    创建目录命令

    文件复制命令

    chkconfig命令

    2.1.4.vi编辑器&vim

    2.1.5.应用安装准备

    安装路径

    上传文件到Linux

    2.1.6.jdk安装

    2.1.7.Tomcat安装

    安装

    启动

    停止

    关闭防火墙

    安装zookeper

    安装mysql数据库

    ==== 2.2.Redis ====


    2.2.1.NoSQL概述

    2.2.1.1.入门概述

    为什么用NoSQL

    什么是NoSQL

    NoSQL能干什么

    2.2.1.2.3V+3高

    2.2.1.3.当下的NoSQL经典应用(以阿里巴巴为例)

    架构发展史

    阿里巴巴中文站商品信息存放

    (1)商品基本信息

    (2)商品描述、详情、评价信息(多文字类)

    (3)商品的图片

    (4)商品关键字

    (5)商品的波段性的热点高频信息

    (6)商品的交易、价格计算、积分累计

    大型互联网应用(大数据、高并发、多样数据类型)的难点和解决方案

    难点

    解决办法UDSL

    2.2.1.4.NoSQL数据模型简介

    传统数据库模型

    NoSQL数据模型

    聚合模型

    2.2.1.5.NoSQL数据库的四大分类

    KV键值

    文档型数据库(bson格式比较多)

    列存储数据库

    (1)Cassandra, HBase

    (2)分布式文件系统

    图关系数据库

    四者对比

    2.2.1.6.分布式数据库中CAP原理

    传统的ACID分别是什么

    CAP

    CAP的3选2

    BASE是什么

    分布式和集群

    2.2.2.Redis入门介绍

    2.2.2.1.入门概述

    VMWare上安装Linux

    (1)VMWare虚拟机的安装

    (2)CentOS或者RedHad5的安装

    (3)VMTools的安装

    (4)设置共享目录

    (5)上述环境都OK后开始进行Redis的服务器安装配置

    2.2.2.2.Redis的安装

    Windows版安装

    重要提示:

    Linux版安装

    2.2.2.3.Redis启动后杂项基础知识讲解

    2.2.3.Redis的数据类型

    2.2.3.1.Redis的五大数据类型

    string(字符串)

    hash(哈希,类似java里的Map)

    list(列表)

    set(集合)

    zset(sorted set:有序集合)

    2.2.3.2.Redis 键(key)

    常用

    案例

    2.2.3.3.Redis字符串(String)

    常用

    案例

    2.2.3.4.Redis列表(List)

    常用

    案例

    (1)lpush/rpush/lrange

    (2)lpop/rpop

    (3)lindex,按照索引下标获得元素(从上到下)

    (4)Llen

    (5)lrem key 删N个value

    (6)ltrim

    (7)rpoplpush 源列表 目的列表

    (8)lset key index value

    (9)linsert key before/after 值1 值2

    (10)性能总结

    2.2.3.5.Redis集合(Set)

    常用

    案例

    (1)sadd/smembers/sismember

    (2)scard,获取集合里面的元素个数

    (3)srem key value 删除集合中元素

    (4)srandmember key 某个整数(随机出几个数)

    (5)spop key 随机出栈

    (6)smove key1 key2 在key1里某个值

    (7)数学集合类

    ① 差集:sdiff

    ② 交集:sinter

    ③ 并集:sunion

    2.2.3.6.Redis哈希(Hash)

    常用

    案例

    (1)hset/hget/hmset/hmget/hgetall/hdel

    (2)hlen hexists key key里面的某个值的key

    (3)hkeys/hvals

    (4)hincrby/hincrbyfloat

    (5)Hsetnx

    2.2.3.7.Redis有序集合Zset(sorted set)

    常用

    案例

    (1)zadd/zrange

    (2)zrangebyscore key 开始score 结束score

    (3)zrem key 某score下对应的value值

    (4)zcard/zcount/zrank /zscore

    (5)zrevrank

    (6)zrevrange

    (7)zrevrangebyscore key 结束score 开始score

    2.2.4.解析配置文件redis.conf

    2.2.4.1.它在哪

    2.2.4.2.units单位

    2.2.4.3.INCLUDES包含

    2.2.4.4.GENERAL通用

    (1)daemonize

    (2)Pidfile

    (3)Port

    (4)tcp-backlog

    (5)Timeout

    (6)Bind

    (7)tcp-keepalive

    (8)Loglevel

    (9)Logfile

    (10)syslog-enabled

    (11)syslog-ident

    (12)syslog-facility

    (13)Databases

    2.2.4.5.SNAPSHOTTING快照

    (1)Save

    ① save 秒钟写操作次数

    ② 禁用

    (2)stop-writes-on-bgsave-error

    (3)rdbcompression

    (4)rdbchecksum

    (5)dbfilename

    (6)Dir

    2.2.4.6.REPLICATION复制

    2.2.4.7.SECURITY安全

    2.2.4.8.LIMITS限制

    Maxclients

    Maxmemory

    maxmemory-policy

    maxmemory-samples

    2.2.4.9.APPEND ONLY MODE追加

    2.2.4.10.常见配置redis.conf介绍

    2.2.5.redis的持久化

    2.2.5.1.RDB(Redis DataBase)

    简介

    Fork

    配置位置

    如何触发RDB快照

    如何恢复

    优势

    劣势

    如何停止

    小总结

    2.2.5.2.AOF(Append Only File)

    概述

    配置位置

    AOF启动/修复/恢复

    (1)正常恢复

    (2)异常恢复

    Rewrite

    (1)是什么

    (2)重写原理

    (3)触发机制

    优势

    劣势

    小总结

    2.2.5.3.总结

    2.2.6.Redis的事务

    2.2.6.1.概述

    2.2.6.2.用法

    常见用法

    Redis事务错误处理

    watch监控

    (1)悲观锁/乐观锁/CAS(Check And Set)

    (2)初始化信用卡可用余额和欠额

    (3)无加塞篡改,先监控再开启multi, 保证两笔金额变动在同一个事务内

    (4)有加塞篡改

    (5)Unwatch

    (6)小结

    3阶段

    3特性

    2.2.7.Redis的发布订阅

    概述

    命令

    案列

    2.2.8.Redis的复制(Master/Slave)

    2.2.8.1.是什么

    2.2.8.2.配置

    2.2.8.2.1.配从(库)不配主(库)

    2.2.8.2.2.从库配置:slaveof 主库IP 主库端口

    2.2.8.2.3.m

    2.2.8.2.4.常用3招

    一主二仆

    ① M

    ② 一个Master两个Slave

    ③ 日志查看

    ④ 主从问题演示

    薪火相传

    反客为主

    2.2.8.3.复制原理

    2.2.8.4.哨兵模式(sentinel)

    是什么

    使用步骤

    一组sentinel能同时监控多个Master

    2.2.8.5.复制的缺点

    2.2.9.Redis的Java客户端Jedis

    2.2.9.1.搭建环境

    2.2.9.2.Jedis常用操作

    测试连通性

    5+1

    事务提交

    (1)日常

    (2)加锁

    主从复制

    (1)6379,6380启动,先各自先独立

    (2)主写

    (3)从读

    2.2.9.3.JedisPool

    获取Jedis实例需要从JedisPool中获取

    用完Jedis实例需要返还给JedisPool

    如果Jedis在使用过程中出错,则也需要还给JedisPool

    案例见代码

    (1)JedisPoolUtil

    (2)调用

    配置总结all

    2.2.10.Spring Data Redis

    简介

    案例

    ==== 2.3.JPA ====


    2.3.1.JPA概述

    JPA简介

    JPA HelloWorld

    2.3.2.常用注解

    基本注解

    Transient注解

    Temporal注解

    Table主键生成策略

    2.3.3.JPA EntityManager

    2.3.4.JPA EntityTransaction

    2.3.5.JPA 映射单向多对一关联关系

    2.3.6.JPA 映射单向一对多关联关系

    2.3.7.JPA 映射双向一对多的关联关系

    2.3.8.JPA 映射双向一对一的关联关系

    2.3.9.JPA 二级缓存

    2.3.10.JPQL

    JPQL查询缓存

    ORDER BY和GROUP BY

    关联查询

    子查询和内建函数

    DELETE和UPDATE

    2.3.11.JPA整合Spring

    ==== 2.4.分布式系统 ====


    2.4.1.RPC

    什么是RPC

    RPC使用场景

    2.4.2.分布式介绍

    分布式系统

    分布式种类

    分布式与集群的区别

    2.4.3.Dubbo使用

    dubbo服务器

    2.4.4.zookeper介绍

    2.4.5.zookeper安装

    2.4.6.服务端应用

    2.4.7.客户端应用

    2.4.8.分布式架构

    ==== 2.5.支付宝支付 ====


    ==== 2.6.微信支付 ====


    ==== 2.7.消息队列 ====


    ==== 2.8.WebSocket ====


    2.8.1.创建第一个WebSocket应用

    创建WebSocket端点

    部署端点

    创建WebSocket客户端

    2.8.2.WebSocket端点

    2.8.3.编程式端点

    2.8.4.深入Echo示例

    部署阶段

    接收第一个连接

    WebSocket消息通信

    2.8.5.WebSocket生命周期

    2.8.6.高级消息处理

    检查连接

    异步发送WebSocket消息

    (1)通过Future发送消息

    (2)通过Handler发送消息

    (3)区别与联系

    WebSocket路径映射

    Portfolio应用

    2.8.7.保护WebSocket服务器端点

    2.8.8.Java EE平台中的WebSocket

    ==== 2.9.Lucene ====


    2.9.1.Lucene简介

    什么是lucene

    全文检索的应用场景

    (1)搜索引擎

    (2)站内搜索

    (3)文件系统搜索

    (4)总结

    全文检索的定义

    lucene实现全文检索的流程

    2.9.2.入门案例

    2.9.2.1.需求

    2.9.2.2.搭建环境

    (1)数据库脚本初始化

    (2)lucene准备

    2.9.2.3.工程搭建

    2.9.2.4.索引流程

    为什么采集数据

    采集数据的方式

    (1)网页采集

    (2)数据库采集

    索引文件的逻辑结构

    索引

    2.9.2.5.搜索流程

    输入查询语句

    搜索分词

    搜索索引

    2.9.3.Field域

    Field的属性

    Field的常用类型

    修改入门程序的代码

    2.9.4.索引维护

    需求

    添加索引

    删除索引

    修改索引

    2.9.5.搜索

    创建查询对象的方式

    通过Query子类来查询对象

    通过QueryParser创建查询对象

    TopDocs

    2.9.6.相关度排序

    什么是相关度排序

    设置bosst值影响打分

    2.9.7.中文分词器

    什么是中文分词器

    Lucene自带的中文分词器

    第三方中文分词器

    Ikanalyzer

    ==== 2.10.Solr ====


    2.10.1.Solr介绍

    什么是Solr

    Solr和Lucene的区别

    2.10.2.Solr安装配置

    下载Solr

    运行环境

    SolrCore配置

    (1)SolrHome和SolrCore

    (2)目录结构

    (3)创建SolrCore

    (4)配置SolrCoreSolr

    工程部署管

    理界面功能介绍

    多SolrCore配置

    2.10.3.Solr基本使用

    schema.xml

    配置中文分析器

    配置业务Field

    dataimportHandler插件

    2.10.4.Solrj的使用

    什么是Solrj

    需求

    环境准备

    工程搭建

    代码实现

    (1)添加、修改索引

    (2)删除索引

    (3)查询索引

    2.10.5.案例

    需求

    分析

    (1)UI分析

    (2)架构分析

    环境准备

    工程搭建

    代码实现

    ==== 2.11.Nginx ====


    ==== 2.12.Dubbo ====


    ==== 2.13.Docker ====


    ==== 2.14.Kubernetes ====


    ==== 2.15.lvs ====


    ==== 2.16.Activemq ====


    ==== 2.17.Rocketmq ====


    ==== 2.18.Kafka ====


    ==== 2.19.Mycat ====

    ==== 2.20.Sharding-jdbc ====


    ==== 2.21.Zookeeper ====


    ==== 2.22.RPC ====

    ======五.工具的使用======

    =====1.SVN使用=====

    =====2.Git使用 =====

    ===== 3.Eclipse开发工具的介绍 =====

    工作空间的概念

    工程的概念以及命名规范

    包的概念以及命名规范

    (1)创建包

    (2)导入包

    (3)创建包的命名规范

    常用快捷键的介绍

    工程的导入导出

    ===== 4.VMware (虚拟机) =====


    ===== 5.IntelliJ IDEA =====


    ===== 6.StarUML =====


    ===== 7.Dreamweaver =====


    ===== 8.PdShell =====


    ===== 9.Postman =====


    ===== 10.Xshell 5 =====


    ===== 11.Xftp 5 =====


    ===== 12.RedisDesktopManager =====


    ===== 13.HiJson =====


    ===== 14.数据库图形化工具 =====

    本文章,列出了一些程序员需要学习的技术和知识点,有些技术和知识点没有写道,欢迎大家进行修改和补充,有些技术公司用到,大家需要先学习,有些技术和知识点过时,大家可以了解。本人笔记连接[[http://2863c718.wiz03.com/wapp/pages/view/share/s/0EoYso1Xqk4m2eAV4Y385xVk2vODbZ2BZ46Z2ChvzO2jhAyq|学习体系]]。======一.前端===========1.前端基础=========1.1.html4======= HTML介绍====== HTML作用 ====== 常见标签 ===
    (1)图片标签
    (2)表单标签
    (3)表格标签
    (4)头标签
    (5)框架集
    (6)其他常见标签
    ====1.2.css2====
    CSS概述
    CSS和HTML结合的方式
    CSS选择器
    CSS扩展选择器
    CSS盒子模型
    CSS布局漂浮属性
    CSS布局定位属性
    ==== 1.3.JavaScript基础 ====
    ===1.3.1.JS概述===
    (1)JS与Java不同
    (2)JS的历史
    (3)JS语言组成
    (4)JS与HTML结合方式
    === 1.3.2.JS基础 ===

    (1)JS基本语法
    (2)JS的数据类型
    (3)JS基本语句
    (4)JS运算符
    (5)JS数组
    (6)JS函数的定义
    (7)JS中函数的重载
    (8)JS中的全局变量和局部变量
    === 1.3.3.JS中常见对象 ===
    String对象
    Array对象
    Date对象
    Math对象
    === 1.3.4.JavaScript 全局函数(global) ===
    === 1.3.5.BOM对象 ===
    什么是BOM
    ==1.3.5.1.浏览器对象的使用==
    1.3.5.1.1.History
      History简介    (1)back()方法    (2)forward()方法    (3)go()方法    (4)制作返回按钮
    1.3.5.1.2.Location
      Location对象简介     通过href属性完成超链接效果    超链接按钮效果
    1.3.5.1.3.Window对象
      Window对象简介     (1)方法    ① confirm()    ② prompt()    ③ open()    ④ close()    ⑤ setInterval()    ⑥ setTimeout()    ⑦ clearInterval()    ⑧ alert()
    === 1.3.6.DOM简单入门 ===

    == 1.3.6.1.1.DOM简介 ==

    DOM结构模型
    DOM的三个级别和DHTML介绍
    BOM和HTML DOM关系
    == 1.3.6.2.Document对象 ==

    Element对象
    Node常用属性
    节点名称、值和类型
    父节点、子节点和兄弟节点
    Node常用方法
    检测子节点和属性
    是否存在某节点
    是否存在属性
    操作DOM节点树
      (1)插入节点    ①appendChild方法    ②insertBefore方法  (2)删除节点  (3)替换节点  (4)复制节点  (5)移动节点
    innerHTML
    JS常用事件
      (1)鼠标移动事件  (2)鼠标点击事件  (3)加载与卸载事件  (4)聚焦与离焦时间键盘事件  (5)提交与重置事件  (6)选择与改变事件
    省市县三级联动树形菜单制作

    ==== 1.4.Jquery ====
    ===1.4.1.jQuery简介===
    什么是jQuery
    jQuery的特点=== 1.4.2.jQuery选择器 ===
    基本选择器
    层次选择器
    过滤选择器
    内容过滤选择器
    表单域选择器
    === 1.4.3.jQuery属性操作 ===
    === 1.4.4.jQuery快捷操作 ===
    class属性值操作
    标签包含内容操作
    css样式操作
    value属性快捷操作  (1)复选框操作  (2)下拉列表操作  (3)单选按钮操作=== 1.4.5.jQuery和DOM对象关系 ===
    === 1.4.6.jQuery框架对象分析 ===
    === 1.4.7.jQuery加载事件 ===
    === 1.4.8.jQuery普通事件操作 ===
    === 1.4.9.jQuery对文档的操作 ===
    === 1.4.10.jQuery属性选择器的使 ===
    === 1.4.11.jQuery事件绑定 ===
    === 1.4.12.jQuery动画效果小案例 ===


    =====2.前端中级=========2.1.js进阶========2.2.php与数据库========2.3.Ajax========2.4.HTML5+CSS3=========3.前端高级========= 3.1.layui ======== 3.2.Bootstrap ======== 3.3.移动端 ======== 3.4.Canvas画布 ======== 3.5.NodeJS ======== 3.6.AngularJS ======== 3.7.ES6-Babel-Webpack-Less ======== 3.8.Vue ======== 3.9.AngularJSX ======== 3.10.Webpack ======== 3.11.WebAPP-Cordova ======== 3.12.WebAPP-Ionic ======== 3.13.ES6 ======== 3.14.Git微信小程序 ======== 3.15.Gulp ======== 3.16.Node ======== 3.17.React ====
    ======二.后端===========1.Java基础=====
    ==== 1.1.Java编码规范 ====
    源码存储规范
    命名规则
    书写格式
    代码注释
    ==== 1.2.JAVA开发环境 ====

    安装JDK1.7 ,开发环境目录要求
    设置环境变量
    ==== 1.3.软件开发基础 ====

    计算机基础 
    操作系统,文件,目录,可执行程序,常用快捷键
    常用的Shell命令
    常用开发语言 了解
    ==== 1.4.第一个JAVA程序HelloWord ====

    在记事本编写程序
    在Shell命令窗口编译、执行
    讲解程序的编译执行过程
    关键字、标识符
    什么是标识符
    (1)标识符的命名规范
    (2)JAVA关键字
    ==== 1.5.数据类型 ====

    数据类型简介
    JAVA中的数据类型
    基本数据类型
    引用数据类型
    基本数据类型有哪些
    数据类型的取值范围
    数据类型的转换
    自动类型转换
    强制类型转换
    ==== 1.6.数组 ====

    数组的说明
    (1)为什么用数组
    (2)一维数组的声明与创建
    (3)Java内存分析,堆和栈(局部变量存储)
    数组的初始化
    (1)静态初始化
    (2)动态初始化


    数组的访问
    (1)通过下标访问指定元素
    (2)循环访问
    数组的排序
    (1)冒泡排序
    (2)选择排序
    数组的查找
    (1)顺序查找
    (2)二分法查找
    Arrays工具类
    二维数组
    (1)二维数组的声明
    (2)二维数组的创建
    二维数组的初始化
    (1)静态初始化
    (2)动态初始化




    二维数组的访问
    (1)通过下标访问指定元素
    (2)通过循环访问数组
    ==== 1.7.流程控制 ====

    什么是JAVA语句的执行结构
    (1)JAVA语句有哪些结构
    (2)顺序语句
    (3)分支语句
    (4)循环语句
    If语句
    (1)简单if语句
    (2)复杂if语句
    (3)if-else语句
    (4)多重if语句
    (5)嵌套if语句
    switch语句
    (1)switch语句用法
    (2)switch使用String分支
    (3)switch语句与if语句的区别
    枚举的简单使用
    (1)枚举的定义
    (2)枚举的使用(结合switch的使用)


    循环语句
    (1)什么是循环
    (2)Java中的循环语句
    for循环语句
    while循环
    (1)while循环语句
    (2)do-while循环语句
    特殊流程控制语句
    (1)break语句的使用
    (2)continue语句的使用
    (3)label 的简述
    比较while和do-while的区别
    ==== 1.8.类.变量,方法,对象 ====

    类的定义
    什么是变量
    变量的声明和初始化
    变量的分类
    变量的作用域
    对象的定义
    对象的创建以及内存分析
    构造方法的定义
    (1)构造方法的定义
    (2)构造方法的使用
    (3)构造方法重载
    (4)构造方法与普通方法的区别
    this关键字
    (1)this.属性:访问本类的成员属性(成员变量与局部变量同名的情况,成员变量无效)
    (2)this.方法:访问本类的成员方法
    (3)this():访问本类中的构造函数
    static关键字
    (1)静态属性
    (2)静态方法
    (3)静态代码块
    static的应用
    (1)工具类(操作数组常用方法为例,写一个工具类)
    (2)工具类的概念


    类中成员变量的定义
    常量、进制转换
    (1)什么是常量
    (2)二进制转换十进制
    运算符
    (1)常用运算符
    (2)算术运算符
    (3)赋值运算符
    (4)关系运算符
    (5)逻辑运算符
    (6)三目运算符
    (7)字符串连接运算符
    (8)位运算符
    (9)移位运算符
    表达式的值和类型
    转义字符
    运算符优先级
    什么是方法
    (1)方法(函数)
    (2)方法中的参数
    ① 形参
    ② 实参
    (3)方法的返回值
    方法的声明和调用
    (1)声明方法的格式
    (2)调用方法的格式
    可变参数
    (1)可变参数的写法
    (2)可变参数的使用
    类中方法的定义
    方法的重载
    内部类
    (1)成员内部类
    (2)静态内部类
    (3)匿名内部类
    (4)局部内部类
    ==== 1.9.面向对象 ====

    1.9.1.什么是面向对象
    1.9.2.面向对象的设计思想
    1.9.3.面向对象和面向过程的区别
    (1)面向对象
    (2)面向过程
    (3)区别总结
    1.9.4.抽象类和抽象方法
    (1)抽象类出现的原因
    (2)抽象类的特点
    1.9.5.封装
    (1)private 的使用
    (2)get/set
    (3)方法的说明(讲this之前,参数与成员变量名称要不同)
    1.9.6.继承
    继承的概念
    类的继承的使用
    super关键字
    继承中的构造方法
    访问权限
    (1)private
    (2)default(默认)
    (3)protected
    (4)public
    方法重写
    (1)方法重写的规则
    (2)Object 类




    ① equals()方法
    ② hashCode()方法
    ③ getClass()方法
    ④ toString()方法


    final关键字
    (1)final修饰的类
    (2)final修饰的方法
    (3)final修饰的属性
    (4)final与static的区别
    1.9.7.多态
    什么是多态
    多态的体现
    对象的多态性
    多态的表现形式
    接口
    (1)接口的概念
    (2)接口的使用
    ① 接口的声明语法
    ② 接口的实现类
    ③ 接口的使用规则
    ④ 接口的使用用途
    ⑤ 接口与抽象类的区别




    对象转型
    (1)对象的向上转型
    (2)instanceof 关键字
    (3)对象的向下转型

    ==== 1.10.正则表达式 ====

    (1)String 正则
    (2)Pattern Matcher
    (3)正则元字符
    (4)正则表达式
    ==== 1.11.常用类 ====

    1.11.1.字符串
    (1)String类
    (2)StringBuffer类
    (3)StringBuilder类
    (4)String.format() 格式化
    1.11.2.基本数据类型的包装类
    基本数据类型与其包装类
    数据的装箱和拆箱
    String 与 基本数据类型的互换
    1.11.3.Date类
    1.11.4.Calendar类
    1.11.5.SimpleDateFormat类
    1.11.6.Math类
    1.11.7.Random类
    1.11.8.Runtime类
    1.11.9.System类
    ==== 1.12.异常 ====

    异常的概念
    异常的分类
    异常的处理方式
    (1)捕获异常:try..catch..finally语句
    (2)抛出异常:throws和throw
    自定义异常


    ==== 1.13.泛型的使用 ====

    泛型应用在集合上
    泛型类声明,方法返回泛型,方法参数泛型
    泛型限定 
    ==== 1.14.反射 ====

    类的加载 Class.forName()
    创建对象的两种方式(newInstance与带参数构造器)
    成员变量的访问Field类和getDeclaredField方法
    方法的访问与调用 Method
    构造方法


    ==== 1.15.注解 ====

    ==== 1.16.集合 ====

    1.16.1.集合框架介绍
    (1)集合的概念
    (2)集合的框架结构介绍
    (3)集合与数组的对比
    1.16.2.Collection接口
    (1)集合对象的创建
    (2)Collection中常用的方法
    1.16.3.List接口
    (1)List接口的存储特点
    (2)List接口的实现类
    ① ArrayList实现类的使用
    ② LinkedList实现类的使用
    ③ ArrayList与LinkedList存储的比较
    1.16.4.增强for循环
    1.16.5.Iterator迭代器
    (1)迭代器的工作原理
    (2)迭代器的使用
    1.16.6.集合工具
    (1)Collections 工具类
    (2)Comparable
    (3)Comparator
    1.16.7.Set接口
    (1)集合的存储特点
    (2)HashSet的实现原理
    ① 重写hashCode()
    ② 重写equals()
    (3)LinkedHashSet(添加)
    1.16.8.Map接口
    (1)Map接口的概述
    (2)Map接口的常用方法
    (3)Map接口的常用实现类
    (4)HashMap
    (5)Hashtable 和 HashMap的区别
    (6)LinkedHashMap
    (7)Map的遍历:各种遍历方式 Map.Entry


    ==== 1.17.IO流 ====

    1.17.1.File类
    File类作用
    File类的构造方法
    File类常用方法
    使用File类对文件进行操作
    使用File类浏览目录中的文件和子目录
    递归算法遍历目录下所有文件与子目录
    1.17.2.IO概念
    什么是IO流?
    流的作用和原理?
    1.17.3.IO流的种类
    按方向分:输入流、输出流
    按数据单位分:字符流、字节流
    按层次分:节点流、处理流
    1.17.4.字节输入流
    InputStream类的常用方法
    InputStream类的子类:文件输入流FileInputStream
    FileInputStream构造方法和常用方法
    1.17.5.字节输出流
    OutputStream类的常用方法
    OutputStream类的子类:文件输出类FileOutputStream
    FileOutputStream构造方法和常用方法
    1.17.6.字节缓冲流
    字节缓冲流的构造方法
    使用字节缓冲流对文件进行读写
    装饰设计模式
    1.17.7.字符输入流


    Reader类的常用方法
    Reader类的子类:FileReader
    FileReader构造方法和常用方法
    1.17.8.字符缓冲流
    字符缓冲流构造方法
    字符缓冲流的常用方法:readLine(), newLine()
    字符缓冲流对文件进行读写
    1.17.9.字符输出流
    Writer类的常用方法
    Writer类的子类:FileWriter
    FileWriter构造方法和常用方法
    1.17.10.转换流
    InputStreamReader的构造方法
    InputStreamReader的使用
    OutputStreamWriter的构造方法
    OutputStreamWriter的使用
    1.17.11.打印流
    打印流构造方法
    打印流的常用操作:print(), println()
    1.17.12.标准输入输出流
    (1)使用System.in获取键盘数据
    (2)使用System.out输出数据


    1.17.13.内存流(重点掌握)
    什么是内存流
    内存流的构造方法
    写入到内存和读取内存数据
    常用方法:toByteArray(), toString()
    1.17.14.数据输入输出流
    DataOutputStream 使用
    DataInputStream 使用
    1.17.15.对象流
    对象序列化
    序列化的常用属性
    (1)static的属性不能序列化
    (2)transient的属性不能序列化
    (3)serialVersionUID=1L
    对象输入流ObjectInputStream
    对象输出流ObjectOutputStream
    1.17.16.随机流RandomAccessFile类
    RandomAccessFile类的构造方法
    RandomAccessFile常用操作:skipBytes() seek()
    常用方法: getFilePointer() writerUTF() readUTF()
    向文件中随机写入键盘文字
    ==== 1.18.线程 ====

    1.18.1.线程和进程的介绍
    进程的概念
    线程的概念
    进程和线程的关系以及区别


    1.18.2.线程的实现实现
    Runnable接口
    两种实现方式的比较


    1.18.3.线程的启动
    调用start()方法启动线程
    调用start()与调用run()的区别


    1.18.4.线程的生命周期和常用方法
    线程的优先级
    线程的名称
    线程的睡眠
    线程的中断
    线程的停止


    1.18.5.多线程访问临界资源时的数据安全问题
    synchronized关键字
    同步代码块
    同步方法
    同步静态方法
    锁对象
    死锁


    1.18.6.生产者消费者


    1.18.7.线程池
    单线程池
    固定线程池
    缓冲线程池


    ==== 1.19.网络编程 ====

    1.19.1.网络通信协议介绍
    TCP/IP协议
    IP地址和端口号
    基于TCP的网络编程
    Socket和ServerSocket
    UDP编程(视频)


    1.19.2.URL类的使用
    什么是URL类
    URL的构造方法
    URL类的常用方法
    1.19.3.HttpURLConnection类简介(重点)
    简单介绍HttpURLConnection类
    HttpURLConnection的常用方法
    1.19.4.HttpURLConnection类的应用
    HttpURLConnection请求服务器,获取响应的文本
    HttpURLConnection下载文件
    1.19.5.OkHttp 简单使用
    同步GET、POST请求
    1.19.6.接口回调 
    接口回调结合多线程的应用
    异步请求,利用内部类,实现接口回调


    ==== 1.20.Xml ====

    1.20.1.XML简介
    什么是XML
    XML语法结构
    XML元素定义
    XML属性使用
    自定义XML文件
    XML解析的三种方式说明:SAX, PULL, DOM


    1.20.2.PULL解析
    PULL解析原理
    PULL解析XML文件
    网络XML文件解析
    1.20.3.SAX解析
    SAX解析的原理
    SAX解析常用类介绍
    SAX解析XML文件步骤
    网络XML文件解析
    PULL解析与SAX解析的区别
    ==== 1.21.Json ====

    1.21.1.JSON解析简介
    什么是JSON
    JSON与XML之间的比较
    JSON解析在网络中的应用
    1.21.2.JSON的数据表示
    键值对的对象表示
    数组的表示
    1.21.3.JSON解析
    一个对象的JSON解析
    多个对象的解析
    复杂对象的解析
    将集合转成JSON字符串
    官方JSON解析
    Gson解析
    ==== 1.22.设计模式 ====

    单例设计模式
    简单工厂设计模式
    装饰者模式
    代理模式
    观察者模式======三.Web基础==========1.数据库====
    1.1.需要学习了解的数据库
    Mysql
    公司使用,主要学习,MySQL 在 2008 年被Sun收购需要学习其他数据库语言作为可替代方案
    oracle
    Sqlserver  
    微软的只能在Windows平台使用,工作中基本不用,只需了解
    MariaDB
    PostgreSQL
    MangoDB
    NoSQL


    1.2.Mysql
    数据库简介
    mysql安装和概述
    mysql基本命令
    mysqlDDL操作
    mysqlDML操作
    mysqlDQL操作
    mysql模糊查询
    mysql分组查询
    分页
    数据库约束
    多表查询
    查询练习
    MySQL数据库的备份与恢复
    1.3.JDBC
    Java操作数据库
    获取数据库连接
    使用Statement执行更新操作
    使用ResultSet执行查询操作
    以面向对象思想编写JDBC
    使用PreparedStatement
    利用反射及JDBC元数据编写通用的查询方法
    DAO设计模式
    JDBC元数据JDBC获取插入记录的主键值
    JDBC处理Blob
    事务介绍
    JDBC处理事务
    批量处理
    数据库连接池
    (1)TOMCAT中的数据库连接池
    (2)C3P0
    (3)DBCP
    (4)Druid
    使用DBUtils
    1.4.oracle
    数据库简介
    Oracle服务端和客户端安装
    Oracle基本命令
    Oracle中的用户管理
    Oracle中表的管理
    Oracle查询操作
    Oracle中的函数表的逻辑备份与恢复
    数据库约束
    Oracle索引、权限
    分页====2.Tomcat====Tomcat简介
    Tomcat安装
    Tomcat安装目录介绍
    ====3.Servlet====
    3.1.Servlet概述
    什么是Servlet
    实现Servlet的方式
    创建HelloWorld应用
    3.2.Servlet接口
    3.2.1.Servlet生命周期
    Servlet出生
    Servlet服务
    Servlet的离去
    3.2.2.Servlet接口相关类型
    ServletRequest和ServletResponse
    ServletConfig
    3.2.3.GenericServlet
    GenericServlet概述
    GenericServlet的init()方法
    实现了ServletConfig接口
    3.2.4.HttpServlet
    3.2.4.1.概述
    3.2.4.2.HttpServlet覆盖了service()方法
    3.2.4.3.<url-pattern>
    (1)/XXX
    (2)*.XXX
    3.2.4.4.doGet()和doPost()
    3.2.4.5.Response
    response概述
    response响应正文
    (1)字符响应流
    设置响应头
    信息设置状态码及其他方法
    重定向
    (1)什么是重定向
    (2)完成重定向
    (3)便捷的重定向方式
    (4)重定向小结
    Request
    (1)request概述
    (2)request域方法
    (3)request获取请求头数据
    (4)request获取请求相关的其它方法
    (5)request获取请求参数
    (6)请求转发和请求包含
    ① 请求转发
    ② 请求包含
    ③ 请求转发与请求包含比较
    ④ 请求转发与重定向比较
    3.3.Servlet细节
    Servlet与线程安全
    让服务器在启动时就创建Servlet
    服务端跳转与客户端跳转
    web.xml文件的继承(了解)
    3.4.ServletContext
    ServletContext概述
    获取ServletContext
    域对象的功能
    获取应用初始化参数
    获取资源相关方法
    (1)获取真实路
    (2)径获取资源流
    (3)获取指定目录下所有资源路径
    访问量统计
    ====4.编码====4.1.请求编码
    (1)直接在地址栏中给出中文
    (2)在页面中发出请求
    (3)GET请求解读编码
    (4)POST请求解读编码
    4.2.响应编码
    4.3.URL编码====5.路径问题====与路径相关的操作
    客户端路径
    服务端路径
    <url-pattern>
    ServletContext获取资源
    Class获取资源
    ClassLoader获取资源====6.注解配置Servlet========7.JSP====
    7.1.JSP概述
    什么是JSP
    JSP的组成
    7.2.JSP语法
    JSP脚本
    多个<%...%>可以通用
    7.3.JSP原理
    JSP是特殊的Servlet
    JSP真身存放目录
    7.4.再论JSP脚本
    7.5.JSP注释
    7.6.三个基本的脚本元素
    7.7.JSP指令
    7.8.JSP动作
    7.9.JSP EL表达式
    7.10.JSP标签库
    JSTL
    fmt标签库常用标签
    7.11.绝对路径和相对路径
    7.12.静态包含和动态包含
    7.13.页面中的几个路径
    7.14.验证码案例
    验证码的作用
    VerifyCode类
    在页面中显示动态图片
    在注册页面中使用验证码
    RegisterServlet
    总结验证码案例


    7.15.MVC设计模式
    7.16.JavaWeb与MVC
    JSP Model1第一代
    JSP Model1第二代
    JSP Model2
    7.17.JavaWeb经典三层框架
    7.18.Filter
    7.18.1.过滤器概述
    Filter简介
    过滤器之HelloWorld
    7.18.2.过滤器详细
    过滤器的生命周期
    FilterConfig
    FilterChain
    多个过滤器执行顺序
    四种拦截方式
    过滤器的应用场景
    设置目标资源
    Filter小结
    7.18.3.过滤器应用案例
    分ip统计网站访问次数
    粗粒度权限控制
    禁用资源
    解决全站字符乱码
    页面静态化
    7.19.JavaWeb监听器
    JavaWeb监听器概述
    创建与销毁监听器
    操作域属性的监听器
    HttpSession的监听器


    7.20.国际化
    什么是国际化
    理解国际化
    Locale类
    ResourceBundle类
    页面国际化
    NumberFormat
    DateFormat
    MessageFormat


    7.21.Ajax
    7.21.1.js原生的ajax
    7.21.2.jQuery封装的ajax
    AJAX概述
    (1)什么是AJAX
    (2)同步交互与异步交互
    (3)AJAX常见应用情景
    (4)AJAX优缺点
    AJAX技术
    (1)AJAX第一例
    (2)AJAX发送POST请求
    (3)AJAX判断用户名是否已注册
    (4)AJAX实现省市二级联动
    7.22.文件上传和下载
    文件上传
    (1)文件上传的作用
    (2)文件上传对页面的要求
    (3)比对文件上传表单和普通文本表单的区别
    (4)文件上传对Servlet的要求


    commons-fileupload
    (1)fileupload概述
    (2)fileupload简单应用
    (3)简单上传示例


    文件上传细节
    (1)把上传的文件放到WEB-INF目录下
    (2)文件名称(完整路径、文件名称)
    (3)中文乱码问题
    (4)上传文件同名问题
    (5)一个目录不能存放过多文件
    (6)上传的单个文件的大小限制
    (7)上传文件的总大小限制
    (8)缓存大小与临时目录


    文件下载
    (1)通过Servlet下载1
    (2)通过Servlet下载2
    (3)通过Servlet下载3


    7.23.会话
    7.23.1.会话跟踪技术
    什么是会话跟踪技术
    会话跟踪技术使用Cookie或Session完成
    7.23.2.Cookie
    Cookie概述
    (1)什么是Cookie
    (2)Cookie规范
    (3)Cookie与HTTP头
    (4)Cookie的覆盖
    (5)Cookie的第一例


    Cookie的生命周期
    (1)什么是Cookie的生命周期
    (2)浏览器查看Cookie
    (3)案例:显示上次访问时间


    Cookie的Path
    (1)什么是Cookie的路径
    (2)Cookie路径与请求路径的关系
    (3)设置Cookie的路径


    Cookie的domain
    Cookie中保存中文
    显示曾经浏览过的商品


    7.23.3.HttpSession
    HttpSession概述
    登录案例
    Session实现原理
    Session与浏览器
    Session其他常用API
    URL重写======四.Web高级===========1.经典框架=====
    ==== 1.1.Maven ====


    maven的介绍
    maven的安装配置
    创建maven工程之maven命令
    maven核心概念之坐标
    maven核心概念之依赖管理
    maven核心概念之生命周期
    maven核心概念之插件
    maven核心概念之继承
    maven核心概念之聚合


    ==== 1.2.MyBatis ====

    1.2.1.单独使用JDBC编程问题总结
    JDBC程序
    JDBC编程步骤
    JDBC问题总结如下


    1.2.2.MyBatis介绍
    1.2.3.MyBatis架构
    1.2.4.MyBatis下载
    1.2.5.创建数据库


    1.2.6.MyBatis入门程序
    (1)需求
    (2)第一步:创建Java工程
    (3)第二步:加入jar包
    (4)第三步:log4j.properties
    (5)第四步:SqlMapConfig.xml
    (6)第五步:POJO类
    (7)第六步:程序编写
    ① 查询
    ② 添加
    ③ 删除
    ④ 修改
    (8)MyBatis解决JDBC编程的问题


    1.2.7.Dao开发方法


    需求
    SqlSession的使用范围
    (1)SqlSessionFactoryBuilder
    (2)SqlSessionFactory
    (3)SqlSession
    原始Dao开发方式
    ① 映射文件
    ② Dao接口
    ③ 问题
    Mapper动态代理方式
    ① 实现原理
    ② Mapper.xml
    ③ Mapper.java
    ④ 加载UserMapper.xml文件
    ⑤ 测试
    ⑥ 总结


    1.2.8.SqlMapConfig.xml文件


    配置内容
    properties属性
    settings配置
    typeAliases
    ① mybatis支持别名
    ② 自定义别名
    typeHandler
    Mappers
    ① <mapper resource=""/>
    ② <mapper url=""/>
    ③ <mapper class=""/>
    ④ <package name=""/>


    1.2.9.Mapper.xml映射文件
    1.2.9.1.parameterType
    #{}与${}
    传递简单类型
    传递POJO对象
    传递POJO包装对象
    ① 定义包装对象
    ② mapper.xml映射文件
    传递HashMap
    1.2.9.2.resultType
    输出简单类型
    输出POJO对象
    输出POJO列表
    resultType总结
    输出HashMap
    1.2.9.3.resultMap
    Mapper.xml定义
    定义result
    MapMapper接口定义


    1.2.9.4.动态SQL
    If
    Where
    Foreach
    ① 通过POJO传递List
    ② 传递单个List
    ③ 传递单个数组(数组中是POJO)
    ④ 传递单个数组(数组中是字符串类型)


    sql片段


    1.2.10.关联查询


    商品订单数据模型
    一对一查询
    ① 方法一
    ② 方法二
    一对多查询
    ③ Sql语句
    ④ 定义POJO类
    ⑤ Mapper.xml
    ⑥ 定义resultMap
    1)resultMap使用继承
    ⑦ Mapper接口
    ⑧ 测试
    ⑨ 小结


    多对多查询
    ① 查询用户购买的商品信息
    ② 小结


    resultMap小结
    延迟加载
    (1)开启延迟加载
    (2)一对一查询延迟加载
    ① 需求
    ② Sql语句
    ③ 定义POJO类
    ④ Mapper.xml
    ⑤ 定义resultMap
    ⑥ Mapper接口
    ⑦ 测试
    ⑧ 延迟加载优缺点分析


    一对多查询延迟加载
    延迟加载小结


    1.2.11.查询缓存


    1.2.11.1.MyBatis缓存介绍
    1.2.11.2.一级缓存
    原理
    测试
    1.2.11.3.二级缓存
    原理
    开启二级缓存
    实现序列化
    测试
    禁用二级缓存
    刷新缓存
    MyBatis Cache参数
    MyBatis整合ehcache
    (1)原理
    (2)整合步骤
    ① 引入缓存的依赖包
    ② 引入缓存的配置文件
    ③ 开启ehcache缓存


    应用场景
    局限性


    ==== 1.3.Spring ====

    1.3.1.初识Spring
    1.3.1.1.简化Java开发
    什么是最小侵入式
    依赖注入
    应用切面
    使用模板消除样板式代码


    1.3.1.2.Spring主要模块
    1.3.2.Bean的注入
    1.3.2.1.XMl配置
    普通构造方法创建
    静态工厂创建
    实例工厂创建
    属性注入方式
    ① 构造方法注入
    ② set方法注入
    ③ p名称空间注入
    ④ 对象的注入
    ⑤ 数组注入
    ⑥ List集合注入
    ⑦ Map注入
    ⑧ Properties注入


    1.3.2.2.Java配置
    1.3.2.3.自动配置
    通过Java代码实现
    通过XML配置文件实现
    1.3.2.4.混合配置
    1.3.2.5.Profile
    Java配置
    XML配置


    1.3.2.6.条件注解
    1.3.2.7.Bean的作用域
    1.3.2.8.其他问题
    1.3.3.AOP
    1.3.3.1.AOP简介
    1.3.3.2.AOP几个关键概念
    1.3.3.3.AOP原理
    1.3.3.4.AOP实现
    1.3.3.4.1.通过Java代码实现
    使用注解拦截
    (1)前置、后置通知
    (2)返回通知
    (3)环绕通知
    (4)异常通知
    按照方法规则拦截
    (1)前置、后置通知
    (2)返回通知
    (3)环绕通知
    (4)异常通知
    1.3.3.4.2.通过XML配置实现
    使用注解拦截
    按照方法规则拦截
    (1)前置通知
    (2)返回通知
    (3)环绕通知
    (4)异常通知
    (5)后置通知
    1.3.3.5.JdbcTemplate


    增删改查
    配合数据库连接池


    1.3.3.6.Spring事务管理
    回忆事务
    XML配置实现
    Java配置实现


    1.3.3.7.Spring高级应用
    1.3.3.8.服务端校验
    普通校验
    分组校验
    校验注解


    1.3.3.9.数据回显
    默认方式
    Model方式
    @ModelAttribute
    (1)解决数据回显问题
    (2)方法返回值暴露为模型数据


    异常处理
    文件上传
    JSON数据交互
    (1)@RequestBody
    (2)@ResponseBody






    RESTful支持
    (1)RESTful简介
    (2)SpringMVC对RESTful的支持


    静态资源访问
    拦截器


    ==== 1.4.SpringMVC ====

    1.4.1.简介
    SpringMVC工作流程
    SpringMVC相关组件
    HelloWorld


    1.4.2.组件介绍
    1.4.2.1.DispatcherServlet
    1.4.2.2.Controller
    1.4.2.2.1.@RequestMapping
    (1)URL路径映射
    (2)窄化请求映射
    (3)请求方法限定


    1.4.2.2.2.Controller方法返回值


    返回ModelAndView


    返回void
    (1)使用request转向页面
    (2)通过response页面重定向
    (3)通过response指定响应结果






    返回字符串
    (1)逻辑视图名
    (2)Redirect重定向
    (3)forward转发


    1.4.2.2.3.参数绑定
    默认支持的参数类型


    简单数据类型
    (1)简单类型
    (2)@RequestParam


    POJO
    (1)简单pojo
    (2)包装pojo


    自定义参数绑定


    集合类
    (1)字符串数组
    (2)Lis
    (3)tMap


    1.4.2.2.4.问题总结


    404
    Post时中文乱码


    1.4.2.3.其他组件


    === 1.5.Freemarker ===



    1.5.1.Freemarker介绍
    Freemarker简介
    使用引入
    1.5.2.ftl基本语法
    if else语句
    list循环语句
    输出展示
    === 1.6.SpringMVC+Freemarker案例 ===

    === 1.7.SpringMVC+AJAX实现动态树形菜单 ===

    === 1.8.MyBatis整合Spring ===

    1.8.1.MyBatis与Spring整合jar
    1.8.2.MyBatis配置文件
    1.8.3.Spring配置文件
    1.8.4.Mapper编写的三种方式
    Dao接口实现类继承SqlSessionDaoSupport
    使用org.mybatis.spring.mapper.MapperFactoryBean
    使用Mapper扫描器


    === 1.9.MyBatis逆向工程 ===

    使用方式
    Mapper文件内容不覆盖而是追加
    Table schema问题




    === 1.10.Struts2 ===

    1.10.1.Struts2概述
    1.10.2.Struts2框架入门
    1.10.3.Struts2执行过程
    1.10.4.Struts2核心配置文件
    标签package
    标签action
    标签result


    1.10.5.Struts2常量配置
    1.10.6.分模块开发
    1.10.7.Action编写方式
    1.10.8.访问Action的方法


    使用action标签method属性
    使用通配符实现


    1.10.9.结果页面配置
    全局结果页面
    局部结果页面
    Result标签的type属性




    1.10.10.Action获取表单提交数据
    使用ActionContext类获取
    使用ServletActionContext类获取
    在Action操作域对象


    1.10.11.Struts2封装获取表单数据方式


    属性封装
    模型驱动封装
    封装到集合中
    (1)封装数据到List集合中
    (2)封装数据到Map集合中


    Struts2拦截器概述
    拦截器底层原理
    重要概念
    自定义拦截器
    自定义登录拦截器
    Struts2的标签库
    Struts2总结


    === 1.11.Hibernate ===

    1.11.1.Hibernate概述
    什么是框架
    什么是hibernate框架
    什么是ORM思想


    1.11.2.Hibernate入门
    搭建Hibernate环境
    实现添加操作


    1.11.3.Hibernate配置文件详解
    Hibernate映射配置文件
    Hibernate核心配置文件


    1.11.4.Hibernate核心API


    Configuration
    SessionFactory
    Session
    Transaction


    1.11.5.Hibernate主键生成策略
    1.11.6.实体类操作
    添加
    根据id查询
    修改操作
    删除操作


    1.11.7.Hibernate的一级缓存
    什么是缓存
    Hibernate缓存
    验证缓存
    Hibernate一级缓存执行过程
    Hibernate一级缓存特性


    1.11.8.Hibernate事务操作


    事务相关概念
    Hibernate事务代码规范写法
    Hibernate绑定session


    1.11.9.Hibernate的API的使用


    Query对象
    Criteria对象
    SQLQuery对象


    1.11.10.Hibernate一对多操作


    一对多映射配置
    一对多级联操作
    一对多级联保存
    一对多级联删除
    一对多修改操作


    1.11.11.Hibernate查询


    对象导航查询
    OID查询
    HQL查询
    QBC查询


    === 1.12.Spring Boot ===



    1.12.1.Spring Boot概述
    什么是Spring Boot
    Spring Boot的核心功能
    Spring Boot的优缺点
    1.12.2.Spring Boot快速搭建
    1.12.3.Spring Boot核心
    1.12.3.1.基本配置


    (1)入口类和@SpringBootApplication
    (2)关闭特定的自动配置
    (3)定制Banner
    (4)Spring Boot的配置文件
    (5)Starter pom
    (6)使用xml配置


    1.12.3.2.外部配置
    命令行参数配置
    常规属性配置
    类型安全配置


    1.12.3.3.日志配置
    1.12.3.4.Profile配置


    1.12.4.Spring Boot运行原理


    运作原理
    核心注解
    实例分析


    1.12.5.Spring Boot的Web开发支持
    1.12.6.Thymeleaf模板引擎


    Thymeleaf基础知识
    与Spring MVC集成
    Spring Boot的Thymeleaf支持
    案例


    1.12.7.Web相关配置


    Spring Boot提供的自动配置
    接管Spring Boot的Web配置
    注册Serlvet、Filter、Listener


    1.12.8.Tomcat配置


    配置Tomcat
    代码配置Tomcat
    替换Tomcat
    SSL配置


    1.12.9.Favicon配置


    默认的Favicon
    关闭Favicon
    设置自己的Favicon


    1.12.10.WebSocket


    什么是WebSocket
    Spring Boot提供的自动配置
    案例


    1.12.11.基于Bootstrap和AngularJS的现代Web应用


    1.12.12.Spring Boot的数据访问
    Spring Data JPA
    Spring Data REST
    声名式事务
    (1)回忆Spring 的事务机制
    (2)声名式事务
    (3)注解事务行为
    (4)类级别使用@Transactional
    (5)Spring Boot的事务支持
    (6)案例


    1.12.13.数据缓存Cache
    Spring的缓存支持
    Spring Boot的支持
    缓存切换技术
    案例


    1.12.14.Spring Boot企业级开发


    安全控制Spring Security
    批处理Spring Batch
    异步消息
    集成Spring Integration


    === 1.13.Shiro ===



    1.13.1.Shiro简介
    1.13.2.HelloWorld
    1.13.3.Shiro集成Spring
    1.13.4.Shiro工作流
    1.13.5.权限URL配置细节
    1.13.6.认证思路分析
    1.13.7.实现认证流程
    1.13.8.实现认证Realm
    1.13.9.密码的比对
    1.13.10.密码的MD5加密
    1.13.11.密码的MD5盐值加密
    1.13.12.多Realm验证
    1.13.13.认证策略
    1.13.14.把realms配置给SecurityManager
    1.13.15.Shiro权限配置
    1.13.16.Shiro授权流程分析
    1.13.17.多Realm授权的通过标准
    1.13.18.实现授权
    1.13.19.标签
    1.13.20.权限注解
    1.13.21.从数据表中初始化资源和权限
    1.13.22.会话管理
    1.13.23.SessionDao
    1.13.24.缓存认证和记住我的区别
    1.13.25.Shiro实现Rememberme
    === 1.14.Spring Cloud ===

    =====2.JavaEE进阶=====
    ==== 2.1.Linux ====
    2.1.1.Linux简介


    简介
    Linux版本


    2.1.2.Linux系统安装
    VMware安装
    CentOs安装
    CentOs root用户
    CentOs 使
    用CentOs目录介绍


    2.1.3.Linux基本命令
    切换目录命令
    端口查看命令
    文件执行命令
    解压命令
    授权命令
    创建目录命令
    文件复制命令
    chkconfig命令


    2.1.4.vi编辑器&vim
    2.1.5.应用安装准备
    安装路径
    上传文件到Linux


    2.1.6.jdk安装


    2.1.7.Tomcat安装


    安装
    启动
    停止


    关闭防火墙
    安装zookeper
    安装mysql数据库


    ==== 2.2.Redis ====



    2.2.1.NoSQL概述


    2.2.1.1.入门概述
    为什么用NoSQL
    什么是NoSQL
    NoSQL能干什么


    2.2.1.2.3V+3高


    2.2.1.3.当下的NoSQL经典应用(以阿里巴巴为例)


    架构发展史
    阿里巴巴中文站商品信息存放
    (1)商品基本信息
    (2)商品描述、详情、评价信息(多文字类)
    (3)商品的图片
    (4)商品关键字
    (5)商品的波段性的热点高频信息
    (6)商品的交易、价格计算、积分累计


    大型互联网应用(大数据、高并发、多样数据类型)的难点和解决方案
    难点
    解决办法UDSL


    2.2.1.4.NoSQL数据模型简介
    传统数据库模型
    NoSQL数据模型
    聚合模型


    2.2.1.5.NoSQL数据库的四大分类
    KV键值


    文档型数据库(bson格式比较多)


    列存储数据库
    (1)Cassandra, HBase
    (2)分布式文件系统


    图关系数据库


    四者对比


    2.2.1.6.分布式数据库中CAP原理


    传统的ACID分别是什么
    CAP
    CAP的3选2
    BASE是什么
    分布式和集群


    2.2.2.Redis入门介绍


    2.2.2.1.入门概述
    VMWare上安装Linux
    (1)VMWare虚拟机的安装
    (2)CentOS或者RedHad5的安装
    (3)VMTools的安装
    (4)设置共享目录
    (5)上述环境都OK后开始进行Redis的服务器安装配置


    2.2.2.2.Redis的安装


    Windows版安装
    重要提示:
    Linux版安装


    2.2.2.3.Redis启动后杂项基础知识讲解


    2.2.3.Redis的数据类型


    2.2.3.1.Redis的五大数据类型
    string(字符串)
    hash(哈希,类似java里的Map)
    list(列表)
    set(集合)
    zset(sorted set:有序集合)


    2.2.3.2.Redis 键(key)
    常用
    案例


    2.2.3.3.Redis字符串(String)


    常用
    案例


    2.2.3.4.Redis列表(List)
    常用
    案例
    (1)lpush/rpush/lrange
    (2)lpop/rpop 
    (3)lindex,按照索引下标获得元素(从上到下) 
    (4)Llen
    (5)lrem key 删N个value 
    (6)ltrim 
    (7)rpoplpush 源列表 目的列表 
    (8)lset key index value 
    (9)linsert key before/after 值1 值2
    (10)性能总结


    2.2.3.5.Redis集合(Set)


    常用
    案例 
    (1)sadd/smembers/sismember 
    (2)scard,获取集合里面的元素个数 
    (3)srem key value 删除集合中元素
    (4)srandmember key 某个整数(随机出几个数) 
    (5)spop key 随机出栈 
    (6)smove key1 key2 在key1里某个值 
    (7)数学集合类
    ① 差集:sdiff
    ② 交集:sinter
    ③ 并集:sunion


    2.2.3.6.Redis哈希(Hash)


    常用
    案例 
    (1)hset/hget/hmset/hmget/hgetall/hdel 
    (2)hlen hexists key key里面的某个值的key 
    (3)hkeys/hvals 
    (4)hincrby/hincrbyfloat 
    (5)Hsetnx


    2.2.3.7.Redis有序集合Zset(sorted set)


    常用
    案例 
    (1)zadd/zrange 
    (2)zrangebyscore key 开始score 结束score 
    (3)zrem key 某score下对应的value值 
    (4)zcard/zcount/zrank /zscore 
    (5)zrevrank 
    (6)zrevrange 
    (7)zrevrangebyscore key 结束score 开始score


    2.2.4.解析配置文件redis.conf
    2.2.4.1.它在哪
    2.2.4.2.units单位
    2.2.4.3.INCLUDES包含
    2.2.4.4.GENERAL通用
    (1)daemonize
    (2)Pidfile
    (3)Port
    (4)tcp-backlog
    (5)Timeout
    (6)Bind
    (7)tcp-keepalive
    (8)Loglevel
    (9)Logfile
    (10)syslog-enabled
    (11)syslog-ident
    (12)syslog-facility
    (13)Databases


    2.2.4.5.SNAPSHOTTING快照
    (1)Save 
    ① save 秒钟写操作次数
    ② 禁用
    (2)stop-writes-on-bgsave-error 
    (3)rdbcompression 
    (4)rdbchecksum 
    (5)dbfilename 
    (6)Dir


    2.2.4.6.REPLICATION复制
    2.2.4.7.SECURITY安全
    2.2.4.8.LIMITS限制
    Maxclients
    Maxmemory
    maxmemory-policy
    maxmemory-samples


    2.2.4.9.APPEND ONLY MODE追加
    2.2.4.10.常见配置redis.conf介绍


    2.2.5.redis的持久化
    2.2.5.1.RDB(Redis DataBase)


    简介
    Fork
    配置位置
    如何触发RDB快照
    如何恢复
    优势
    劣势
    如何停止
    小总结


    2.2.5.2.AOF(Append Only File)


    概述
    配置位置
    AOF启动/修复/恢复
    (1)正常恢复
    (2)异常恢复


    Rewrite
    (1)是什么
    (2)重写原理
    (3)触发机制


    优势
    劣势
    小总结


    2.2.5.3.总结


    2.2.6.Redis的事务


    2.2.6.1.概述
    2.2.6.2.用法
    常见用法
    Redis事务错误处理
    watch监控
    (1)悲观锁/乐观锁/CAS(Check And Set)
    (2)初始化信用卡可用余额和欠额
    (3)无加塞篡改,先监控再开启multi, 保证两笔金额变动在同一个事务内
    (4)有加塞篡改 
    (5)Unwatch
    (6)小结


    3阶段
    3特性


    2.2.7.Redis的发布订阅
    概述
    命令
    案列


    2.2.8.Redis的复制(Master/Slave)


    2.2.8.1.是什么
    2.2.8.2.配置
    2.2.8.2.1.配从(库)不配主(库)
    2.2.8.2.2.从库配置:slaveof 主库IP 主库端口
    2.2.8.2.3.m
    2.2.8.2.4.常用3招
    一主二仆
    ① M
    ② 一个Master两个Slave
    ③ 日志查看
    ④ 主从问题演示


    薪火相传
    反客为主


    2.2.8.3.复制原理


    2.2.8.4.哨兵模式(sentinel)
    是什么
    使用步骤
    一组sentinel能同时监控多个Master


    2.2.8.5.复制的缺点


    2.2.9.Redis的Java客户端Jedis


    2.2.9.1.搭建环境
    2.2.9.2.Jedis常用操作


    测试连通性
    5+1
    事务提交
    (1)日常
    (2)加锁


    主从复制
    (1)6379,6380启动,先各自先独立
    (2)主写
    (3)从读


    2.2.9.3.JedisPool


    获取Jedis实例需要从JedisPool中获取
    用完Jedis实例需要返还给JedisPool
    如果Jedis在使用过程中出错,则也需要还给JedisPool
    案例见代码
    (1)JedisPoolUtil
    (2)调用


    配置总结all


    2.2.10.Spring Data Redis
    简介
    案例






    ==== 2.3.JPA ====



    2.3.1.JPA概述
    JPA简介
    JPA HelloWorld
    2.3.2.常用注解


    基本注解
    Transient注解
    Temporal注解
    Table主键生成策略
    2.3.3.JPA EntityManager
    2.3.4.JPA EntityTransaction
    2.3.5.JPA 映射单向多对一关联关系
    2.3.6.JPA 映射单向一对多关联关系
    2.3.7.JPA 映射双向一对多的关联关系
    2.3.8.JPA 映射双向一对一的关联关系
    2.3.9.JPA 二级缓存


    2.3.10.JPQL
    JPQL查询缓存
    ORDER BY和GROUP BY
    关联查询
    子查询和内建函数
    DELETE和UPDATE
    2.3.11.JPA整合Spring
    ==== 2.4.分布式系统 ====

    2.4.1.RPC
    什么是RPC
    RPC使用场景


    2.4.2.分布式介绍
    分布式系统
    分布式种类
    分布式与集群的区别


    2.4.3.Dubbo使用
    dubbo服务器
    2.4.4.zookeper介绍
    2.4.5.zookeper安装
    2.4.6.服务端应用
    2.4.7.客户端应用
    2.4.8.分布式架构
    ==== 2.5.支付宝支付 ====

    ==== 2.6.微信支付 ====



    ==== 2.7.消息队列 ====

    ==== 2.8.WebSocket ====

    2.8.1.创建第一个WebSocket应用
    创建WebSocket端点
    部署端点
    创建WebSocket客户端


    2.8.2.WebSocket端点


    2.8.3.编程式端点


    2.8.4.深入Echo示例
    部署阶段
    接收第一个连接
    WebSocket消息通信


    2.8.5.WebSocket生命周期
    2.8.6.高级消息处理
    检查连接
    异步发送WebSocket消息
    (1)通过Future发送消息
    (2)通过Handler发送消息
    (3)区别与联系


    WebSocket路径映射
    Portfolio应用


    2.8.7.保护WebSocket服务器端点
    2.8.8.Java EE平台中的WebSocket
    ==== 2.9.Lucene ====



    2.9.1.Lucene简介
    什么是lucene
    全文检索的应用场景
    (1)搜索引擎
    (2)站内搜索
    (3)文件系统搜索
    (4)总结


    全文检索的定义
    lucene实现全文检索的流程


    2.9.2.入门案例
    2.9.2.1.需求
    2.9.2.2.搭建环境
    (1)数据库脚本初始化
    (2)lucene准备
    2.9.2.3.工程搭建
    2.9.2.4.索引流程


    为什么采集数据
    采集数据的方式
    (1)网页采集
    (2)数据库采集
    索引文件的逻辑结构
    索引


    2.9.2.5.搜索流程
    输入查询语句
    搜索分词
    搜索索引


    2.9.3.Field域


    Field的属性
    Field的常用类型
    修改入门程序的代码


    2.9.4.索引维护


    需求
    添加索引
    删除索引
    修改索引


    2.9.5.搜索
    创建查询对象的方式
    通过Query子类来查询对象
    通过QueryParser创建查询对象
    TopDocs


    2.9.6.相关度排序


    什么是相关度排序
    设置bosst值影响打分


    2.9.7.中文分词器


    什么是中文分词器
    Lucene自带的中文分词器
    第三方中文分词器
    Ikanalyzer


    ==== 2.10.Solr ====



    2.10.1.Solr介绍
    什么是Solr
    Solr和Lucene的区别
    2.10.2.Solr安装配置
    下载Solr
    运行环境
    SolrCore配置
    (1)SolrHome和SolrCore
    (2)目录结构
    (3)创建SolrCore
    (4)配置SolrCoreSolr
    工程部署管
    理界面功能介绍
    多SolrCore配置


    2.10.3.Solr基本使用
    schema.xml
    配置中文分析器
    配置业务Field
    dataimportHandler插件


    2.10.4.Solrj的使用
    什么是Solrj
    需求
    环境准备
    工程搭建
    代码实现
    (1)添加、修改索引
    (2)删除索引
    (3)查询索引


    2.10.5.案例
    需求
    分析
    (1)UI分析
    (2)架构分析


    环境准备
    工程搭建
    代码实现


    ==== 2.11.Nginx ====

    ==== 2.12.Dubbo ====

    ==== 2.13.Docker ====

    ==== 2.14.Kubernetes ====

    ==== 2.15.lvs ====

    ==== 2.16.Activemq ====

    ==== 2.17.Rocketmq ====

    ==== 2.18.Kafka ====

    ==== 2.19.Mycat ====
    ==== 2.20.Sharding-jdbc ====

    ==== 2.21.Zookeeper ====

    ==== 2.22.RPC ====
    ======五.工具的使用======
    =====1.SVN使用=====
    =====2.Git使用 =====
    ===== 3.Eclipse开发工具的介绍 =====


    工作空间的概念
    工程的概念以及命名规范
    包的概念以及命名规范
    (1)创建包
    (2)导入包
    (3)创建包的命名规范
    常用快捷键的介绍
    工程的导入导出
    ===== 4.VMware (虚拟机) =====

    ===== 5.IntelliJ IDEA =====

    ===== 6.StarUML =====

    ===== 7.Dreamweaver =====

    ===== 8.PdShell =====

    ===== 9.Postman =====

    ===== 10.Xshell 5 =====

    ===== 11.Xftp 5 =====

    ===== 12.RedisDesktopManager =====

    ===== 13.HiJson =====

    ===== 14.数据库图形化工具 =====

  • 相关阅读:
    jQuery动态效果
    10.嗖嗖移动业务大厅
    10.IDEAD 的xml中配置DTD
    浏览器缓存相关的Http头介绍:Expires,Cache-Control,Last-Modified,ETag
    nginx 重启
    fiddler 路由设置
    JavaScript Source Map 详解
    xdebug.var_display_max_data
    PHP输出当前进程所有变量 / 常量 / 模块 / 函数 / 类
    PHP中文件包含的路径问题
  • 原文地址:https://www.cnblogs.com/mjtabu/p/11840939.html
Copyright © 2020-2023  润新知