- 博客(34)
- 收藏
- 关注
原创 Jwt的Token详解
简单来说,token就是一种身份验证方法,和cookie有相似作用;它被很多人翻译过来后生动的称为“令牌”,它的扩展性,安全性更高,非常适合用在Web应用和移动开发应用上。1.1token验证流程 使用token身份验证,服务器端就不会存储用户的登录记录。(1)客户端使用用户名跟密码请求登录;(2)服务端收到请求,去验证用户名与密码;(3)验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端;(4)客户端收到 Token 以后可以把它存储起来,比如放在 Cookie
2021-09-16 20:58:04
22700
原创 SpringSecurity安全框架(上)
SpringSecurity安全框架(上)前言 什么是安全框架? 解决系统安全问题的框架。如果没有安全框架,我们需要手动处理每个资 源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问限制。SpringSecurity 核心功能:认证授权csrf攻击防护使用框架底层的众多拦截器对url进行拦截,以此来管理权限1.1.1简介 Spring Security是一个高度自定义的安全框架。利用 Spring IoC/DI和AOP功能,为系统提供 了声明式安全访问
2021-09-16 19:20:55
180
原创 FreeMarker讲解
1.概念 FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 是一个Java类库。 FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序,将视图从业务逻辑中抽离处理,业务中不再包括视图的展示,而是将视图交给 FreeMarker 来输出。虽然 FreeMarker具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由 FreeMarker
2021-08-23 10:41:27
485
原创 认识前端设计JavaScript
1.基础知识JSJavaScript 是一种具有面向对象能力的、解释型的程序设计语言。使用方式: JS需要和HTML一起使用才有效果,我们可以通过直接或间接的方式将JS代码嵌入在HTML页面中。 行内JS : 写在标签内部的js代码 内部JS : 定义在script标签内部的js代码 外部JS : 单独的js文件,在HTML中通过script标签引入测试js中的调试: 1.alert() 弹出框 2.document.write("你好啊,中国队必胜!
2021-08-07 09:36:20
199
原创 了解Html与Css及其应用
一、Html表格: table 表格标签 tr 行 th 表格头单元格 居中加粗 td 表格体单元格 属性样式: border边框 bordercolor 边框颜色 style="border-collapse: collapse" 双线变单线 colspan跨列 **** rowspan 跨行 **** height 高度 width 宽
2021-08-07 09:00:45
135
原创 简单了解一下mybatis框架及应用
一、简单介绍MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:封装JDBC操作利用反射打通Java类与SQL语句之间的相互转换MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。二、主要成员MyBatis的主要成员Configuration MyBatis所有的配置信息都保存在Configuration对象之中,配置文
2021-07-31 00:33:29
241
原创 JDBC的简介及应用
Java程序访问数据库的标准接口一、简单了解一下java访问数据库的流程使用Java程序访问数据库时,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接口来访问,而JDBC接口则通过JDBC驱动来实现真正对数据库的访问。┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐│ ┌───────────────┐ │ │ Java App ││ └───────────────┘ │ ││ ▼ │
2021-07-31 00:31:51
144
原创 oracle99语法
一、链表查询–99链表查询–笛卡尔积 cross joinselect * from emp e,dept d; --92select deptno from emp e cross join dept d; --99–查询30部门的员工信息select * from emp where deptno = 30;–查询30部门的部门信息select * from dept where deptno = 30;–连接之前过滤select * from (select * from e
2021-07-30 09:44:39
214
原创 Java多线程讲解
一、介绍多线程 三高: 高可用 高性能 高并发 thread 类 线程是程序中执行的线程。 Java虚拟机允许应用程序同时运行多个执行线程。 多线程: 多任务执行,多条路径可以执行 多线程的优点: 提高效率 进程 与 线程 之间的区别: 进程: 系统中的应用程序,一个进程之间包含1~n个线程,进程具有自己的资源,内存空间,进程是资源分配的最小单位 线程: 一个程序中的顺序流
2021-07-28 08:52:30
95
原创 Java8新特性Stream流
根据数据源所产生的元素序列,关注数据的计算注意: 1.流本身不能存储数据 2.流不能修改数据源中的数据 3.流是一次性的流,流是式操作的每一步都会返回一个持有结果的新流 4.延迟执行|惰性加载 : 当不进行终止行为时候,不会执行流式中间操作过程: 1.获取|创建stream 2.流式中间操作 3.终止行为(返回的结果不在是stream)1.获取|创建streampublic class Class01_Stream { public st
2021-07-28 08:40:50
105
原创 简单了解一下Java网络编程
网页编程 : 上层的应用网络编程 : 底层,关注数据如何传输,如何存储 节点 : 网络电子设备 节点与节点之间组成网络 IP : 表示节点 端口 : 区分不同的软件 URL : 互联网中资源的指针,统一资源定位符 协议 : 合同,标准,规范 传输层协议 : UDP : 相当于写信 只管写只管发 效率高 不安全 大小存在限制 TCP : 相当于打电话 面向连接 安全性高 效率低 大小没有限制 ***
2021-07-24 08:52:40
102
原创 Java容器集合(4)Map接口下的实现类
一、Map1.概述 存储键值对数据 将键映射到值的对象 元素的集合,键值对的集合 K-V 键值对1)键值对 key,value可以为任意引用数据类型的数据 key–> 唯一的,无序的 --> Set集合 value --> 无序的,可重复的 -->Collection2)键值对分析 键值对为一个映射关系 key–> 映射–>value 一个key只能对应一个value 一个key可以实现对应一个集合作为value
2021-07-21 11:49:05
200
原创 Java容器集合(3)Set接口下的实现类
一、Set介绍 无序的,不可重复 1)新增功能:static Set of(E… elements) 返回包含任意数量元素的不可修改集。 其他方法从Collection继承//新增Set<Integer> set2 = Set.of(3,2,5,4,2,1);System.out.println(set2);//不可变 set2.remove(3); System.out.println(set2); 2)遍历方式:fore
2021-07-21 10:48:12
155
原创 Java容器|集合(1)
集合也相当于一个数组,用来存储多个数据1.集合的基本概念和讲解(1)特点:1.引用数据类型2.定长的,长度一旦确定不可改变3.存储相同数据类型的数据4.有序,根据索引操作数组中的数据(2)使用需求1.容量跟随内容的多少进行动态的增删2.存储任意引用类型数据例题:手动简单封装容器类型:数组public class Class001_App { public static void main(String[] args) { //容器类型 Arr
2021-07-20 11:02:05
75
原创 Java容器集合(2)
1.集合的遍历详细四种方法public class Class03_List { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("美国队长"); list.add("钢铁侠"); list.add("蜘蛛侠"); list.add("毒液");
2021-07-19 22:34:06
94
原创 Java中 IO流 详解
一、前提需求读写文件内部的内容,上传,下载IO流 流: 管道 数据以先入先出的方式进行流动数据源--数据-->目的地二、流的分类流的分类:按照流向分:输入流输出流(以大脑为中心,以程序为中心,明确数据源和目的地,能够确定输入还是输出)按照操作单元分; 字节流 : 万能流,任意内容都能转为字节 字符流 : 只能传输纯文本的内容按照功能分: 节点流 : 真实做读入写出的流 功能流 : 增强节点流的功能,加强性能1.按流向分输入流
2021-07-18 20:17:02
208
原创 Java中的异常抛出与捕获
1.异常的处理方案 1)异常抛出: throws 把异常抛出到上一层,谁调用谁解决 2)异常捕获: try … catchtry{ 有可能出现异常的代码;}catch(FileNotFoundException e){ 处理异常代码;}catch(NullPointerException e){ 处理异常代码;}catch(Exception e){ 所有异常都能接收;}finally{ 无论try中是否会出现异常,都会执行finally中的
2021-07-15 21:49:19
1535
原创 Java中的常用类(API字典)
1.String 字符串类Java程序中所有字符串文字(例如"abc")都实现为此类的实例1)简单介绍 String : 少量修改字符串,适合使用String,因为表示字符串String对象简单,功能强大的APIString str ="abc"; //创建了一个字符串对象"abc",字符串常量 -->字符串常量池中String str2 = new String("haha");//2个对象 第一个new在堆中 第二个"haha"-->字符串常量池中String str2 = n
2021-07-15 21:19:45
663
原创 java基础常见异常
java基础常见异常1.异常:程序无法正常执行完毕异常体系:Throwable/ Error Exception2.程序出错分为错误和异常Error : 错误,一般由虚拟机生成并脱出,无需要程序猿管理Exception : 异常 CheckedException 编译时异常|检查时异常: 发生在程序编译期间 程序如果遇到编译时异常没有处理,程序无法正常运行 RuntimeException 运行时异常 : 发生程序运行期间 一般可以通过
2021-07-14 17:50:19
95
原创 Java中内部类的使用
一、内部类的概念 内部类,顾名思义,那当然是定义在一个类中的类了,就是类中定义类定义:当一类中的成员,作为另外一种事物的时候,这个成员就可以定义为内部类二、内部类的种类内部类的种类分为5种:1.成员内部类定义:一个类定义在外部类的成员位置就为成员内部类特性:具有类的特点,继承,实现…成员内部类具有成员的特点,被成员修饰符修饰注意:在成员内部类中不能定义静态内容,除了静态常量,静态内部类才能任意定 义静态内部在成员内部类中可以使用外部类中的成员,包括私有的,静态的在外部
2021-07-14 17:36:31
226
原创 常用操作数组的工具类 Arrays(Java中的静态工厂)
1.equals 比较1)Arrays.equals() 比较两个数组是否相等 Arrays.toString() //打印指定数组 首先我们先创建几个数组,然后来测试一下public class Class001_Arrays { public static void main(String[] args) { int[] arr1 = new int[]{3,1,5,4,2}; int[] arr2 = new int[]{3,1,5,4,2}
2021-07-14 14:44:38
177
原创 数组和二维数组的讲解及例题
1.数组Java中变量是存储的单个数据,而数组就方便了,它是能存储多个数据;1)定义:数组是指相同数据类型的有序集合,是一段连续的内存空间特点:1.引用数据类型2.长度一旦确定不可改变3.存储的多个数据要求数据类型一致4.数组是有序的2)数组的主要构成解释> 索引|下标: 第一个空间: 0 最后一个空间 : 数组名.length-1数组的长度: 数组名.length操作数组中的数据: 数组名[索引|下标]->确定数组中的某一块空间.
2021-07-13 08:36:28
282
原创 Java面向对象(4)多态,抽象类及接口
Java面向对象(4)多态,抽象类及接口1.多态行为的多态多态调用成员特点: 父类引用调用:成员变量:编译运行看父类|左边|类型 成员方法:编译看父类|左边|类型 运行找子类|右边|对象注意: 多态是行为的多态 多态如果不配合方法的重写没有意义 父类引用对子类新增内容不可见public class Class002_Test { public static void main(String[] args) {
2021-07-11 22:21:23
106
原创 Java的面向对象(3)封装,继承
JAVA的面向对象(3)封装,继承 面向对象的三大特性: 封装 继承 多态 属性私有化配合公共的访问方式就是封装的具体体现 方法,类..都是封装的体现 私有是封装,封装不一定是私有1.封装 就是使用访问修饰符private修饰,然后运用get/set方法来实现对属性(成员变量)的读取操作,一般方法是被public修饰 private:私有的 成员修饰符,不能修饰全部,成员只能在本类中使用 提供公共的访问方式: 公共的成员方法
2021-07-10 14:46:15
94
原创 Java面向对象(2),构造器,static和块
Java面向对象(2),构造器,static和块 首先让我们来认识一下什么是面向对象,面向对象其实就是一种处理问题的思维,就好比去接杯茶这件事; 有两种思维,一种是面向对象,一种是面向过程; 面向过程:接杯茶之间的流程是什么,如何做这件事,是不是要先拿起水杯,泡上茶叶,然后走向饮水机,然后接杯热茶;它是针对一件事,注重的是实行过程。 面向对象:在这里我们就不管接杯茶这个事有哪些步骤,而只管接了杯茶,不管过程,我们可以喊小王帮忙接杯茶,只需要面对小王指定这件事就可以了,注重的是结果
2021-07-09 09:14:53
112
原创 Java面向对象,类
Java面向对象1.面向对象和面向过程的区别 面向对象是目前软件开发的主流方法之一,是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象。它们的共性就是类,类中有数据,只能被本类的方法进行处理。这个类,可以通过一个外部接口与外界产生联系,对象和对象通过消息进行通信。 面向过程是一种以事件为中心的开发方法,按照自顶向下的顺序执行,逐步求精;程序结构按照功能划分为若干个基本模块,形成一个树状结构,各个模块之间的关系简单,功能上相对独立,每一个模块内部一般都是有顺序,选择和循环三
2021-07-07 22:25:18
96
原创 Java方法的运用
方法就是实现一个功能的代码段优点: 1)提到代码的复用性 2)便于后期维护特点: 1)不调用不执行 2)方法不能嵌套,定义在类中方法外的位置定义: 有返回值类型的方法 修饰符 返回值类型 方法名(参数列表){ 实现功能的代码段; return 返回值; }修饰符 : 访问权限修饰符,先默认定义为public static
2021-07-05 22:27:19
60
原创 Java基础,循环讲解及例题
流程控制语句 顺序结构 : 从上到下,从左到右–>默认 选择结构 : 满足条件执行对应的代码 循环结构 : 让一些代码重复不停的执行多次1、顺序结构从上到下,从左到右–>默认2、选择结构 if 区间判断|定值判断 switch 定值判断 能用switch的都能if,能用if不一定能够使用switchif单选泽|单分支if(条件表达式){满足条件执行的代码段;}条件表达式 : 必须为一个值为boolean的表达式执行流程:1.计算条件表达式
2021-07-04 15:03:09
521
原创 Java基础语法,两个常用Util包
两个常用Util包1.Scanner前提: 基本数据类型: 基本数据类型 变量名 = 赋值; int i = 1; 引用数据类型: 1.导包 : 指明当前引用数据类型类的位置 import 包名.类名; 位置: 类的上面 2.创建当前引用数据类型的一个变量|引用 引用数据类型 变量名 = new 引用数据类型(); 3.根据引用使用功能 引用名.功能名字();使用步骤:Scanner 接收用户键盘输入的内容1.导包**
2021-07-03 08:23:55
170
原创 Java快速入门,运算符
运算符1、 分类 功能作用的不同分类: 算数运算符 赋值运算符 比较运算符|关系运算符 逻辑运算符 条件运算符 位运算符 (了解) 操作数: 运算符左右两边的数据成为操作数 3+4 表达式: 运算符连接左右两边的操作数整体称为表达式 语句 : 以;结束 操作数的不同分类: 单目运算符|一元运算符: 操作数为1个 ++ -- +(正号) -(负号) 双目运算符|二元运算符: 操作数为2个 a+b - * / 三
2021-07-02 22:22:07
85
原创 Java快速入门,进制之间的转换与数据类型的转换
1、数值型表现形式(进制转换)整型 : 进制: 满几进一 二进制 : 由0,1组成 通过0b|0B开头 八进制 : 由0~7之间的数字组合而成 通过0开头 十进制 : 默认 由0~9之间的数字组合而成 十六进制 : 由0~9,a~f组合而成 通过0x|0X开头转换: 其他进制转为十进制: 从后往前,从右往左,最后一位开始,当前这一个位置的数值*当前进制数^0开始,每次+1,最后的和为转为十进制的数据 十进制转为其他进制: 当前的十进制数据不停的除
2021-07-02 22:20:21
133
原创 Java快速入门,转义字符
1、转义字符 当java中有些字符,java语法赋予了特殊的含义,如果不想要这些字符代表特殊含义,想要表示其字符本身,可以使用转义字符进行转义 转义字符从\开始 \' \" \\ \t : 制表符 一个制表符位置代表8个空格 cmd中一个英文占据1个空格,一个汉字占据2个空格 制表符位置 前面的内容如果满制表符位的整数倍,重新开辟一个制表符位,如果不满,补全一整个制表符位置 \n 换行 光标从这一行的行尾换到下一行的行首 \b 退格 光标回到上一格 如果\b
2021-07-02 22:17:54
218
原创 初识Java,Java的数据类型
表示名称 表现形式 大小 范围 字节型 byte 1个字节 8bit [-128,127] 短整型 short 2个字节 16bit [-32768,32767正负三万 整型 int 4个字节 32bit 正负21亿 长整型 long 8个字节 64bit 非常大
2021-06-30 10:21:44
133
转载 Java是什么,有什么优势及特点
关于JAVAJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。JAVA的发展史1. Java的创作背景20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话
2021-06-28 21:14:15
1143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人