前言 表单提交是web项目的基础功能,用户点击提交/保存按钮后,即会将提交的数据保存到服务端,使服务端对应的数据发生变更。用户在操作时,可能对一份表单数据在短时间内进行多次重...

前言 表单提交是web项目的基础功能,用户点击提交/保存按钮后,即会将提交的数据保存到服务端,使服务端对应的数据发生变更。用户在操作时,可能对一份表单数据在短时间内进行多次重...
关于RESTful标准服务是否需要方法跨站请求攻击,网上有很多讨论,总结下来核心的关键点在于是否使用了cookie,而就目前而言,REST标准下的服务接口,即便API做到了无...
前言 适配器模式是把一个类的接口变换成客户端所期待的另一中接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。用电器做例子,笔记本电脑的插头一般都是三相的,即...
前言 上个月做了一个根据协议模板签署协议的功能,事先把协议模板(pdf文件)放在当前项目的resource目录下,打成jar运行后,在签署协议时,从classpath下读取模...
前言 javax.validation 是基于JSR-303标准提供的参数校验规范,使用注解方式实现对参数的校验,极其方便。比较常用的参数校验注解有: @Null 被注解的元...
前言 定时调度基本是每个项目都会遇到的业务场景,一般地,都会通过任务调度工具执行定时任务完成,定时任务有两点缺陷,一、定时任务执行频度限制,实际执行的时间可能会晚于理想的设定...
缓存穿透 缓存穿透是指缓存服务器和数据库中都没有符合条件的数据,例如查找id<0的用户,由于该类用户不存在所以缓存中没有对应数据,每次请求进来都会从数据库中进行一次查...
Redis是一个读写性能十分优异的非关系型数据库,常用来做缓存中间件;在实际使用过程中,为了避免由于Redis宕机或故障导致数据丢失,如何进行Redis的持久化是一个...
Redis事务的概念 Redis事务的本质是一系列命令的集合。事务支持一次执行多个命令,一个事务中所有的命令都会被序列化。在事务的执行过程中,会按照顺序串行化执行队列中的命令...
前言 Spring同时支持编程事务策略和声明式事务策略,通常都推荐采用声明式事务策略。使用声明式事务策略的优势十分明显。1.声明式事务能大大降低开发者的代码书写量,通过在类或...
本文以安装Nginx为例介绍Docker容器的创建和运行 1.搜索nginx docker search nginx 2.pull镜像到本地 docker pull ngin...
前言 首先,我们要对代理(Proxy)是什么有一个准确的认识,代理是一种设计模式,通俗的说,就是为目标对象提供一个代理对象,并由代理对象控制对目标对象的引用。其目的有两个:一...
前言 binlog即二进制日志 Binary Log,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日...
二维码是什么 二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code...
在开发过程中,为了调试及后期维护过程快速排错都会记录请求的入参以及返回值,比较常用的方式是借助日志生成器通过硬编码的方式记录日志,代码不够简洁、优雅。因此,可以借助AOP来实...
在调用第三方系统以及服务内调用的场景下,由于网络波动、响应超时等原因会导致接口调用失败,这时就需要进行失败重试,本文基于AOP实现实现一种较简单的接口调用失败重试方案。 自定...
文件上传是Web项目的一个基本功能,一般的,是通过上传文件的后缀名进行格式校验,但是由于文件的后缀是可以手动更改的,后缀名校验不是一种严格有效的文件校验方式。如果想要对上传文...
前言 缓存是web项目不可或缺的一部分,通过缓存能够降低服务器数据库压力,提高服务器的稳定性及响应速度。 spring cache spring cache是spring框架...
前言 在实现业务代码时,根据业务场景会抽象出类似于状态、阶段等枚举类。依据枚举值表示特定阶段,定义枚举值时,一般会定义code和value两个属性,用code表示枚举的标识,...
前言 Jackson 是用来序列化和反序列化 json 的 Java 的开源框架。Spring MVC 的默认 json 解析器便是 Jackson。与其他 Java 的 j...