自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

helloworld的专栏

helloworld的专栏

  • 博客(14)
  • 资源 (9)
  • 收藏
  • 关注

原创 SpringBoot使用JWT集成Ng-Alain之Token失效处理

在 SpringBoot使用JWT集成Ng-Alain中,我们简单介绍了SpringBoot与Ng-Alain的集成,在这种前后端分离框架实践中,我们使用了JWT来接口安全标识,考虑一个问题,从整个系统的业务实际来看,当Token过期失效之后,我们需要用户重新登录以获取新的Token。在我们的代码实现中,当用户未获取正确的Token或者当Token失效时候,抛出403异常。因此,我们需要修改N...

2018-11-29 21:55:11 3044

原创 Ng Alain分页控件的使用

在【Ng Alain】官方示例源码中,关于pagination分页控件的代码如下: <ng-template #pagination> <nz-pagination [nzTotal]="50" [nzPageSize]="5" (nzPageIndexChange)="getData()"&gt

2018-11-29 14:49:12 3255 1

原创 SpringBoot使用JWT集成Ng-Alain

Ng-Alain与SpringBoot整合其实本身也并不复杂,SpringBoot专注于后台业务实现,而Ng-Alain则专注于前端页面展现。spring initializr新建SpringBoot工程下载Ng-Alain源码,并拷贝至工程的ng_alain目录下,打开_mock目录下各种模拟接口实现,SpringBoot中参考实现相应接口,具体实现可参考源码链接中Github的源码...

2018-11-28 11:32:55 2453 1

原创 SpringBoot【The request was rejected because the URL was not normalized】

SpringBoot整合ng-alain时报错如下:org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized. at org.springframework.security.web.firewal...

2018-11-27 16:57:06 29160 4

原创 IntelliJ IDEA 中Java 9 模块化实战

右键-New-Module,输入模块基本信息新建module-info.java文件输入module-info.java内容如下:module helloworld { exports com.hello;}新建HelloWorld.java文件package com.hello;import java.util.Calendar;public class Hel...

2018-11-15 11:54:27 2917 1

翻译 Java 9 模块化系统简介

我们知道,在Java 9中,一个重要的改变就是模块化系统的引入,Java 9的模块化系统源于Jigsaw Project,我们首先看下Jigsaw Project的实现目标:模块化JDK:我们知道,现有JDK已经非常庞大,Jigsaw Project的目标就是将JDK分隔成一个个的小模块。模块化源码:当前源码jar文件也非常大,特别是rt.jar,Jigsaw Project也会考虑将...

2018-11-15 11:32:42 679

原创 Java 9 新特性

