自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Json Web Token

Json Web Token web应用中,能够携带用户信息,带有数字签名的JSON字符串。通常简称为token。使用JWT后的访问流程:用户登录时,访问一个"验证服务",生成一个特殊的字符串给客户端。这个字符串中,保存了用户信息,还有数字签名。用户下次登录时,再次访问这个"验证服务",只需按签发时的签名规则解密,就能判断能否访问,同时也能获取保存在其中的信息。这个特殊的字符串,就成为token,包含三部分,用.隔开:"头.负载.签名"

2023-11-20 10:57:38 53

原创 网络服务器和项目管理的工具

Tomcat由Apecha、Sun公司及其他公司和个人共同开发的网络服务器。免费、开源、轻量级,在中小型系统中普遍使用。通过在Maven项目中加入某个jar文件所需的dependency(依赖),让其自动从Maven仓库下载对应的jar文件。 修改本地hosts文件,设置默认本机127.0.0.1对应的域名localhost; 在IDEA中创建基于Maven的Web项目

2023-09-11 18:26:20 91 1

原创 数据库设计(一)

在数据库设计中,需要考虑多个关键方面。首先,需要明确定义数据的结构和关系,包括实体、属性和它们之间的关系。这可以通过使用实体关系模型(Entity-Relationship Model)来进行建模和表示。有效的数据库设计还需要了解和应用一些基本的规范和原则。其中,范式化(Normalization)是一种重要的设计方法,用于消除冗余和提高数据的一致性。范式化涉及到将数据分解成更小、更简洁的结构,并通过关系(关联)将它们重新组合在一起。此外,数据库设计中还需要考虑性能优化、索引设计、安全性、备份和恢复等方面。

2023-09-10 11:51:25 118 1

原创 数据库编程

视图是虚拟的表,它是通过查询其他表或视图返回的结果集。事务是一组数据库操作,这些操作要么全部执行成功,要么全部回滚,保证数据的一致性和完整性。事务具有ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。触发器是一种特殊的存储过程,它在数据库中的特定操作(如插入、删除或更新)发生时自动触发。存储过程是一组预编译的SQL语句和控制结构,它存储在数据库中并可以被多次调用。

2023-09-09 16:10:06 79 2

原创 数据库基础知识点----多表查询

多表查询是在数据库中同时操作多个表来获取所需的数据。它允许我们根据相关性将不同的表连接起来,以便进行更复杂和有针对性的数据检索。在多表查询中,我们通常使用一种称为“JOIN”的操作来连接表。JOIN操作根据指定的关联条件将两个表中的数据合并,生成一个临时的结果集,然后在该结果集上执行其他查询操作。

2023-09-06 18:01:14 1193 2

原创 Java语言中连接和操作数据库

JDBC是Java语言中用于连接和操作不同类型数据库的一套标准API(应用程序接口)。它定义了一组Java类和接口,可以通过这些类和接口来访问和处理数据库。类:是JDBC的基础类之一,用于加载数据库驱动程序,并与数据库建立连接。Connection接口:表示与特定数据库的连接。通过该接口,可以创建Statement对象以执行SQL语句。Statement接口:用于执行SQL语句,并可以返回结果集。ResultSet接口:表示数据库返回的结果集。它提供了访问和处理查询结果的方法。接口:继承自。

2023-09-05 15:34:06 425

原创 【javascript】轮播图

是通过jQuery库来操作DOM元素和设置样式来实现图片的切换效果。通过监听缩略图的点击事件来切换对应的背景图显示,并根据定时器的触发来实现自动轮播效果。这段代码是一个简单的图片轮播效果的实现。//对应索引的大图显示,其带有"s"class的兄弟节点隐藏。// 被单击的节点添加class,其同级节点移除class。//让index成为轮播变量。// 每隔2s自动点击下一张。// 第i张小图触发点击事件。//获取当前节点的索引。// 第一张小图高亮。

2023-09-04 14:57:48 41 1

原创 【数据库】基础二

