后端服务-数据验证

1.SpringMVC 3.x 自带校验器 Validatior ()

 import org.springframework.validation.Errors;  
    import org.springframework.validation.ValidationUtils;  
    import org.springframework.validation.Validator;  
       
    public class UserValidator implements Validator {  
       
        public boolean supports(Class<?> clazz) {  
           // TODO Auto-generated method stub  
           return User.class.equals(clazz);  
        }  
       
        public void validate(Object obj, Errors errors) {  
           // TODO Auto-generated method stub  
           ValidationUtils.rejectIfEmpty(errors, "username", null, "Username is empty.");  
           User user = (User) obj;  
           if (null == user.getPassword() || "".equals(user.getPassword()))  
               errors.rejectValue("password", null, "Password is empty.");  
        }  
     }

总结:引入简单,使用springMvc为框架,但是此验证器功能及其弱,要自己实现Validator自己实现校验方法的扩展。

2.JSR 380:Bean Validation 2.0

数据验证方面,采用的实现为Hibernate Validator 6。

总结:单自带校验,代码压缩包就有13.5MB,感觉此还是较重。

3.Apache BVal 

 

注解
Constraint    详细信息
@Null    被注释的元素必须为null
@NotNull    被注释的元素必须不为null
@AssertTrue    被注释的元素必须为true
@AssertFalse    被注释的元素必须为false
@Min(value)    被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)    被注释的元素必须是一个数字,其值必须大于等于指定的最大值
@DecimalMin(value)    被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)    被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Size(max,min)    被注释的元素的大小必须在指定的范围内
@Digits(integer,fraction)    被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past    被注释的元素必须是一个过去的日期
@Future    被注释的元素必须是一个将来的日期
@Pattern(value)    被注释的元素必须符合指定的正则表达式
@Email    被注释的元素必须是邮箱地址
@FutureOrPresent    被注释的元素必须是一个将来(含当前)的日期
@PastOrPresent    被注释的元素必须是一个过去(含当前)的日期
@Negative    被注释的元素必须是负数
@NegativeOrZero    被注释的元素必须是负数或者0
@Positive    被注释的元素必须是正数
@PositiveOrZero    被注释的元素必须是正数或者0
@NotBlank    被注释的元素必须不能是空串或者只含空格的字符串
@NotEmpty    被注释的元素必须不能是空串
 

参考链接:

BeanValidation2.0(JSR 380)的简单使用方法_hjnjmjkj的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网页后端实现登录验证可以使用常见的 Session 或 Token 验证机制。 使用 Session 验证机制,流程如下: 1. 用户在网页前端输入用户名和密码,发送登录请求到后端。 2. 后端服务器接收到登录请求,验证用户名和密码是否正确,如果正确则创建一个 Session,并将 Session ID 返回给前端。 3. 前端将 Session ID 存储在 Cookie 中,并在后续的请求中携带该 Cookie。 4. 后端服务器在接收到请求时,从 Cookie 中获取 Session ID,然后验证该 Session ID 是否有效。 5. 如果 Session ID 有效,则说明用户已登录,可以返回请求的数据。如果 Session ID 无效,则说明用户未登录,需要返回登录页面或者登录失败信息。 使用 Token 验证机制,流程如下: 1. 用户在网页前端输入用户名和密码,发送登录请求到后端。 2. 后端服务器接收到登录请求,验证用户名和密码是否正确,如果正确则创建一个 Token,并将 Token 返回给前端。 3. 前端将 Token 存储在本地存储或者 Cookie 中,并在后续的请求中携带该 Token。 4. 后端服务器在接收到请求时,从请求头或者请求参数中获取 Token,然后验证该 Token 是否有效。 5. 如果 Token 有效,则说明用户已登录,可以返回请求的数据。如果 Token 无效,则说明用户未登录,需要返回登录页面或者登录失败信息。 需要注意的是,在实现登录验证时,需要对用户密码进行加密处理,以增加安全性。同时,为了防止 CSRF 攻击,需要在登录验证中加入 CSRF Token。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值