Java 9发布于2017年9月,目前已停止更新(Java SE 9 has reached end of support. ),是一个non-LTS(Long Term Support)版本,JDK10 发布于2018年3月,咋看起来,Oracle公司加快了JAVA版本的频率,但按照Oracle公司的说法,其实并没有,依然是按照之前的操作惯例,希望每六个月维护一个稳定的“版本更新”(大佬还特意拿...

2018-11-14 16:10:52 1231

原创 Spring Boot 使用 H2 内存数据库

H2 is one of the popular in memory databases.H2 is a relational database management system written in Java. It can be embedded in Java applications or run in the client-server mode.添加H2 POM依赖&l...

2018-11-14 10:37:49 2951

原创 Java 接口规范与最佳实践

API的特征可理解文档完善格式统一:这里涉及很多方面,包括:接口返回类型、命名规则以及参数顺序在我们所有的API方法中,要么是全是getXYZ()格式,要么全是xyz(),最好不要两种格式都有。假设我们有方法重载,原始方法接受参数Object...,重载方法接受参数为Collection<? extends Object>,那么,重载方法不能部分可见恰到

2018-11-12 16:21:54 6911

翻译 Java 异常处理最佳实践

在Finally语句块中释放资源或者使用Try-With-Resource语句比如,在Try语句中使用InputStream输入流,并且试图在Try语句块中关闭资源,这通常不是推荐做法。比如下面的代码就**不是推荐做法。**public void doNotCloseResourceInTry() { FileInputStream inputStream = null; ...

2018-11-10 16:00:47 523

翻译 如何处理Lambda表达式中的Checked Exception?

Lambda是Java 8引入的一个重要特性,通过Lambda表达式,我们可以以一种更加简洁的方式实现代码编程。但,如果涉及到Exception,应该如何处理?一般来讲,在Java中,我们都是通过try catch实现异常捕获的,对于Lambda表达式同样也一样,我们先来看一个例子。我们来实现一个简单的网络爬虫,爬虫接受URL列表作为参数,通过遍历URL列表访问对应地址内容,并保存到文本文件中。...

2018-11-09 16:09:35 1154

原创 Checked Exception vs Unchecked Exception

Unchecked exceptions are the run-time errors that occur because of programming errors, such as invalid arguments passed to a public method. The Java compiler does not check the unchecked exceptions d...

2018-11-08 21:45:10 395

原创 RabbitMQ VS Apache Kafka 系列

RabbitMQ VS Apache Kafka (一)—— RabbitMQ简介RabbitMQ VS Apache Kafka (二)—— Kafka简介RabbitMQ VS Apache Kafka (三)—— 基本结论RabbitMQ VS Apache Kafka (四)—— 应用场景如何选择?RabbitMQ VS Apache Kafka (五)...

2018-11-02 14:06:48 810

翻译 RabbitMQ VS Apache Kafka (十)—— Kafka集群的分区容错性与高可用性

本章我们讨论有关Kafka集群的容错性与高可用性话题在Kafka中,复制的单元是分区,每一个主题中都有一个或者多个分区,每个分区都有一个领导者以及若干个追随者。当创建主题之后,需要指定分区及复制因子,常见的复制因子通常是3,即一个领导者,两个追随者。在Kafka集群中,所有的读写操作都会路由到领导者,追随者只会定期从领导者请求获取最新消息,消费者并不会从追随者分区中获取消息,追随者存在的...

2018-11-02 13:52:00 1624

3DES加密算法源码

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。 最早的定义了该算法的标准(ANS X9.52,1998年发布)将其描述为“三重数据加密算法(TDEA)”— 即为ANSI X3.92中定义的数据加密算法(DEA)的三次重复操作— 而完全没有使用术语“3DES”或“DES”。FIPS PUB 46-3(1999)定义了“三重数据加密算法”(TDEA),也使用了术语“Triple DES”和“DES”。该标准中互换的使用“数据加密算法”(DEA)和“DES”的概念,其中以此开始DES的定义: 数据加密标准(DES)应当包括下文中的数据加密算法(DES[4])与三重数据加密算法(TDEA,如ANSI X9.52中所描述的) NIST SP 800-67(2004,2008[5])主要使用术语TDEA,但也提到了“Triple DES(TDEA)”。ISO/IEC 18033-3(2005)使用“TDEA”,但其中提到: TDEA通称Triple DES(数据加密标准)。 没有一个定义了本算法的标准使用术语“3DES”。 3DESughhhg34465345556555678==算法== 3DES使用“密钥包”,其包含3个DES密钥,K1,K2和K3,均为56位(除去奇偶校验位)。加密算法为: 密文 = EK3(DK2(EK1(平文))) 也就是说,使用K1为密钥进行DES加密,再用K2为密钥进行DES“解密”,最后以K3进行DES加密。 而解密则为其反过程: 平文 = DK1(EK2(DK3(密文))) 即以K3解密,以K2“加密”,最后以K1解密。 每次加密操作都只处理64位数据,称为一块。 无论是加密还是解密,中间一步都是前后两步的逆。这种做法提高了使用密钥选项2时的算法强度,并在使用密钥选项3时与DES兼容。 密钥选项[编辑] 标准定义了三种密钥选项: 密钥选项1:三个密钥是独立的。 密钥选项2:K1和K2是独立的,而K3=K1 密钥选项3:三个密钥均相等,即K1=K2=K3 密钥选项1的强度最高,拥有3 x 56 = 168个独立的密钥位。 密钥选项2的安全性稍低,拥有2 x 56 = 112个独立的密钥位。该选项比简单的应用DES两次的强度较高,即使用K1和K2,因为它可以防御中途相遇攻击。 密钥选项3等同与DES,只有56个密钥位。这个选项提供了与DES的兼容性,因为第1和第2次DES操作相互抵消了。该选项不再为国家标准科技协会(NIST)所建议[6],亦不为ISO/IEC 18033-3所支持。

2015-01-21

mail.jar mail.jar

mail.jar

2014-05-11

Java2WSDL和WSDL2Java操作指南.doc

Java2WSDL和WSDL2Java操作指南.doc

2014-05-11

Java使用SOAP获取webservice实例解析.doc

Java使用SOAP获取webservice实例解析.doc

2014-05-11

dom4j-1.6.1

dom4j-1.6.1

2014-05-10

servlet-api

servlet-api

2014-05-10

jsp-api.jar

jsp-api.jar

2014-05-10

C++ Builder 汉诺塔算法动态演示系统

采用C++ Buidler开发环境,C++ 语言,结合线程技术,将经典的汉诺塔算法的执行过程动态的演示出来,对于用户理解汉诺塔算法产生巨大的帮助

2009-03-29

空空如也

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

TA关注的人

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