之前我们做的查询都是横向查询,就是根据条件一行一行的进行判断,而使用聚合函数查询就是纵向查询,它是对一列的值进行计算,然后返回一个结果值。数据的操作,是指数据的增加create,修改update,查询read和删除delete.简称CURD。如果统计函数作为条件,不能使用where,而要将条件写在having之后,再将having子句写在最后。​ • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。按指定的字段进行分组,会将该字段值相同的数据归纳到同一组中。

2023-09-02 16:13:51 26

原创 【MySQL】数据库基础一

数据Data是一个软件的根本。数据要永久地保存到数据库中。数据库DB是一个运行在操作系统上的软件。数据库管理系统DBMS是管理数据库的一个软件。学习数据库就是学习如何使用DBMS创建、使用数据仓库来管理数据。常见的SQL语句

2023-09-01 08:15:27 41

原创 【HTML】HTML、CSS基础

自定义列表不仅仅是一列项目,而是项目及其注释的组合。自定义列表以标签开始。每个自定义列表项以开始。每个自定义列表项的定义以开始。< dl > < dt > java < dd > java基础 < dd > java高级 < dt > HTML < dd > p标签 < dd > span标签 < dd > 列表标签

2023-08-31 08:16:30 236 1

原创 【HTML】前端框架layUI

由职业前端倾情打造,面向全层次的前后端开发者,易上手开源免费的 Web UI 组件库官网下载:https://www.ilayuis.com/1、下载框架包2、解压放到项目的根目录3、在页面中引用css和js文件4、我们编写的代码写在layui.use()方法的回调函数里1、简单的组件(不包含js)直接复制到body2、复杂组件(包含js)先放一个容器标签导入对应的组件模块js添加render方法3、如果基本例子不能满足要求,进一步查看文档1、JSON的数据样式:2、数据表格html3、给每行添加工具按

2023-08-30 12:46:28 465

原创 Vue-----day2

1.在views的目录下,新建一个.vue文件.vue文件类似于.java文件,需要编译后生成最终页面.vue文件中有三个根标签template:用于定义页面中的标签vue2.x版本中,template下只能有一个根标签vue3.x版后,template下没有标签的限制style:页面中的css代码scrip:页面中的js代码在这里插入图片描述-- 定义页面中的节点 -->我的页面-- scoped表示样式只能在当前页生效 -->

2023-08-29 22:55:05 29

原创 vue基础

vue是一套基于javascript实现的渐进式框架,用于构建用户界面其核心为了响应式数据驱动,由数据的更新实现页面更新,可以简化DOM操作1.下载vue.js文件(或引入在线文件)后引入2.在html页面的body中新建一个div,id命名为app3.在script中创建vue应用,绑定到上一步创建的div中4.定义数据5.插值表达式在浏览器的控制台中,输入app.data中的某个变量,就能看到其中的数据;如果对其重新赋值,页面就会自动更新。在上述的快速入门中,我们发现了html中输入了一个没有

2023-08-28 20:09:25 64 1

原创 jQuery

1、jQuery是一个JavaScript框架(库),简化JavaScript程序。2、jQuery有两个主流版本,一个1.x,大多数基于jQuery的框架使用的是1.x版本;另外就是官网最新版本3.x3、下载地址(1.12.4):https://blog.jquery.com/2016/05/4、引用js利用CDN方式引入标签选择器#id 选择器.class 选择标签名选择$(“p:first”) 选择第一个标签$(“a[target=‘_blank’]”) 选择指定属性值的标签$(“tr

2023-08-26 19:35:13 33 1

原创 javascript---对象

概念:JavaScript Object Notation,JavaScript对象标记法。JSON 是通过 JavaScript 对象标记法书写的文本。

2023-08-26 15:08:45 44 1

原创 【javascript】事件

结合事件流的特征,我们知道当某个元素的事件被触发时,事件总是会先经过其祖先才能到达当前元素,然后再由当前元素向祖先传递,事件在流动的过程中遇到相同的事件便会被触发。再来关注一个细节就是事件相继触发的【执行顺序】,事件的执行顺序是可控制的,即可以在捕获阶段被执行,也可以在冒泡阶段被执行。这一过程被称为事件冒泡。如果事件是在冒泡阶段执行的,我们称为冒泡模式,它会先执行子盒子事件再去执行父盒子事件,默认是冒泡模式。2、给父元素注册事件,当我们触发子元素的时候,会冒泡到父元素身上,从而触发父元素的事件。

