自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Filter和Listener

1、Filter概念:* 生活中的过滤器:净水器,空气净化器,土匪、* web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。作用: 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤…步骤:定义一个类,实现接口Filter复写方法配置拦截路径 (web.xml)或(注解)@WebFilter("/*")//访问所有资源之前,都会执行该过滤器 public class FilterDemo1 implements Filte

2020-05-12 22:59:07 157

原创 JSTL标签、EL表达式

1、EL表达式概念:Expression Language 表达式语言作用:替换和简化jsp页面中java代码的编写语法:${表达式}注意:jsp默认支持el表达式的。如果要忽略el表达式设置jsp中page指令中:isELIgnored=“true” 忽略当前jsp页面中所有的el表达式${表达式} :忽略当前这个el表达式使用:运算:算数运算符: + - * /(div) %(mod)比较运算符: > < >= <= == !=逻辑运算符:

2020-05-12 22:39:04 229

原创 JSP内置对象及作用域

内置对象:不需要获取和创建,可以直接使用的对象变量名真实类型作用PageContextPageContext当前页面共享数据,还可以获取其他八个内置对象RequestHttpServletRequest一次请求访问的多个资源(转发)ResponseHttpServletResponse响应对象SessionHttpSession一次会话的多个请求间ApplicationSerlvetContext所有用户间共享数据configSer

2020-05-12 22:10:31 218

原创 JSP 基本使用

1、什么是JSPJava Server Pages : Java服务器端页面,也和Servlet一样,用于动态Web技术最大的特点:写JSP就像在写HTML区别:HTML只给用户提供静态的数据JSP页面中可以嵌入JAVA代码,为用户提供动态数据;2、JSP原理服务器内部工作,IDEA中使用Tomcat的会在IDEA的tomcat中建立一个work目录,从这个文件夹中,我们可以发现页面转变成了Java程序浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!JS

2020-05-12 21:52:03 345

原创 Cookie和Session

1、会话会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话;有状态会话:一个同学来过教室,下次再来教室,我们就会知道这个同学,曾经来过,称之为有状态会话;一个网站,怎么证明我们来过客户端 服务端服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了; cookie服务器登记你来过了,下次你来的时候我来匹配你; seesion2、保存会话的两种技术cookie客户端技术 (响应,请求)session

2020-05-12 16:30:45 107

原创 ServletContext

web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,该对象称为Servlet上下文对象,它代表了当前的web应用;使用ServletContext对象获得Web应用程序的初始化参数,它是重要的作用域对象,可实现数据共享、获得Web容器的版本等信息1、共享数据我在这个Servlet中保存的数据,可以在另外一个servlet中拿到;@WebServlet("/hello")public class HelloServlet extends HttpSe.

2020-05-12 11:00:51 108

原创 Request和Response

web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse;如果要获取客户端请求过来的参数:找HttpServletRequest如果要给客户端响应一些信息:找HttpServletResponse1. HttpServletResponse1.1、简单分类负责向浏览器发送数据的方法ServletOutputStream getOutputStream() throws IOE.

2020-05-11 23:15:30 202

原创 Spring 注解

jdk1.5开始支持注解,spring2.5开始全面支持注解。在spring配置文件中引入context文件头xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd开启属性注解支持!<cont.

2020-05-10 22:15:51 129

原创 Spring 依赖注入DI

