java的jsr303校验】的更多相关文章

因为是菜鸡,所以就还没有具体了解jsr303具体是什么 JSR是Java Specification Requests的缩写,意思是Java 规范提案.是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求.任何人都可以提交JSR,以向Java平台增添新的API和服务.JSR已成为Java界的一个重要标准. @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true @…
1.在spring MVC 项目中使用JSR303 校验数据合法性,一般情况下使用方法为 (1)在接受数据的实体使用注解标添加校验规则 package com.hzsj.wechatdto; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotBlank; public class MemberApplyDto { @NotBlank(message="注…
SpringBoot第七集:异常处理与整合JSR303校验(2020最新最易懂) 一.SpringBoot全局异常 先讲下什么是全局异常处理器? 全局异常处理器就是把整个系统的异常统一自动处理,程序员可以做到不用写try... catch.SpringBoot内置有默认全局异常处理器. Spring Boot对异常的处理有一套默认的机制,BasicErrorController处理默认异常转发的或这error请求 :当应用中产生异常时,当从浏览器地址栏中访问应用接口时,SpringBoot会获取…
Java自定义注解源码+原理解释(使用Java自定义注解校验bean传入参数合法性) 前言:由于前段时间忙于写接口,在接口中需要做很多的参数校验,本着简洁.高效的原则,便写了这个小工具供自己使用(内容为缩减版,具体业务可自行扩展) 思路:使用Java反射机制,读取实体类属性头部注解,通过get方法获取参数值进行校验,如果为空则进行异常抛出. CheckNull.java 类 package com.seesun2012.common.annotation; import java.lang.an…
知识点:XSD文件是指XML结构定义 ( XML Schemas Definition )文件,是DTD的替代品.可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求XML Schema的优点:  1) XML Schema基于XML,没有专门的语法   2) XML可以象其他XML文件一样解析和处理   3) XML Schema支持一系列的数据类型(int.float.Boolean.date等)   4) XML Schema提供可扩充的数据模型.  …
原文来自:java教程网 题目:身份证校验   身份证校验   如果让你设计个程序,用什么变量保存身份证号码呢?长整数可以吗?不可以!   因为有人的身份证最后一位是"X"   实际上,除了最后一位的X,不会出现其它字母!   身份证号码18位 = 17位 + 校验码   校验码的计算过程:   例如:身份证前17位 = ABCDEFGHIJKLMNOPQ   A~Q 每位数字乘以权值求和(每位数字和它对应的“权”相乘后累加)   17位对应的权值分别是:   7 9 10 5 8 4…
1 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Random; impo…
验证注解 验证的数据类型 说明 空检查 @Null 任意类型 验证注解的元素值是null @NotNull 任意类型 验证注解的元素不是null @NotBlank CharSequence子类型(CharBuffer.String.StringBuffer.StringBuilder) 验证注解的元素值不为空(不为null.去除首尾空格后长度不为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的首尾空格 @NotEmpty CharSequence子类型.…
正则常用校验工具类 import java.util.regex.Pattern; /** * @program: * @description: 校验工具类 * @author: xujingyang * @create: 2019-01-05 16:21 **/ public class ValidatorUtil { /** * 正则表达式:验证用户名 */ public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$&q…
在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数.然后将此 128 位计 16 个字节转换成 16 进制表示即可. 下面是一个可生成字符串或文件MD5校验码的例子,测试过,可当做工具类直接使用,其中最主要的是getMD5String(String s)和getFileMD5String(File file)两个方法,分别用于生成字符串的md5校验值和生成文件的md5校验值…
由于项目中需要使用文件做备份,并且要提供备份文件的下载功能.备份文件体积较大,为确保下载后的文件与原文件一致,需要提供文件完整性校验. 网上有这么多此类文章,其中不少使用到了 org.apache.commons.codec.digest.DigestUtils 包中的方法,但是又自己做了大文件的拆分及获取相应校验码的转换. DigestUtils 包已经提供了为文件流生成校验码的功能,可以直接调用.经测试10几G的文件在30秒内可完成计算. (网上提供的一些自己拆分大文件的示例,文件较小时结果…
1. 参数校验常用注解          注解 验证的数据类型 备注                              Null   任意类型  参数值必须是 Null  NotNull   任意类型  参数值必须不是 Null  NotBlank   只能作用于字符串 字符串不能为 null,而且字符串长度必须大于0,至少包含一个非空字符串  NotEmpty CharSequence Collection Map Array 字符串:字符串长度必须大于0,空字符串(“ ”)可以通过校…
当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过. 该校验的过程: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和. 3.将奇数位总和加上偶数位总和,结果应该可以被10整除. 例如,卡号是:5432123456788881 逆向奇数位为 4 2 2 4 6 8 8 1 和 = 3…
package com.pt.modules.contract.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.regex.Pattern; public class IdcardValida…
package com.huey.dream.utils; import java.io.IOException; import java.io.InputStream; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; im…
空检查 @Null       验证对象是否为null @NotNull    验证对象是否不为null, 无法查检长度为0的字符串 @NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格. @NotEmpty 检查约束元素是否为NULL或者是EMPTY. Booelan检查 @AssertTrue     验证 Boolean 对象是否为 true @AssertFalse    验证 Boolean 对象是否为 false 长度检查 @S…
校验码的出现主要的任务是解决表单的重复提交问题. public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { // 0. 通知浏览器不能缓存图片数据 response.setHeader("expires", "-1"); response.setHeader("cache-control&…
一.前言 在项目中,某些情景下我们需要验证编码是否重复,账号是否重复,身份证号是否重复等... 而像验证这类代码如下: 那么有没有办法可以解决这类似的重复代码量呢? 我们可以通过自定义注解校验的方式去实现,如下 在实体类上面加上自定义的注解 @FieldRepeatValidator(field = "resources", message = "菜单编码重复!") 即可 下面就先来上代码吧~ 二.实现 基本环境: javax.validation.validati…
1.微信验证接口 package com.park.utils.wechatUtil; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servl…
校验qq号码: 1.要求必须是5-15位数字 2.0不能开头 分析: A:键盘录入一个qq号码 B:写一个功能实现校验 C:调用功能,输出结果. 代码实现:public class RegexDemo{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入您的qq号码"); String qq = sc.nextLine(); Syste…
/** * CRC校验算法工具类 */ public class CRCUtil { public static String getCRC(String data) { data = data.replace(" ", ""); int len = data.length(); if (!(len % 2 == 0)) { return "0000"; } int num = len / 2; byte[] para = new byte[nu…
validation中内置的constraints 注解 描述 @AssertFalse 所注解的元素必须是Boolean类型,且值为false @AssertTrue 所注解的元素必须是Boolean类型,且值为true @DecimalMax(value) 验证 number 和 string 对象是否小等于指定的值,小数存在精度 @DecimalMin(Value) 验证number 和 string 对象是否小等于指定的值,小数存在精度 @Email 被注释的元素必须是电子邮箱 @Siz…
关于接口幂等性的概念: 幂等性:同一接口调用多次(使用相同的参数),对系统的影响是相同的. 怎样才是对系统有影响? 有影响--->增删改操作,修改一个用户信息,删除用户与某人的关联关系,生成一个用户订单等: 无影响--->统计在线用户的接口,对系统没有影响,所以不需要满足幂等性: 所以,首先应该确认接口是否对系统有影响,然后再检验接口是否满足幂等性.…
1.  判断功能: 使用了String类的matches方法,如下: public boolean matches(String regex): 2. 判断手机号码的案例: package cn.itcast_02; import java.util.Scanner; /* * 判断功能 * String类的public boolean matches(String regex) * * 需求: * 判断手机号码是否满足要求? * * 分析: * A:键盘录入手机号码 * B:定义手机号码的规则…
1. 校验QQ号码的案例,如下: package cn.itcast_01; import java.util.Scanner; /* * 校验qq号码. * 1:要求必须是5-15位数字 * 2:0不能开头 * * 分析: * A:键盘录入一个QQ号码 * B:写一个功能实现校验 * C:调用功能,输出结果. */ public class RegexDemo { public static void main(String[] args) { // 创建键盘录入对象 Scanner sc =…
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessController的checkPerssiom方法,访问控制器AccessController的栈检查机制又遍历整个 PerssiomCollection来判断具体拥有什么权限一旦发现栈中一个权限不允许的时候抛出异常否则简单的返回,这个过程实际上比我的描述要复杂 得多,这里我只是简单的一句带过,因为这…
Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11月02日 http://www.cnblogs.com/fanshuyao/  附件下载见:http://fanshuyao.iteye.com/blog/2398032 一共有2个文件 RegUtils.java:常用的正则表达式, IdcardUtils.java:身份证校验  RegUtils…
一.为什么要进行参数校验? 当我们在服务端控制器接受前台数据时,肯定首先要对数据进行参数验证,判断参数是否为空?是否为电话号码?是否为邮箱格式?等等. 这里有个问题要注意: 前端代码一般上会对这些数据进行验证,为什么后台还要验证一次呢? 前台验证针对的是系统用户,保证用户的输入没有问题. 后台验证针对的是客户端传输到服务器的这一过程中可能出现的问题导致的数据异常. 二.为什么要使用jsr303参数校验器? 不是用jsr303验证器我们是如何进行参数验证的呢? 首先创建一个参数校验工具类(这里我只…
import java.text.ParseException; import java.text.SimpleDateFormat; /** * 校验8位字符串是否为正确的日期格式 * @author [J.H] * 参考:https://blog.csdn.net/cc_yy_zh/article/details/73181010 */ public class Demo1 { //校验8位字符串是否为正确的日期格式 private static boolean isValidDate(St…
在介绍类型转换和格式化之前,我首先来介绍 <mvc:annotation-driven />. 需要导入的 schema: xmlns:mvc="http://www.springframework.org/schema/mvc" 一.作用: 1.会自动注册 RequestMappingHandlerMapping.RequestMappingHandlerAdapter 以及 ExceptionHandlerExceptionResolver 三个 Bean. 若配置该注…