2023-08-23 09:48:56 338

原创 【Javascript】Javascript------文档对象模型

标准属性: 标签天生自带的属性 比如class id title等, 可以直接使用点语法操作自定义属性:在html5中推出来了专门的data-自定义属性在标签上一律以data-开头在DOM对象上一律以dataset对象方式获取。

2023-08-22 11:11:59 55 1

原创 java的异常

将自定义异常类定义为继承自Java内置的Exception类或其子类,可以帮助异常处理机制捕获、处理和传播异常。类名:自定义异常类的名称应该反映出异常类型的含义,通常以Exception结尾,例如。构造方法:自定义异常类应该提供至少一个构造方法,以便在抛出异常时传递异常消息或其他必要的参数。可以使用super关键字调用父类的构造方法。异常信息:通过在自定义异常类中添加成员变量或方法,可以提供有关异常的详细信息。例如,添加一个成员变量来存储错误代码或异常原因,或添加一个方法来获取异常的更多上下文信息。

2023-08-22 09:28:36 30 1

原创 java集合(二)

通过比较List、Set和Map,可以看到它们在存储元素的方式和允许的操作上有所不同。 TreeMap底层使用二叉树存储键,键的顺序和键的排序规则有关,加入的键必须实现Comparable接口,不能插入null。 HashMap底层使用Hash算法计算键的存储位置,键的顺序不可预知,保存的键没有特殊要求,可以插入null。Map接口定义了一组与键相关联的值,并且键不会重复。Map是双列集合的祖宗,它的功能是全部双列集合都可以继承过来使用的。2、HashMap如何实现键的唯一性的?增删改查的性能都较好。

2023-08-21 11:20:13 31 1

原创 java集合

在上述示例中,通过创建一个匿名内部类实现了Comparator接口的compare()方法,定义了按照姓名升序排序的规则。当需要遍历Collection集合中的元素时,有三种常见的方法:迭代器(Iterator)、增强for循环(Enhanced for loop)和lambda表达式。通过调用集合的iterator()方法获取迭代器对象,然后使用while循环和迭代器的hasNext()和next()方法完成遍历。则调用equals方法比较属性值,如果一样,则不存,如果不一样,则存入数组。

2023-08-21 08:26:28 21 1

原创 【java】线程与进程

