自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DHR的博客

分享IT知识,共建IT世界

  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 chorme浏览器中iframe做cookie跨域共享问题解决方案

1.禁用浏览器samsite属性/或降低版本(仅chorme存在)2.保证同源策略cookie共享(保证ip或域名一直)3.设置response.setHeader(“Set-Cookie”, “HttpOnly;Secure;SameSite=None”),需设置https证书4.不使用cookie共享会话,使用token实现...

2021-01-06 15:47:44 2073

原创 微信开放平台实现第三方授权登录(java版)

微信三方登录实现原理准备工作准备工作网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。授权流程说明微信OAuth2.0授权登录让微信用户使...

2019-09-23 09:33:14 10076 1

翻译 数据库之乐观锁,悲观锁

乐观锁1.只在提交操作时检查是否违反数据完整性。使用自增长的整数表示数据版本号。更新时检查版本号是否一致,比如数据库中数据版本为6,更新提交时version=6+1,使用该version值(=7)与数据库version+1(=7)作比较,如果相等,则可以更新,如果不等则有可能其他程序已更新该记录,所以返回错误。2.使用时间戳来实现.悲观锁 屏蔽一切可能违反数据完整性的操作。在读数据时,...

2019-06-18 20:14:13 300

原创 数据库三大范式及其多表连接规则

数据库三范式◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。考虑这样一个表:【联系人】(姓名,性别,电话)如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。要符合 1NF 我们只需把列(电话)拆分,即:【联系人】(姓名,性别,家庭电话,公司电话)。◆ 第二范式(2NF):首先是 1NF,另外包含两部分内容,一 是表必须有一个主键;...

2019-06-18 20:04:55 838

原创 redis面试题锦集

1、什么是Redis?答:Redis全称为:Remote Dictionary Server(远程数据服务),是一个基于内存的高性能key-value数据库。2、Redis的数据类型?答:Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。如果你是Redis中高级用户,还需要加上下面几种数据结构...

2019-06-12 08:14:07 724

原创 redis高级特性

Redis 持久化方式有哪些?redis是一个支持持久化的内存数据库,也就是redis经常将内存中的数据同步到硬盘来保证持久化类型特点rdb方式snapshotting (快照) 默认方式 将内存中数据以快照方式写入二进制文件中,默认dump.rdb ,append-only file(缩写 aof)的方式—推荐,由于快照方式在一定时间间隔做一次,有可能发生数据丢失情况,...

2019-06-11 21:27:14 252

原创 redis常见类型及其适用场景

Redis全称?Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。Strin...

2019-06-11 21:10:16 386

原创 redis常见面试题

为什么redis单线程还是这么快?1.绝大部分的请求是纯粹的内存操作(非常快速)2.采用单线程,避免了不必要的额竞争条件和上下文切换,单线程指的是网络请求模块使用的是一个线程,即一个线程处理了所有网络请求。3.非阻塞I/O-I/O多路复用,这样提高了redis的吞吐量,"多路"指的是多个网络连接,“复用”指的是复用同一个线程/采用多路复用I/O技术可以让单个线程高效地处理多个连接请求。4....

2019-06-11 20:23:21 207

原创 表单重复提交解决方案

1.jsp:添加页面生成唯一的token:令牌 111存放到:a、HttpSession中b、input隐藏域中2.Servlet:处理页面表单:token=111从HttpSession中取:比对:一致:保存数据;把HttpSession中的数据删除掉。不一致:重复提交...

2019-06-11 18:55:00 436

原创 Nginx搭建

Nginx 应用场景:1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服...

2019-05-28 20:19:51 195

原创 myCat搭建

标题myCat搭建JDK:要求jdk必须是1.7及以上版本MySQL:推荐mysql是5.5以上版本MySQL安装与启动步骤如下:(1)将MySQL的服务端和客户端安装包(RPM)上传到服务器(2)查询之前是否安装过MySQLrpm -qa|grep -i mysql(3)卸载旧版本MySQLrpm -e --nodeps 软件名称(4)安装服务端rpm -ivh MySQL...

2019-05-28 19:55:35 623

原创 Redis集群搭建