1.概念依赖注入(Dependency Injection,DI)。依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 .2.构造器注入通过无参构造方法来创建public class User { private String name; public User() { Syst...

2020-05-01 21:05:00 94

原创 Spring IOC

1.IOCIoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。控制:谁来控制对象的创建,传统应用程序的对象是由程序本身控制创建的,使用Spring之后,对象是由Spring来创建的。反转:程序本身不创建对象,而变成被动的接收对象。这是什么意思呢,举个简...

2020-05-01 20:29:31 127

原创 MyBatis(四)

1、动态 SQL什么是动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。ifchoose (when...

2020-04-30 16:09:25 110

原创 MyBatis(三)

1、使用注解开发1.1、面向接口编程根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不...

2020-04-30 15:13:36 100

原创 MyBatis(二)

MyBatis 的配置文件(mybatis-config.xml)包含了会深深影响 MyBatis 行为的设置和属性信息。configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)env...

2020-04-28 19:11:49 91

原创 Servlet

1、Servlet简介Servlet就是sun公司开发动态web的一门技术Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:编写一个类,实现Servlet接口把开发好的Java类部署到web服务器中。把实现了Servlet接口的Java程序叫做Servlet2、HelloServletSerlvet接口Sun公司...

2020-04-28 14:38:24 130

原创 Http

1、什么是HTTPHTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:html,字符串,~ ….超文本:图片,音乐,视频,定位,地图…….80Https:安全的4432、两个时代http1.0HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接http2.0HTTP/1.1:客户端可以与web...

2020-04-28 11:37:36 282

原创 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效

1.分析错误在启动tomcat项目时,控制台报错nested exception is com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。该错误说明我的mybatis-config.xml编码出了问题。在配置文件中引入了<?xml ve...

2020-04-27 19:42:08 816

原创 MyBatis(一)

1、简介1.1、什么是MybatisMyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。...

2020-04-27 15:01:53 135

原创 序列化和反序列化

1.什么是序列化和反序列化?序列化:把对象转为字节序列的过程称为对象的序列化;反序列化:把字节序列恢复为对象的过程称为对象的反序列化。有时候我们想把一些信息持久化保存起来,那么序列化的意思就是把内存里面的这些对象给变成一连串的字节描述的过程。2.什么时候需要序列化?把内存中的对象状态保存到一个文件或数据库中的时候;用套接字在网络上传送对象的时候。3.实现序列化的方式序列化本身和语言...

2020-04-26 15:20:53 134

原创 You must configure either the server or JDBC driver (via the serverTimezone configuration property)

1、问题描述使用JDBC连接MySQL时,如果出现如下错误:Failedjava.sql.SQLException: The server time zone value ‘Coordinated Universal Time’ is unrecognized or represents more than one time zone. You must configure either th...

2020-04-18 20:44:55 641

原创 Maven的使用

1.Maven是什么Apache Maven 是一种用于软件项目管理工具,基于 Project Object Model(POM),用来管理项目 的构建,汇报及文档生成等功能。2.安装与配置2.1安装下载:https://maven.apache.org/我下载的是3.6.1版本解压maven:如解压到E:\Download\apache-maven-3.6.12.2配置环境变量1...

2020-03-18 08:54:12 84

原创 Linux 基本指令

1 ls 指令语法: ls [选项] [目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件-l 列出文件的详细信息。-r...

2020-03-16 10:24:24 123

原创 Linux 环境搭建

1. Linux 介绍1.1 Linux 简介Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。1.2 Lin...

2020-03-15 11:16:39 78

原创 IO流

1.流1.1 流的概念流:在 Java中所有数据都是使用流读写的。流是一组有顺序的,有起点和终点的字节集合,是对数据传 输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象 为各种类,方便更直观的进行数据操作。分类1.按照流向分:输入流;输出流2.按照处理数据的单位分:字节流(8位的字节);字符流(16位的字节)1.2 输入输出流输入就是将数据从...

2020-03-14 11:18:31 125

原创 File类

在 java.io 包之中,用 File 类来对文件进行操作(创建、删除、取得信息等)1 File类使用java.io.File 类是一个普通的类,如果要实例化对象,则常用到两个构造方法方法解释public File(String pathname)创建指定路径文件对象public File(String parent, String child)同上,但可...

2020-03-13 15:38:02 84

原创 JDBC编程

1.Java的数据库编程:JDBCJDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.javax.sql. 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。2.JDBC工作原理JDBC...

2020-03-12 21:31:33 106

原创 MySQL索引事务

1. 索引1.1 概念索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现。(具体细节在后续的数据库原理课程讲解)1.2 作用数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。索引所起的作用类似书籍目录,可用于快速定位、检索数据。索引对于提高数据库的性能有很大的帮助...

2020-03-11 11:04:36 214

原创 MySQL表的增删改查二

1. 数据库约束1.1 NULL约束创建表时,可以指定某列不为空:-- 重新设置学生表结构 DROP TABLE IF EXISTS student; CREATE TABLE student ( id INT NOT NULL, sn INT, name VARCHAR(20), qq_mail VARCHAR(20) );...

2020-03-10 12:16:41 366

原创 MySQL表的增删改查一

1.新增(Create)语法:INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ... value_list: value, [, value] ...案例:-- 创建一张学生表 DROP TABLE IF ...

2020-03-09 22:27:05 141

原创 MySQL 数据库基础

1. 数据库的操作1.1 显示当前的数据库SHOW DATABASES;1.2 创建数据库语法:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]create_specification: [DEFAULT] CHARACTER SE...

2020-03-08 11:31:08 292 1

原创 MySQL 安装与配置

1.下载与解压我们可以去这个网址去下载https://www.mysql.com/downloads/我下载的是5.7.27版本解压MySQL:如解压到E:\Download\mysql-5.7.27-winx642.windows 10安装2.1配置环境变量:右键 此电脑 -> 高级系统设置 -> 环境变量 -> 在下面 系统变量栏 点击 新建 ->变量...

2020-03-07 15:37:55 202

原创 多线程四 案例

1.阻塞式队列生产者消费者模型生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而 通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者 要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队 列就是用来给生产者和消费者解耦的import jav...

2020-03-06 12:24:18 124

原创 多线程三 线程安全

1.线程安全的概念如果多线程环境下代码运行的结果是符合我们预期的,即在单线程环境应该的结果,则说这个程序是线程安全的。2.线程不安全的原因原子性我们把一段代码想象成一个房间,每个线程就是要进入这个房间的人。如果没有任何机制保证,A进入房间之后,还 没有出来;B 是不是也可以进入房间,打断 A 在房间里的隐私。这个就是不具备原子性的。那我们应该如何解决这个问题呢?是不是只要给房间加一把...

2020-03-05 20:45:55 161

原创 多线程二 Thread 类及常见方法

Thread 类是 JVM 用来管理线程的一个类,换句话说,每个线程都有一个唯一的 Thread 对象与之关联。Thread类的对象就是用来描述 一个线程执行流的,JVM 会将这些 Thread 对象组织起来,用于线程调度,线程管理。1 .Thread 的常见构造方法方法说明Thread()创建线程对象Thread(Runnable target)使用 Ru...

2020-03-04 16:56:19 261

原创 多线程一 进程与线程

1.进程与线程进程:操作系统中一个程序的执行周期为一个进程线程:一个程序同时执行多个任务,一个任务称之为线程;线程的优点:创建一个新线程的代价要比创建一个新进程小得多与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多线程占用的资源要比进程少很多能充分利用多处理器的可并行数量在等待慢速I/O操作结束的同时,程序可执行其他的计算任务计算密集型应用,为了能在多处理器系统...

2020-03-03 23:27:47 164

原创 二叉搜索树和哈希表

1.二叉搜索树二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树操作-查找若根节点不为空:如果根节点 key = 查找 key,返回true如果根节点 key> 查找 key,在其左子树查找如果根节点 k...

2020-03-02 22:04:33 776 1

原创 Map和Set

1.Map的使用一般把搜索的数据称为关键字(Key),和关键字对应的称为值(Value), Map 要解决的事情为Key-Value 模型,需要根据指定 Key 找到关联的 Value。Map.Entry<K, V> 即 Map 中定义的 K 类型的 key 和 V 类型的 value 的映射关系的类。方法解释K getKey()返回 entry 中的 ke...

2020-02-24 15:56:28 119

原创 堆(Heap)

1. 堆(heap)堆逻辑上是一棵完全二叉树堆物理上是保存在数组中 比特科技满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者大堆反之,则是小堆,或者小根堆,或者小堆堆的基本作用是,快速找集合中的最值 小根堆大根堆2.操作-向下调整前提:左右子树必须已经是一个堆,才能调整。说明:array 代表存储堆的数组size 代表数组中被视为堆数据的个数in...

2020-02-23 22:06:56 138

原创 排序

我们平时常用的排序有四大类,分别为: 插入排序(直接插入排序,希尔排序),选择排序(选择排序,堆排序),交换排序(冒泡排序,快速排序),和归并排序.下面我们来逐一分析实现它们1.直接插入排序直接插入排序在保证前面的元素已经有序时,一个一个的加入,向后平移的过程.其次,它是稳定的,时间复杂度为最坏为O(n^2), 最好为O(n), 平均为O(n^2),空间复杂度为O(1) .插入排序 ...

2020-02-22 22:50:11 92

原创 栈和队列

1. 栈(Stack)1.1 概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。1.2 实现利用顺序表实现,即使用尾插 + 尾删的方...

2020-02-21 12:47:43 98

原创 二叉树

1. 树型结构树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 。...

2020-02-20 20:39:25 141

空空如也

空空如也

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

TA关注的人

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