1、进程:指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。3、线程总是属于某个进程,进程中的多个线程共享进程的内存。进程中被启动的第一个线程被称为主线程,随后启动的线程都是子线程。2、线程:指进程中的一一个执行流程,一个进程中可以运行多个线程。●Thread.sleep(静态方法强制当前正在执行的线程休眠(暂停执行), 以“减慢线程”。使用synchronized修饰类方法的效果该类方法,在同一时刻只能被一个线程执行。synchronized可以同步。

2023-08-20 10:01:57 24 2

原创 【java】文件(File)和IO

所有文件的储存都是字节( byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列。变量名.createNewFile()//文件,会抛异常按照路径+名称。变量名.isDirectory() //查看是否为目录。变量名.isFile() // 查看是否为文件。变量名.getName());变量名.canWrite();变量名.isHidden();变量名.canRead();

2023-08-20 09:52:59 19 1

原创 【java】常用类

1、不能创建Math类对象,因为构造方法被private修饰(public修饰的构造方法在任何地方都可以被触发,而private修饰的构造方法只能在当前类触发)4、使用同一个种子创建对象,如果获取随机数的顺序相同,那么得到的随机数值还是一样的。5、使用当前时间的毫秒值作为种子,那么这个种子是唯一的,获得随机数是不同的。(1)、获取时间毫秒数:日期引用变量.getTime()4、修改时间分量:日期引用变量.set(参数,数据)5、添加时间分量:日期引用变量.add(参数,数据)2、Calender 的创建。

2023-08-19 12:29:02 27

原创 【java】常用类

Java中还有许多其他类和类库可供使用。根据具体的需求,开发人员可以选择适合的类来满足自己的编程需求。

2023-08-19 12:01:22 20

原创 java面对对象知识点三----接口

使用关键字interface来定义接口。// 声明方法## 2、变量的声明:在接口中声明的变量都是隐式的常量(final),即接口中的变量声明默认为 public static final 类型。接口中的变量必须初始化,并且在声明时通过赋值来指定其值。// 常量声明,相当于 public static final int MAX_VALUE = 100;// 常量声明,相当于 public static final String DEFAULT_NAME = "John";

2023-08-15 12:53:48 73 2

原创 java面对对象知识点二

当我们定义一个类时,它包含三个主要的成员部分: 成员变量、构造器和成员方法。这些成员共同构成了类的结构和行为。

2023-08-12 12:15:23 33 1

原创 java面对对象知识点一

它存储了每个类的结构信息,包括类的字段、方法、构造函数和静态变量等。栈是线程执行的基本单位,每个方法在执行时都会创建一个栈帧,用于存储方法的局部变量和中间结果。在Java虚拟机(JVM)内存模型中,存在三个重要的内存区域:方法区、堆内存区和栈内存区。堆内存可以动态地分配和释放内存,对象的创建和销毁都在堆内存中进行。栈内存区:存储线程执行方法的局部变量(引用变量)、方法参数、返回值和操作数栈等。方法区:存储类的结构信息、常量、静态变量、编译器编译后的代码等。堆内存区:存储创建的对象,包括实例变量和数组。

2023-08-11 19:35:04 31 1

原创 java的单例模式

单例模式: 保证类的实例只有一个。

2023-08-06 16:47:28 27 1

原创 java的内部类

在类中或类的成员方法中创建的类叫做内部类- 内部类也是一个类,可以有成员变量,成员方法- 内部类可以是普通类、抽象类子类、接口的实现类。

2023-08-05 18:42:10 40 2

原创 java中常用修饰符

abstract修饰符:抽象修饰符,用于定义抽象类和抽象方法。当用于类时,abstract表示该类为抽象类,不能被实例化,只能被继承。当用于方法时,abstract表示该方法没有具体实现,需要被子类实现(重写)

2023-07-31 19:57:43 476 2

原创 方法重载、方法重写的区别

方法重载、方法重写的区别在Java中,重写(Override)和重载(Overload)是两种不同的方法定义和使用方式。

2023-07-30 10:26:40 97 1

原创 java中定义package包、定义类、定义方法 、 定义变量

1、在Java中,package关键字用于定义包,包是一种组织类的方式,用于将相关的类组织在一起。2、Package解决类名冲突问题;因此定义类的时候,一般需要先给类指定一个包名。类的真实名字是: 包名 + 类名。3、Package的声明一般位于Java源文件的顶部,用于指定当前Java类所属的包。4、语法为:package 包名;包名的命名规则:由小写字母、数字、下划线和点(.)组成,它们之间用点(.)分隔。5、使用小写字母命名包。可以使用单个单词或多个单词组成的命名。

2023-07-29 10:46:53 551 2

以上代码实现了一个简单的轮播图功

以上代码实现了一个简单的轮播图功能,其中包含以下主要部分: 1. 初始化数据:定义了一个包含轮播图信息的数组 `data`,每个元素包含图片的URL、标题和背景颜色。 2. 获取元素:使用 `querySelector` 方法获取需要操作的元素,如图片、文字和指示器等。 3. 右按钮业务:给右侧的按钮添加点击事件,每次点击时,切换到下一张图片,并更新相应的样式。 4. 左按钮业务:给左侧的按钮添加点击事件,每次点击时,切换到上一张图片,并更新相应的样式。 5. 渲染函数:封装了一个用于切换图片和更新样式的函数 `toggle()`,用于复用代码。 6. 自动播放:使用 `setInterval` 方法设置定时器,每隔一段时间自动切换到下一张图片。 7. 停止定时器:当鼠标悬停在轮播图大盒子上时,清除定时器,停止自动播放。 8. 开启定时器:当鼠标离开轮播图大盒子时,重新设置定时器,继续自动播放。 9. 指示器切换:给每个小指示器添加鼠标进入事件,当鼠标悬停在指示器上时,切换到相应的图片,并更新指示器的样式。

2023-08-20

空空如也

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

TA关注的人

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