redis单机版安装环境准备redis安装在Linux上,redis是c语言开发的,需要gcc-c++环境查看是否安装gcc-c++[root@itcast-01 ~]# rpm -qa | grep gcc-c++gcc-c+±4.4.7-17.el6.i686如果没有安装,可以使用yum命令进行网络安装[root@itcast-01 ~]# yum install gcc-c...

2019-05-28 17:38:40 157

原创 solrCloud集群搭建

solr单机版安装1. Solr的环境Solr是java开发。solr的安装文件需要安装jdk。安装环境Linux。需要安装Tomcat。搭建步骤第一步:把solr 的压缩包上传到Linux系统第二步:解压solr。第三步:安装Tomcat,解压缩即可。第四步:把solr部署到Tomcat下。第五步:解压缩war包。启动Tomcat解压。第六步:把/root/solr-4...

2019-05-28 13:54:10 163

原创 zookeeper集群搭建

zookeeper单机搭建(基于Linux)第一步:安装jdk第二步:解压缩zookeeper压缩包第三步:将conf文件夹下zoo_sample.cfg复制一份,改名为zoo.cfg第四步:修改配置dataDir属性,指定一个真实目录(进入zookeeper解压目录,创建data目录:mkdir data)第五步:启动zookeeper:bin/zkServer.sh start关闭...

2019-05-27 22:06:40 271

原创 javaweb之邮件发送

JavaMail1 JavaMail概述Java Mail是由SUN公司提供的专门针对邮件的API,主要Jar包:mail.jar、activation.jar。在使用MyEclipse创建web项目时,需要小心!如果只是在web项目中使用java mail是没有什么问题的,发布到Tomcat上运行一点问题都没有!但是如果是在web项目中写测试那就出问题了。在MyEclipse中,会自动...

2018-12-22 18:28:27 661

原创 javaweb之文件下载

下载下载就是向客户端响应字节数据!原来我们响应的都是html的字符数据!把一个文件变成字节数组,使用response.getOutputStream()来各应给浏览器!!!下载的要求两个头一个流!Content-Type:你传递给客户端的文件是什么MIME类型,例如:image/pjpeg通过文件名称调用ServletContext的getMimeType()方法...

2018-12-22 18:25:07 150

原创 javaweb之文件上传

上传(上传不能使用BaseServlet)上传对表单限制method=“post”enctype=“multipart/form-data”表单中需要添加文件表单项:<form action="xxx" method="post" enctype="multipart/form-data"> 用户名;<input type="text" name="use

2018-12-22 18:23:39 192

原创 javaweb之sql查询

数据库管理系统(DBMS)的概述什么是DBMS:数据的仓库  > 方便查询  > 可存储的数据量大  > 保证数据的完整、一致  > 安全可靠DBMS的发展:今天主流数据库为关系型数据库管理系统(RDBMS 使用表格存储数据)常见DBMS:Orcale、MySQL、SQL Server、DB2、SybaseDBMS = 管理程序 + 多个数据库(DB)D...

2018-12-02 17:03:09 1798

原创 javaweb之jstl核心标签库

JSTLjstl的概述apache的东西,依赖EL使用jstl需要导入jstl1.2.jar四大库:core:核心库,重点fmt:格式化:日期、数字sql:过时xml:过时导入标签库jar包在jsp页面中:<%@taglib prefix=“前缀” uri=“路径”%>core --> c标签!out和set<c:o...

2018-11-30 13:20:24 210

原创 javaweb之jsp三大指令

JSP三大指令一个jsp页面中,可以有0~N个指令的定义!page --> 最复杂:<%@page language=“java” info=“xxx”…%>pageEncoding和contentType:pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding!con...

2018-11-28 20:31:37 204

原创 java学习笔记(23)

