- 博客(40)
- 资源 (7)
- 收藏
- 关注
原创 使用JWT保护Web应用时涉及到修改密码、注销、token续签解决方案
1. 更改密码时:当用户更改密码时,请注意用户数据库中的更改密码时间,因此当更改密码时间大于令牌创建时间时,令牌无效。因此可以很快将其它的会话也给注销掉。2. 当用户注销时:当用户注销时,将令牌保存在单独的数据库(如redis)中(例如:InvalidTokenDB并在令牌过期时从Db中删除令牌)。因此,用户从相应的设备注销,他在其他设备中的会话保持不受干扰。3.token续签:生成两个token,分别是access_token【过期时间设置30分钟】、refresh_token【过期时间设置3
2021-06-28 16:04:11
1606
原创 Hibernate
一、SessionSession:是应用程序与数据库之间的一个会话,是hibernate运作的中心,持久层操作的基础。对象的生命周期/事务的管理/数据库的存取都与Session息息相关,Session对象是通过SessionFactory构建的。1、session.clear 强制清除Session缓存,把缓冲区内的全部对象清除,但不包括操作中的对象2、session.evict(obj),会把指定的缓冲对象进行清除3、session.refresh 刷新,保证 一级缓存的数据 与 数据库的
2021-06-02 11:35:46
234
原创 synchronized、Lock、volatile和CAS
一、Java的内存模型JMM在多处理器系统中,每个处理器有自己的高速缓存,而他们又共享同一块内存(下文成主存,main memory主要内存),当多个处理器运算都涉及到同一块内存区域的时候,就有可能发生缓存不一致的现象。二、并发编程的3个基本概念1.原子性定义: 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过...
2021-05-24 17:34:12
331
1
原创 CAS的单点登录和OAuth2区别、应用场景
OAuth2OAuth2的设计背景,在于允许用户在不告知第三方自己的帐号密码情况下,通过授权方式,让第三方服务可以获取自己的资源信息。详细的协议介绍,开发者可以参考RFC 6749。下面简单说明OAuth2中最经典的Authorization Code模式,流程如下:流程图中,包含四个角色。ResourceOwner为资源所有者,即为用户 User-Agent为浏览器 AuthorizationServer为认证服务器,可以理解为用户资源托管方,比如企业微信服务端 Client为
2021-05-19 10:13:29
4385
1
原创 SpringBoot自动配置解析
注意:文章中代码段删除了非关键代码,以免干扰读者的关注点。(下面以spring-boot-starter-web为例进行解析)启动类上应用@SpringBootApplication注解@SpringBootApplicationpublic class RestserviceApplication { public static void main(String[] args) { SpringApplication.run(RestserviceApplication.class,
2021-05-18 16:33:47
409
1
原创 SpringBoot2.4.5集成日志、Mybatis、Druid实现数据库连接池和监控
开发工具:IDEA jdk 版本:1.8 springboot 版本:2.4.5pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4
2021-05-14 17:02:19
530
1
原创 触摸事件--兼容不同浏览器及不同IE版本
/* Direct all pointer events to JavaScript code. */ .touch{ -ms-touch-action: none; /* set for IE */ touch-action: none; /* set for Edge */ } Touch event com
2016-01-06 15:07:52
3072
转载 setTimeout原理
setTimeout原理setTimeout的原理:function a() {setTimeout(function(){alert(1)},0);alert(2);}a();和其他的编程语言一样,Javascript中的函数调用也是通过堆栈实现的。在执行函数a的时候,a先入栈,如果不给alert(1)加setTimeo
2013-09-17 15:24:11
6434
原创 读取log4net配置文件方法
//读取log4net配置文件,推荐方法二/* ------------ 方法一(Start) ------------------------*///默认路径为根目录//未指定配置文件,默认监视Web.config//[assembly: log4net.Config.XmlConfigurator(Watch = true)]//and if you're using log4
2013-07-18 14:18:22
10141
1
原创 C# new关键字
class A { public string name = "张三"; public A() { this.Print(); } public virtual void Print() { A a = this; Co
2013-04-26 17:36:43
848
原创 Python 2.7.3 将列表中文数据写入文件
#!/usr/bin/env python# coding:utf-8"""将中文列表数据写入到文件的几种方式"""import osfile = open(os.path.abspath('.')+'/output.txt','w')list_cn = ['中文','测试']list_en = ['chinese','test']file.write('********* w
2013-03-30 16:26:12
16616
原创 Encoding in python 2.7
# 读取utf-8编码格式的文本文件 # 这里Python解释器读取的是utf-8编码的字节流,然后再按指定的编码方式解释这些字节流# 这样就比较好理解乱码的原因#coding=utf-8 # When Python reads the encoding it tries to interpret the file as utf-8 # 告诉Python解释器编译时采用哪种编码方
2013-03-27 14:41:44
1833
原创 javascript模拟 C#中的StringBuilder,提升JS中字符串拼接的效率及性能
/*利用Array对象join方法模拟 C#中的StringBuilder,提升JS中字符串拼接的效率及性能。功能同JS文件夹下StringBuilder.js文件实现功能,因实现方式不同且为避免冲突将此文件置于该文件夹下供月度资金计划使用Author : panwb Date : 2012-11-29*/function StringBuilder(str){ //字
2012-11-29 11:44:04
1558
原创 SetCapture() 捕获鼠标
setCapture方法函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口多用于容器对象,效果是对指定的对象设置鼠标捕获。所谓鼠标捕获,是指对鼠标事件( ondblclick, onmo
2012-11-08 15:59:31
1756
转载 原码、反码、补码,移码表示法
1.原码表示法 正数的符号位用0表示,负数的符号位用1表示,后面跟着原数值,二进制数的这种表示法称为原码表示法。 【例 2-2-1】假定字长为8位,写出两个十进制数+15与-15的原码。 解: [+15]原 = 0 0001111 [-15]原 = 1 0001111 原码表示法简单易懂,但是若遇到两个异号数相加或两个同号数
2012-09-14 11:35:46
7500
原创 like 模糊查询
select * from student where name like '%a%';='%[ao]%' []匹配其中任一字符select * from student where name like '%[a][o]%'; select * from student where name not like '%a%';select * from student where name
2012-08-13 11:14:40
773
转载 arguments对象
在javascript函数体内,标识符arguments具有特殊含义。它是调用对象的一个特殊属性,用来引用Arguments对象。 Arugments对象就像数组,注意这里只是像并不是哈。javascript函数体内,arguments像数组(并不是真的数组,是一个Arguments对象, 再次强调)一样,有length属性,可以代表传给函数的参数的个数。引用一个形式参数可以用参数
2012-01-04 10:52:23
552
转载 asp.net在后台给前台的控件设置Style属性与坐标,后台设置CSS样式,后台获取前台控件坐标
在asp.net中,有的时候要动态变换CSS,比如有的时候做个性化页面,可以这样做head> link id="MyStyleSheet" rel="stylesheet" type="text/css" runat="server" /> head> 之后,在要更换CSS的页面中,使用如下代码Sub Page_Load(Sender As Object, E As
2011-12-21 16:36:29
1273
转载 javascript:void(0) 与 # 锚点的 讲解
今天看到《AJAX开发简略》中所有的都用到了javascript:void(0)今天看了一下原来这个表达式的作用就是让当前这个超链接成为一个死链接,就是什么都不作。以下摘自:http://blog.youkuaiyun.com/mouyong/archive/2007/01/24/1491761.aspx别人些的JavaScript脚本可以看到这样的代码:here
2011-12-14 10:12:54
1389
转载 Asp.net Json 客戶端与服务端传递
Asp.net Json 客戶端与服务端传递这两天在做一个WEB的项目,很久没有做WEB项目了,再回来做WEB项目,感觉有很多新鲜感。此次实现的功能为,前台通过Jquery提供的Ajax方法读取後台数据,後台将对象序列化为Json字符串返回给前台,前台用Json2.js提供的方法将对象序列化为Json字符串返回给後台,後台都通过Json.net转换为对象;前台A
2011-12-13 16:16:45
877
转载 SQL 将日期格式转换为常用字符串格式
SQL 将日期格式转换为常用字符串格式有一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDA
2011-11-21 11:10:40
1223
转载 深入浅出之正则表达式(二)
深入浅出之正则表达式(二)前言: 本文是前一片文章《深入浅出之正则表达式(一)》的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并分析了正则引擎在执行匹配时的内部机理。 本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载。但是为了尊重原作者和译者的劳动,请注
2011-10-29 12:02:06
628
转载 深入浅出之正则表达式(一)
深入浅出之正则表达式(一)前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用
2011-10-29 11:29:50
893
转载 总结C#保留小数位数
本文向大家介绍C#保留小数位,可能好多人还不了解C#保留小数位,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。1.简单的例子System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); provider.NumberDecimalDigits
2011-10-26 18:16:27
10758
转载 jquery selector 基础
Jquery的这套选择符是比较帅气的,借用了XPath2.0和CSS1-3中的语法,并且兼容了多个浏览器,让原本非常复杂的DOM,一下子变得简单起来了,手中最新的版本是1.2.2b,下面的所有例子,也是根据此版本提供的例子。测试HTML代码:divid="fath
2011-10-10 16:48:12
630
转载 asp.net 控件的 ID ,ClientID ,UniqueID 区别
对于每一个服务器控件System.Web.UI.Control 都具有 ID,UniqueID,ClientID 三个属性,那么这个三者到底有河关系,在客户端HTML中又是如何对应呈现的呢?ID:获取或设置分配给服务器控件的编程标识符。分配给控件的编程标识符。 (可写
2011-10-10 14:39:42
2218
转载 javascript(js)中的 substring和substr方法
1.substring 方法定义和用法substring 方法用于提取字符串中介于两个指定下标之间的字符。语法stringObject.substring(start,stop)参数 描述start 必需。一个非负的整数
2011-09-28 10:28:21
2082
转载 document.getElementById/Name/TagName
document.getElementById 1、getElementById作用:一般页面里ID是唯一的,用于准备定位一个元素 语法: document.getElementById(id) 参数:id :必选项为字符串(String) 返回值:对象; 返回相同id对象中的第一个,按在页面中出现的次序,如果无符合条件的对象,则返回 nullexampl
2011-09-15 11:18:44
39245
转载 Request.返回值
Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路径信息Request.ServerVariables("Appl_Physical_Path")
2011-09-08 10:36:30
1044
转载 ASP.net 页面间传对象
我们知道,Asp.net在不同页面间传递对象的时候可以用Session来实现。现在我想介绍另外一种方法来达到目的。 主要思路:我们需要两个页面,一个Sender.aspx负责发送所需传递的对象,一个Receiver.aspx负责接受send过来的对象。Sender.as
2011-09-08 10:33:38
744
转载 ASP.NET刷新页面的六种方法
第一: private void Button1_Click( object sender, System.EventArgs e ) { Response.Redirect( Request.Url.ToString( ) ); } 第二:
2011-09-07 13:04:48
875
转载 jqgrid 简单学习笔记
JqGrid是JQuery的表格插件,功能非常强大,基本上能想到,它都能实现。下面是一个例子,希望能通过这个示例,能让你了解下JqGrid。 JqGrid文档:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgri
2011-09-06 13:44:37
4950
转载 JqGrid相关操作备忘
1.获得当前列表行数:$("#gridid").getGridParam("reccount");2.获取选中行数据(json):$("#gridid").jqGrid('getRowData', id);3.刷新列表:$(refreshSelector).jqGrid(
2011-09-06 11:39:12
1258
转载 如何使用asp:DataGrid中的HeaderTemplate中的控件
如何使用asp:DataGrid中的HeaderTemplate中的控件。经常在DataGrid中添加CheckBox实现全(不)选功能。那么怎么得到HeaderTemplate中的CheckBox控件呢?例如:ShowFooter="true">
2011-09-06 10:26:24
2560
转载 asp.net 控件的 ID ,ClientID ,UniqueID 区别
对于每一个服务器控件System.Web.UI.Control 都具有 ID,UniqueID,ClientID 三个属性,那么这个三者到底有河关系,在客户端HTML中又是如何对应呈现的呢?ID:获取或设置分配给服务器控件的编程标识符。分配给控件的编程标识符。 (可写
2011-09-05 09:19:41
576
转载 asp.net三层架构详解
一、数据库/*==============================================================*//* DBMS name: Microsoft SQL Server 2000 *
2011-08-17 17:40:12
690
转载 浅谈HTTP中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个
2011-08-15 15:54:09
612
转载 数组、arraylist和list的区别和泛型的解释
数组、arraylist和list的区别和泛型的解释(转) 数组:固定长度的一段内存。 ArrayList:可以理解为可以动态增加内存的数组,是一种链表。 list是一种范型链表,解决了ArrayList对于值类型需要装箱拆箱的缺点。=========
2011-08-15 15:53:45
865
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人