1:网络编程(理解)(1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享(2)网络编程模型(3)网络编程的三要素A:IP地址a:点分十进制b:IP地址的组成c:IP地址的分类d:dos命令e:InetAddressB:端口是应用程序的标识。范围:0-65535。其中0-1024不建议使用。C:协议UDP:数据打包,有限制,不连接,效率高,不可靠TCP:建立...

2018-11-13 22:41:43 127

原创 javaweb之三大组件

JavaWeb三大组件都需要在web.xml中进行配置ServletListener(2个感知监听器不需要配置)Filter过滤器它会在一组资源(jsp、servlet、.css、.html等等)的前面执行!它可以让请求得到目标资源,也可以不让请求达到!过滤器有拦截请求的能力!登录:允许它访问AServlet、BServlet、CServlet过滤器如何编写...

2018-11-13 14:54:57 201

原创 java学习笔记(22)

1:多线程(理解)(1)多线程:一个应用程序有多条执行路径进程:正在执行的应用程序线程:进程的执行单元,执行路径单线程:一个应用程序只有一条执行路径多线程:一个应用程序有多条执行路径多进程的意义?提高CPU的使用率多线程的意义?提高应用程序的使用率(2)Java程序的运行原理及JVM的启动是多线程的吗?A:Java命令去启动JVM,JVM会启动一个进程,该进程会启动一个主线程...

2018-11-11 11:19:27 136

原创 javaweb之事务与连接池

事务什么是事务?转账:给张三账户减1000元给李四账户加1000元当给张三账户减1000元后,抛出了异常!这会怎么样呢?我相信从此之后,张三再也不敢转账了。使用事务就可以处理这一问题:把多个对数据库的操作绑定成一个事务,要么都成功,要么都失败!==============事物的特性:ACID原子性:事务中所有操作是不可再分割的原子单位。事务中所有操作要么全部执行成功,要么全...

2018-11-10 16:58:49 135

原创 javaweb之JDBC

JDBC入门l 导jar包:驱动!l 加载驱动类:Class.forName(“类名”);l 给出url、username、password,其中url背下来!l 使用DriverManager类来得到Connection对象1.什么是JDBCJDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操...

2018-11-10 16:30:41 203

原创 javaweb之mysql数据库

数据库管理系统(DBMS)的概述什么是DBMS:数据的仓库  > 方便查询  > 可存储的数据量大  > 保证数据的完整、一致  > 安全可靠DBMS的发展:今天主流数据库为关系型数据库管理系统(RDBMS 使用表格存储数据)常见DBMS:Orcale、MySQL、SQL Server、DB2、SybaseDBMS = 管理程序 + 多个数据库(DB)D...

2018-11-10 16:03:57 312

原创 javaweb之jstl标签库

JSTL标签库Apache提供的标签库,jar包:jstl-1.2.jar,如果傅MyEclipse,它会在我们导入jar包,无需自己导入,如果没有使用MyEclipse那么需要自行导入。导入JSTL核心标签库<%taglib prefix=“c” uri=“http://java.sun.com/jstl/core”%><c:set><c:set v...

2018-11-10 15:21:21 168

原创 javaweb之JavaBean,EL

什么是JavaBeanjavaBean是一种规范,也就是对类的要求,他要求类的成员变量提供getter/setter方法。这样的成员变量称为JavaBean属性。JavaBean还要求提供无参构造器。/** * 简单的JavaBean * @author Mr DU * */public class AdminVo { private String id; private Str...

2018-11-10 15:02:12 329

原创 javaweb之jsp指令

1.jsp指令概述指令格式<%@ 指令名 %>指令一般都放在页面最上面。jsp有三大指令:page taglib include page用的最多1 page指令page是最常用的指令,也是属性最多的指令。page没有必选属性,都是可选的。在jsp页面中,任何指令都可以重复出现。<%@ page taglib%><%@ page pageEncoding...

2018-11-09 21:26:13 235

原创 java学习笔记(21)

2:数据操作流(操作基本类型数据的流)(理解)(1)可以操作基本类型的数据(2)流对象名称 DataInputStreamDataOutputStream3:内存操作流(理解)(1)有些时候我们操作完毕后,未必需要产生一个文件,就可以使用内存操作流。(2)三种A:ByteArrayInputStream,ByteArrayOutputStreamB:CharArrayReader...

2018-11-09 14:14:19 138

原创 java学习笔记(19)

1:字符流(掌握)(1)字节流操作中文数据不是特别的方便,所以就出现了转换流。转换流的作用就是把字节流转换字符流来使用。(2)转换流其实是一个字符流字符流 = 字节流 + 编码表(3)编码表A:就是由字符和对应的数值组成的一张表B:常见的编码表ASCIIISO-8859-1GB2312GBKGB18030UTF-8C:字符串中的编码问题编码String – byte...

2018-11-08 16:36:15 115

原创 java学习笔记(20)

1:递归(理解)(1)方法定义中调用方法本身的现象举例:老和尚给小和尚讲故事,我们学编程(2)递归的注意事项;A:要有出口,否则就是死递归B:次数不能过多,否则内存溢出C:构造方法不能递归使用2:IO流(掌握)(1)IO用于在设备间进行数据传输的操作 (2)分类:A:流向输入流 读取数据输出流 写出数据B:数据类型字节流 字节输入流字节输出流字符流字符输入流字...

2018-11-08 14:14:54 113

原创 java学习笔记(18)

1:异常(理解)(1)程序出现的不正常的情况。(2)异常的体系Throwable|–Error 严重问题,我们不处理。|–Exception|–RuntimeException 运行期异常,我们需要修正代码|–非RuntimeException 编译期异常,必须处理的,否则程序编译不通过(3)异常的处理:A:JVM的默认处理把异常的名称,原因,位置等信息输出在控制台,但是呢程序...

2018-11-08 09:52:22 106

原创 java学习笔记(17)

1:Map(掌握)(1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。(2)Map和Collection的区别?A:Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。光棍(3)Map接口功能概述(自己补齐)A:添加功能B:删除功能C:判断功能D:...

2018-11-06 16:43:23 110

原创 java学习笔记(16)

Set集合(理解)(1)Set集合的特点无序,唯一(2)HashSet集合(掌握)A:底层数据结构是哈希表(是一个元素为链表的数组)B:哈希表底层依赖两个方法:hashCode()和equals()执行顺序:首先比较哈希值是否相同相同:继续执行equals()方法返回true:元素重复了,不添加返回false:直接把元素添加到集合不同:就直接把元素添加到集合C:如何保证元素...

2018-11-05 16:51:56 93

原创 java学习笔记(15)

1:List的子类(掌握)(1)List的子类特点ArrayList:底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector:底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList:底层数据结构是链表,查询慢,增删快线程不安全,效率高(2)ArrayListA:没有特有功能需要学习B:案例a:ArrayList存储字符串并遍历b:ArrayL...

2018-11-04 22:11:23 96

原创 java学习笔记(13)

1:对象数组(掌握)(1)数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。2:集合(Collection)(掌握)(1)集合的由来?我们学习的是Java – 面向对象 – 操作很多对象 – 存储 – 容器(数组和StringBuffer) – 数组而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用。(2)集合和数组的区别?...

2018-11-03 21:35:29 107

原创 java基础学习笔记(13)

1:正则表达式(理解)(1)就是符合一定规则的字符串(2)常见规则A:字符x 字符 x。举例:‘a’表示字符a\ 反斜线字符。\n 新行(换行)符 (’\u000A’)\r 回车符 (’\u000D’)B:字符类[abc] a、b 或 c(简单类)[^abc] 任何字符,除了 a、b 或 c(否定)[a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)[0-9...

2018-11-02 15:17:08 120

原创 java学习笔记(12)

1:StringBuffer(掌握)(1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了一个字符串缓冲区类。StringBuffer供我们使用。(2)StringBuffer的构造方法A:StringBuffer()B:StringBuffer(int size)C:StringBuffer(String str)(3)Stri...

2018-10-30 15:20:17 101

原创 java学习笔记(11)

1:Scanner的使用(了解)(1)在JDK5以后出现的用于键盘录入数据的类。(2)构造方法:A:讲解了System.in这个东西。它其实是标准的输入流,对应于键盘录入B:构造方法InputStream is = System.in;Scanner(InputStream is)C:常用的格式Scanner sc = new Scanner(System.in);(3)基本方...

2018-10-29 13:34:43 104

520表白特效

h5+js+css实现表白特效,原生js控制前端入口页面,css控制样式。

2018-08-31

空空如也

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

TA关注的人

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